当前位置: 首页 > news >正文

普通电脑上安装属于自己的Llama 3 大模型和对话客户端

#大模型下载地址:#

Llama3

因为Hugging Face官网正常无法访问,因此推荐国内镜像进行下载:

官网地址:https://huggingface.co

国内镜像:https://hf-mirror.com

GGUF 模型文件名称接受,如上述列表中,有Meta-Llama-3-8B-Instruct.Q4_K_M.gguf和Meta-Llama-3-8B-Instruct.Q5_K_M.gguf等:

Instruct代表本模型是对基线模型进行了微调,用于更好地理解和生成遵循指令(instruction-following)的文本,以提供符合要求的响应

Q4/Q5 等代表模型权重的量化位数(其中Q是Quantization的缩小,即量化),是一种模型压缩技术,用于减少模型大小,同时降低对计算资源的需求(特别是内存),但又尽量保持模型的性能;数字4或5则代表量化精度的位数(Q4 是 4 位,Q5 是 5 位等),精度越高模型体积和内存使用也会越大,但仍然远小于未量化的基线模型

K_M/K_S代表含义笔者还未明确,K可能是Knowledge的缩写;M应该是Medium缩写(即中等模型),S应该是Small缩小(即小模型);若有明确的朋友,还望不吝告知,共同进步!

若个人电脑配置不是特别好,我们可以选择Q2_K版本(大小 3.2GB),它相较于Q4_K_M版本(大小 4.9GB),Q2版本的推理精度较低,但速度较快,而Q4版本在速度和精度之间均取得了很好的平衡,因此首选推荐Q4_K_M版本。

# 打开两个CMD终端:
# cd D:\pythonProject
# .\venv\Scripts\activate#终端一
 python -m llama_cpp.server --host 0.0.0.0 --model models\\Publisher\\Repository\\Meta-Llama-3-8B-Instruct.Q2_K.gguf
#终端二
python Llama3-ChatAPI.py

Llama3-ChatAPI.py代码:

from openai import OpenAI# 注意服务端端口,因为是本地,所以不需要api_key
client = OpenAI(base_url="http://localhost:8000/v1",api_key="not-needed")# 对话历史:设定系统角色是一个只能助理,同时提交“自我介绍”问题
history = [{"role": "system", "content": "你是一个智能助理,你的回答总是正确的、有用的和内容非常精简."},{"role": "user", "content": "请用中文进行自我介绍,要求不能超过5句话,总字数不超过100个字。"},
]
print("\033[92;1m")# 首次自我介绍完毕,接下来是等代码我们的提示
while True:completion = client.chat.completions.create(model="local-model",messages=history,temperature=0.7,stream=True,)new_message = {"role": "assistant", "content": ""}for chunk in completion:if chunk.choices[0].delta.content:print(chunk.choices[0].delta.content, end="", flush=True)new_message["content"] += chunk.choices[0].delta.contenthistory.append(new_message)print("\033[91;1m")userinput = input("> ")if userinput.lower() in ["bye", "quit", "exit"]: # 我们输入bye/quit/exit等均退出客户端print("\033[0mBYE BYE!")breakhistory.append({"role": "user", "content": userinput})print("\033[92;1m")

启动成功,恭喜你,你已经迈入 Llama 大模型大厦的大门了,后面存在无限可能,就看我们的创意了!

http://www.lryc.cn/news/484417.html

相关文章:

  • 微信小程序原生 canvas画布截取视频帧保存为图片并进行裁剪
  • 社交网络图中结点的“重要性”计算
  • 前端(1)——快速入门HTML
  • gitlab角色、权限
  • Python办公——批量eml文件提取附件
  • Spring Boot 中 Druid 连接池与多数据源切换的方法
  • JavaScrip中私有方法的创建
  • .Net Core根据文件名称自动注入服务
  • APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中
  • 第 3 章 -GO语言 基本语法
  • 【qt】控件
  • 入侵检测算法平台部署LiteAIServer视频智能分析平台行人入侵检测算法:科技守护安全的新篇章
  • 【AiPPT-注册/登录安全分析报告-无验证方式导致安全隐患】
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • STM32中断系统
  • window的Anaconda Powershell Prompt 里使用linux 命令
  • Lisp 语言入门教程(一)
  • Git - Think in Git
  • jmeter常用配置元件介绍总结之用linux服务器压测
  • VL210-Q4 适用于USB延长线 扩展坞
  • 怎么样绑定域名到AWS(亚马逊云)服务器
  • Clickhouse集群新建用户、授权以及remote权限问题
  • OPENCV 检测直线[opencv--3]
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三.2:avpacket中包含多个 NALU如何解析头部分析
  • 【MATLAB】目标检测初探
  • SpringCloud 微服务消息队列灰度方案 (RocketMQ 4.x)
  • 厘清标准差和标准误:因果推断的统计学基础
  • GESP4级考试语法知识(贪心算法(二))
  • MATLAB 使用教程 —— 命令窗口输入命令,工作区显示变量
  • LeetCode 热题100(八)【二叉树】(3)