本项目不需要高端N卡,仅运行语言模型api,适用性广泛,只不过纯cpu跑有点慢,Intel 12100f每秒大概3 tokens。用的方式是api,与openai api的格式兼容。还需要准确前端能够支持openai的项目,可用从这里看相关适用项目:
oneapi.zsanjin.de的使用方法以及使用场景介绍(sanjin-api说明文档)
运行设备用Linux或者win10以上的系统,以及python环境3.8
可以先从python.org上下载你使用的系统可用最新的python。
下载ChatGLM-6B量化模型:https://www.modelscope.cn/models/tiansz/chatglm3-6b-ggml/files下载:chatglm3-ggml.bin
下载chatglm_cpp离线包,https://github.com/li-plus/chatglm.cpp/releases/tag/v0.3.0选择你的系统,并且选择python环境38的,比如Windows的python38适用的chatglm_cpp:chatglm_cpp-0.3.0-cp38-cp38-win_amd64.whl
1、建立python38虚拟环境
按你习惯的路径下运行终端命令建立python38虚拟环境:
pip install virtualenv
virtualenv chat6b
现在生成了一个文件夹,即chat6b目录就是你的工作环境,将之前下载好的chatglm3-ggml.bin文件放到这个目录下面
另外退出环境:
deactivate
如果你用的是Anaconda建立虚拟环境,每次进入终端都会带(base)默认环境,可以使用以下命令关闭自动激活base环境:
conda config --set auto_activate_base false
2、激活进入虚拟环境
cmd命令:
cd chat6b
Scripts\activate.bat
Linux命令:
cd chat6b
source chat6b/bin/activate
命令行窗口的提示符前面出现了一个括号,括号内显示(chat6b)。这意味着你已经激活了虚拟环境。虚拟环境对于系统操作没有任何影响,而且能避免各个项目环境冲突问题。它只针对Python的运行环境有效。当你激活了虚拟环境后,无论你在任何目录下进行Python相关的操作,你调用的都是虚拟环境内的Python和pip运行库管理工具。
3、安装所需要的运行库
把之前下的chatglm_cpp-0.3.0-cp38-cp38-win_amd64.whl放进chat6b目录下,在chat6b目录下的已激活的虚拟环境中使用python命令:
pip install chatglm_cpp-0.3.0-cp38-cp38-win_amd64.whl
pip install 'chatglm-cpp[api]'
4、测试运行
设置模型,启动api并在指定端口上运行,我这里用8101端口,在激活的虚拟环境下:
set MODEL=chatglm3-ggml.bin
uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8101
显示类似“[32mINFO[0m: Uvicorn running on [1mhttp://0.0.0.0:8101[0m (Press CTRL+C to quit)”即说明正常启动了
你可以在前端运用这个api,后端窗口查看响应
5、windows上使用批处理文件快速启动:
名为chatapi.bat,放在chat6b文件目录下,内容:
set MODEL=%~dp0chatglm3-ggml.bin
call %~dp0/Scripts/activate.bat
cd %~dp0
uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8101
Linux配置systemd服务,用户user那里我用www用户,测试中你可以用root用户:
nano /etc/systemd/system/chatapi.service
修改下面配置然后复制进去:
[Unit]
Description=Chat API service
After=network.target
[Service]
Type=simple
User=www#改为你的用户名,比如root
WorkingDirectory=/path/to/chat6b#改为你的工作目录
Environment=MODEL=/path/to/chat6b/chatglm3-ggml.bin#改为你的工作目录
ExecStart=/path/to/chat6b/bin/uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8101#改为你的工作目录
Restart=on-failure
[Install]
WantedBy=multi-user.target
重载服务文件、开机启动和启动这个服务
sudo systemctl daemon-reload
sudo systemctl enable chatapi
sudo systemctl start chatapi
你可以使用以下命令来检查服务的状态和日志:
sudo systemctl status chatapi
sudo journalctl -u chatapi
现在就可以在本地电脑使用api服务👍,建议搭配oneapi使用,但是此模型也只能娱乐,本站提供openai官方的api中转,支持gpt4🎉欢迎合作🤝:oneapi.zsanjin.de的使用方法以及使用场景介绍(sanjin-api说明文档)
Comments NOTHING