阿里云部署Langchain-Chatchat
Langchain-Chatchat项目介绍
基于ChatGLM等大语言模型与Langchain等应用框架,所实现的开源、可离线部署的RAG项目
github链接
项目中默认使用大语言模型是 THUDM/ChatGLM3-6B ,Embedding模型是 BAAI/bge-large-zh
- 中文开源大语言模型chatglm
- bge将文本映射为嵌入向量,以用于检索、分类、聚类或语义匹配等任务
部署需求
本次的项目实训需要借助RAG技术对外部知识进行索引,但是考虑到调用大模型api的成本,贫穷的学生只能选择体验阿里云的三个月免费云服务器,并在服务器上对预训练的开源模型进行本地部署。
服务器使用人工智能平台PAI下的交互式建模DSW
以下为云平台的申请步骤,不需要的可以跳过。
点击免费试用
在DSW下方点击立即试用(由于我已经申请了,所以显示的是已试用)
点击新建实例,根据提示选择需要的配置即可。由于我们要部署大模型,所以资源配额选项需要选择GPU规格。注意镜像版本的选择,不要选取下拉条太靠后的版本,我选择的是:
dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.13.3-pytorch2.1.2tensorflow2.14.0-gpu-py310-cu121-ubuntu22.04
创建成功后在最右方操作栏点击启动,等待启动成功后点击打开,即可使用。
最终界面如下:
LangChain-ChatChat部署过程
1. 环境部署
- 检查python环境
Python3.8 - 3.11即可(项目文档中推荐使用 Python3.11)
python --version
- 创建虚拟环境
在阿里云中直接部署即可,如果是在自己的电脑上,创建一个虚拟环境防止冲突
conda create --name chatchat python=3.11
- 在环境内安装项目的依赖
# 拉取仓库
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入目录
cd Langchain-Chatchat
# 安装全部依赖
pip install -r requirements.txt
pip install -r requirements_api.txt
pip install -r requirements_webui.txt
2. 模型下载
- 创建一个目录来统一存放所有模型
Langchain-Chatchat/model - 模型的几种下载来源
- HuggingFcae:在网站上找到模型,利用huggingface-cli命令下载,但是国内无法通过正常手段连接。可以利用镜像网站提供的方式下载,但由于我下载无数次都因为网络连接超时而失败,于是采用下面的方法。
Hugging Face 是一个流行的自然语言处理 (NLP) 模型库和社区,提供了大量预训练模型、工具和资源,使得 NLP 的开发者和研究人员能够快速高效地构建和应用各种文本相关应用。Hugging Face 相当于 AI 领域的 GitHub,里面的模型都是开源免费的,非常适合 AI 开发者使用
- 魔搭社区:魔搭是国内的AI平台,提供开源的模型和算力。搜索到模型后,点击模型文件,点击下载模型,复制命令用git clone下载即可。需要注意,同一个模型可能不止有官方上传,下载前注意一下是否是自己需要的。
在本次项目中,我使用的是ChatGLM3-6和bge-large-zh-v1.5。
- 重点!!!修改模型参数的配置文件
- 将
configs/model_config.py.example
文件中MODEL_PATH
下,embed_model
下bge-large-zh-v1.5
的value修改为模型所在的绝对路径/mnt/workspace/Langchain-Chatchat/model/bge-large-zh-v1.5
llm_model
下,chatglm3-6b
的value修改为模型所在的绝对路径/mnt/workspace/Langchain-Chatchat/model/chatglm3-6b
- 将
3. 初始化知识库和配置文件
回到项目根目录
python copy_config_example.py2
python init_database.py --recreate-vs
4. 启动
python startup.py -a
项目后端运行在阿里云的服务器上,成功运行后会提供web界面的本地地址,点击跳转,可以在自己的浏览器中查看。