当前位置:   article > 正文

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

chatglm3下载

什么是 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. 安装并激活虚拟环境

  1. conda create --name chatglm3 python=3.10
  2. conda activate chatglm3

4. 安装基础依赖

  1. cd ChatGLM3
  2. pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

5. 安装 composite_demo 依赖

  1. cd composite_demo
  2. pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

演示中使用 Code Interpreter 还需要安装 Jupyter 内核:

  1. pip install ipykernel -i https://mirror.sjtu.edu.cn/pypi/web/simple
  2. ipython kernel install --name chatglm3 --user

6. 修改 client.py 里面的配置信息

  1. // 修改 MODEL_PATH , chatglm3-6b 绝对路径
  2. MODEL_PATH = os.environ.get('MODEL_PATH''/Users/xinliang/ai/chatglm3-6b')

7. CPU 部署代码调整

  1. // 如果你没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。使用方法如下(需要大概 32GB 内存)
  2. // 调整 client.py 150 ~ 155 行代码
  3. self.model = (
  4.     AutoModel.from_pretrained(
  5.         MODEL_PATH,
  6.         trust_remote_code=True,
  7.         device_map="auto"
  8.     ).float().eval())

8. 运行

streamlit run main.py

运行成功后浏览器会自动打开上面文章中搭建成功的 web 页面。

推荐阅读

76b14cd38fafa528efcfa218fd2d3bae.jpeg

ef22e2965a9fc29bee66abf4dc4fbbd1.jpeg

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/379482
推荐阅读
相关标签
  

闽ICP备14008679号