阅读本文章需要一定的python知识以及docker知识,才能对本文章的步骤进行实践
本项目基于Langchain-chatchat项目,项目地址
不依赖cuda,不需要显卡,因为不加载本地LLM模型,不加载知识库,只是作为线上语言模型API的汇聚调用页面
部署的前置条件
1.本机已经安装有docker
2.需要有线上大模型的API,本文中使用的是chatgpt api 以及glm4 api。
3.Python 版本严格要求3.11.x,这样能减少大量的环境代码问题。
4.访问gpt 的问题以及gpt api如果获取的问题自行解决
操作开始
首先,我们需要在docker拉取官方的python 11.3的容器
docker pull python:11.3
然后下载项目文件
git clone --recursive https://github.com/chatchat-space/Langchain-Chatchat.git
运行python 的docker 容器
docker run -itd --name chatlite -v /etc/localtime:/etc/localtime:ro -p 18501:8501 python:3.11
部署上的坑,在configs下的所有文件,全部都要转成.py文件,要不然项目无法启动
在项目根目录下运行命令,即可生成*_config.py的文件,这是下载项目后需要做的第一件事情,我相信你们Windows 主机中是有Python 的,Python的版本记得是3.11
python copy_config_example.py
如果没有python,有另外一个简单的办法,就是把configs文件夹下的文件的".example"后缀全部去掉即可。
然后我们修改项目目录下的configs/model_config.py这一配置文件,请无视截图中的.example这个后缀。
需要修改的字段有“LLM_MODELS
”,“LLM_DEVICE
”,“openai-api
”,“zhipu-api
”
需要修改的内容如下图所示,因为我们只使用线上的LLM模型,所以在LLM_MODELS
这个字段里把线下的大模型给删除了,这样程序在加载模型的时候就不会加载本地模型了,只有不加载本地LLM模型,就不会有对GPU的计算需求,LLM_DEVICE
这个字段改成“CPU” 目的是让模型加载方式是用CPU加载。
配置文件修改完成后我们把项目复制进容器(容器ID 运行 docker ps 命令获取)
docker cp ./Langchain-Chatchat-master 容器ID:/home
然后我们进入容器
docker exec -it 容器ID /bin/bash
进入容器后,进入项目目录,然后还原依赖,先还原 requirements_lite.txt 这个依赖
cd /home/Langchain-Chatchat-master && pip install -r requirements_lite.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
在还原requirements_webui.txt 这个依赖
pip install -r requirements_webui.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
启动最小模式(只运行线上LLM API的方式) ,并且一定得在项目的根目录下,才能运行该命令
python startup.py -a --lite
正常情况下,第一次启动还是会遇到依赖包没有还原的完整的情况,这个可能与项目代码更新过有关,我在第一次运行时,会遇见以下python包的报错,各位在部署的时候为了保险起见,在运行项目前再运行以下命令安装个别依赖
pip install websockets && pip install cachetools && pip install strsimpy
以下时我启动时遇到的python包报错的情况
启动成功后使用浏览器访问
启动成功后命令行的状态如下
http://IP:18501 即可访问,网站能正常访问的页面如下,LLM模型处会出现zhipu-api(running)的状态
在使用本博文部署的过程中有什么疑问可以在评论区留言,我看到了就会在评论区回复你