计算机网站开发岗位有哪些,广州优化公司推广,wordpress加入视频,网站代理服务器连接失败1. 引言
万众期待的 Meta 第三代 Llama 发布了#xff0c;我想确保你知道如何以最佳方式部署这个最先进的LLM。在本教程中#xff0c;我们将在笔记本上部署该模型#xff0c;并指导大家一步步具体操作步骤。
闲话少说#xff0c;我们直接开始吧#xff01;
2. LLama3
…1. 引言
万众期待的 Meta 第三代 Llama 发布了我想确保你知道如何以最佳方式部署这个最先进的LLM。在本教程中我们将在笔记本上部署该模型并指导大家一步步具体操作步骤。
闲话少说我们直接开始吧
2. LLama3
迄今为止Llama 3 系列包括从 8B 到 70B 参数量的各种型号未来还将推出更多版本。这些模型附带有许可的 Meta Llama 3 许可协议建议大家在接受使用这些模型所需的条款之前仔细阅读。这标志着Llama 模型系列和开源人工智能进入了激动人心的新篇章。
观察上图模型的性能最引人注目的是Llama3-8B 模型在所报告的基准测试中的性能比 Llama2-70B高出 62% 到143%而模型体积却小了 88%关于该模型更多的细节本文不过多阐述接下来我们重点放在笔记本上部署该模型。
3. 准备工作
我们将使用 llama-cpp 库和openai库在个人笔记本上快速运行llama3模型。这将是一个初始测试虽然只有文本界面…但可以 100% 运行。
首先我们来创建我们的虚拟环境如下
cd ~/
python -m venv venv
source ./venv/bin/activate #activate the virtual environment
现在您已经有了一个干净的 Python虚拟环境接着我们将安装 llama-cpp-python 和 OpenAI 库如下
pip install llama-cpp-python
pip install openai可以参考我在MacBOOK上跑通的环境中的其他依赖 4. 下载量化模型
接着我们需要从Hugging Face网站上下载 Llama-3-8B GGUF模型权重注意这里下载的是模型的量化压缩后的权重格式为GGUF如下
官网链接
点击文件和版本选择 Q2_K只有3Gb或Q4_K_M4.9Gb。第一个版本推理精度较低但推理速度较快第二个版本在速度和精度之间取得了很好的平衡。 如果你在国内下载这些模型参数文件速度较慢可以通过中文镜像网站下载链接如下国内镜像站
下载完成后将模型文件放到自己工程目录下model文件夹内即可。
5. 编写client程序
在上面我们安装了OpenAI库是因为我们将使用llama-cpp 内置兼容的 OpenAPI服务器。接着我们需要编写我们的client.py程序该client.py接收我们的文本提示输入并通过API向服务器发送/接收指令然后得到响应。
该客户端client.py很方便因为它与我们所使用的模型完全无关。让我们先导入我们需要的库
# Chat with an intelligent assistant in your terminal
from openai import OpenAI# Point to the local server
client OpenAI(base_urlhttp://localhost:8000/v1, api_keynot-needed)在这里我们调用 OpenAI 库中的构造函数将客户端实例化。接着我们使用第一条信息对历史记录进行格式化Python dict 的第一个条目是系统信息第二个条目是要求模型自我介绍的用户提示如下
history [{role: system, content: You are an intelligent assistant. You always provide well-reasoned answers that are both correct and helpful.},{role: user, content: Hello, introduce yourself to someone opening this program for the first time. Be concise.},
]
print(\033[92;1m)接着我们开始一个 while 循环基本上我们会一直询问用户提示并从 Meta-Llama-3-7B-instruct 模型中生成回复直到我们说quit或者exit。代码实现如下
while True:completion client.chat.completions.create(modellocal-model, messageshistory,temperature0.7,streamTrue,)new_message {role: assistant, content: }for chunk in completion:if chunk.choices[0].delta.content:print(chunk.choices[0].delta.content, end, flushTrue)new_message[content] chunk.choices[0].delta.contenthistory.append(new_message)print(\033[91;1m)userinput input( )if userinput.lower() in [quit, exit]:print(\033[0mBYE BYE!)breakhistory.append({role: user, content: userinput})print(\033[92;1m)
6. 服务器端运行
万事具备接下来我们就来运行下我们基于LLama3的聊天机器人吧首先我们打开一个新的终端窗口中激活venv后运行以下命令
#with CPU only
python -m llama_cpp.server --host 0.0.0.0 --model \./model/Meta-Llama-3-8B-Instruct.Q2_K.gguf \--n_ctx 2048运行后我们将启动与OpenAI 标准兼容的FastAPI 服务器。我们应该得到类似下面的信息
初次启动需要一些时间。当服务器准备就绪后Uvicorn 会以漂亮的绿色信息INFO通知显示在终端如下
当看到上述绿色的INFO信息后就说明我们的服务器端已成功初始化完成完成了相应的准备工作。
7. 客户端运行
接着我们同样需要新开一个终端激活我们的虚拟环境venv, 接着运行以下代码
python ./client.py以下是我的运行界面 现在我们的聊天机器人已准备就绪。想问什么就问什么尽情享受吧。
比如我问他如何减肥他就会给我一些建议如下 上图中红色为我的输入绿色为模型的答复Awesome
8. 总结
总之Meta 的Llama3 LLM 系列在前几代产品的基础上进行了显著改进并提供了多种配置。本文重点介绍了如何在自己的笔记本上运行CPU版本的LLama3模型并给出了具体的示例
您学废了嘛
注关注公众号《AI算法之道》后台回复 llama3即可获取源码。