尝试一下,在本地使用 ChatGLM3 模型搭建离线 AI 聊天系统

什么是 ChatGLM3?

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。

ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,较前两代模型对话流畅、部署门槛也低。

本地搭建效果

e781c16bbe126fddafe3961ed7972474.png

5475aeb887d7a05f5346df8f071a66bc.png

a4cfd4b46d94e1627c6b8e44c5635e36.png

简单描述下本地电脑的配置:

系统:macOS 11.4

处理器:3.2 GHz 六核Intel Core i7

内存:32G

说实话,我本地运行有点吃力,大家可以考虑在一些算力平台上部署玩玩。

搭建步骤

1. ChatGLM3 下载

代码仓库:https://github.com/THUDM/ChatGLM3

git clone https://github.com/THUDM/ChatGLM3

这个项目中没有包含模型,只有一些简单的自带聊天功能和相关接口示例,你需要下载所需的模型。

b53ef431da6224dd83c6c811977cdcc3.png

21d8474bfcf38fd7e8f89f301e794756.png

2. ChatGLM3-6B 模型下载

e5de5c3e2ef685c80ba1fcfcc6c29d48.png

完整的模型实现可以在 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 页面。

推荐阅读

76b14cd38fafa528efcfa218fd2d3bae.jpeg

ef22e2965a9fc29bee66abf4dc4fbbd1.jpeg

加我微信,可以领取一份优质 AI 知识库资料。

持续分享 AI、大模型领域项目,个人 GitHub 9K+ Star,欢迎关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值