什么是 ChatGLM3?
ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。
ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,较前两代模型对话流畅、部署门槛也低。
本地搭建效果
简单描述下本地电脑的配置:
系统:macOS 11.4
处理器:3.2 GHz 六核Intel Core i7
内存:32G
说实话,我本地运行有点吃力,大家可以考虑在一些算力平台上部署玩玩。
搭建步骤
1. ChatGLM3 下载
代码仓库:https://github.com/THUDM/ChatGLM3
git clone https://github.com/THUDM/ChatGLM3
这个项目中没有包含模型,只有一些简单的自带聊天功能和相关接口示例,你需要下载所需的模型。
2. ChatGLM3-6B 模型下载
完整的模型实现可以在 Hugging Face Hub。如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败。
此时可以先将模型下载到本地,然后从本地加载。
从 Hugging Face Hub 下载模型需要先安装 Git LFS,然后运行
git clone https://huggingface.co/THUDM/chatglm-6b
如果你从 Hugging Face Hub 上下载 checkpoint 的速度较慢,可以只下载模型实现
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b
然后从 https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/ 手动下载模型参数文件,并将下载的文件替换到本地的 chatglm-6b 目录下。
将模型下载到本地之后,将以上代码中的 THUDM/chatglm-6b 替换为你本地的 chatglm-6b 文件夹的路径,即可从本地加载模型。
3. 安装并激活虚拟环境
conda create --name chatglm3 python=3.10 conda activate chatglm3
4. 安装基础依赖
cd ChatGLM3 pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
5. 安装 composite_demo 依赖
cd composite_demo pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
演示中使用 Code Interpreter 还需要安装 Jupyter 内核:
pip install ipykernel -i https://mirror.sjtu.edu.cn/pypi/web/simple ipython kernel install --name chatglm3 --user
6. 修改 client.py 里面的配置信息
// 修改 MODEL_PATH , chatglm3-6b 绝对路径 MODEL_PATH = os.environ.get('MODEL_PATH', '/Users/xinliang/ai/chatglm3-6b')
7. CPU 部署代码调整
// 如果你没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。使用方法如下(需要大概 32GB 内存) // 调整 client.py 150 ~ 155 行代码 self.model = ( AutoModel.from_pretrained( MODEL_PATH, trust_remote_code=True, device_map="auto" ).float().eval())
8. 运行
streamlit run main.py
运行成功后浏览器会自动打开上面文章中搭建成功的 web 页面。