对于这个项目来说,因为考虑到数据不能出公司,所以不能用OPENAI的模型和接口,选择开源的大模型成了首要的问题,可根据显卡等配置的具体情况,选择不同参数的模型,笔者测试了llama2的13B模型,感觉不错,但是FASTCHAT不支持4Bite量化,所以改成了阿里的通义千问7B,也可以更好的理解中文。
1,去huggingface下载相关模型,模型地址:huggingface.co/Qwen/Qwen-7… ,并保存到本地。
2,conda新建虚拟环境
$conda create -n fastchat python=3.11
系统运行后,选择y安装相关的包依赖。 提示成功创建fastchat环境内后,运行命令,
$conda activate fastchat
激活虚拟坏境
3,安装FASTCHAT 命令为
pip3 install fschat[model_worker,webui]
4,在fastchat环境下,运行命令
python3 -m fastchat.serve.controller` #启动控制器
重新激活一个fastchat环境,运行命令
python3 -m fastchat.serve.model_worker --load-8bit --model-name 模型名称--model-path /模型本地位置/ #启动模型服务
(如果显存大,可不用8bit启动,模型推理效果更好) 重新激活一个fastchat环境,运行命令
python3 -m fastchat.serve.openai_api_server --host 0.0.0.0 --port 8000 #开启对外API服务,端口是8000
注意:以上3个命令要开启3个命令窗口,激活3遍虚拟环境,要保持3个窗口同时运行。
5,检查
最后可以通过
curl http://localhost:8000/v1/models
检查API接口是否可用,如有返回值,说明接口可用。
这个项目代码我已经开源到GitHub上了,可以点这个链接,直接下载整个项目代码: github.com/davidhandso…
以上,大模型的本地加载和提供API接口已经完成了,接下来就是embedding 数据库了,请看RAG项目第二集:知识图谱embeddings向量数据库。