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

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

什么是 ChatGLM3?

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

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

本地搭建效果


147e221db100a50a5bae89626886e239.png


db8a8ab5272165626c6212f9f3d5f369.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

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

db8a8ab5272165626c6212f9f3d5f369.png


fcab1f653648d9a274b5763007010fb4.png

2. ChatGLM3-6B 模型下载

f7cba2838af2d6ddaad5320cc263e333.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 页面。

目录
相关文章
|
1天前
|
人工智能 Python
ImBD:复旦联合华南理工推出 AI 内容检测模型,快速辨别文本内容是否为 AI 生成
ImBD是一款由复旦大学、华南理工大学等机构联合推出的AI内容检测器,能够快速识别机器修订文本,适用于多种场景,显著提升检测性能。
24 8
ImBD:复旦联合华南理工推出 AI 内容检测模型,快速辨别文本内容是否为 AI 生成
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
45 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
16天前
|
人工智能
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
AniDoc 是一款基于视频扩散模型的 2D 动画上色 AI 模型,能够自动将草图序列转换为彩色动画。该模型通过对应匹配技术和背景增强策略,实现了色彩和风格的准确传递,适用于动画制作、游戏开发和数字艺术创作等多个领域。
84 16
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
|
26天前
|
人工智能 安全 测试技术
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
EXAONE 3.5 是 LG AI 研究院推出的开源 AI 模型,擅长长文本处理,能够有效降低模型幻觉问题。该模型提供 24 亿、78 亿和 320 亿参数的三个版本,支持多步推理和检索增强生成技术,适用于多种应用场景。
76 9
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
|
28天前
|
机器学习/深度学习 人工智能
SNOOPI:创新 AI 文本到图像生成框架,提升单步扩散模型的效率和性能
SNOOPI是一个创新的AI文本到图像生成框架,通过增强单步扩散模型的指导,显著提升模型性能和控制力。该框架包括PG-SB和NASA两种技术,分别用于增强训练稳定性和整合负面提示。SNOOPI在多个评估指标上超越基线模型,尤其在HPSv2得分达到31.08,成为单步扩散模型的新标杆。
67 10
SNOOPI:创新 AI 文本到图像生成框架,提升单步扩散模型的效率和性能
|
28天前
|
人工智能 搜索推荐 开发者
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
Aurora是xAI为Grok AI助手推出的新图像生成模型,专注于生成高逼真度的图像,特别是在人物和风景图像方面。该模型支持文本到图像的生成,并能处理包括公共人物和版权形象在内的多种图像生成请求。Aurora的可用性因用户等级而异,免费用户每天能生成三张图像,而Premium用户则可享受无限制访问。
65 11
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
|
1月前
|
人工智能 编解码 网络架构
GenCast:谷歌DeepMind推出的AI气象预测模型
GenCast是由谷歌DeepMind推出的革命性AI气象预测模型,基于扩散模型技术,提供长达15天的全球天气预报。该模型在97.2%的预测任务中超越了全球顶尖的中期天气预报系统ENS,尤其在极端天气事件的预测上表现突出。GenCast能在8分钟内生成预报,显著提高预测效率,并且已经开源,包括代码和模型权重,支持更广泛的天气预报社区和研究。
171 14
GenCast:谷歌DeepMind推出的AI气象预测模型
|
1月前
|
机器学习/深度学习 人工智能 编解码
【AI系统】Transformer 模型小型化
本文介绍了几种轻量级的 Transformer 模型,旨在解决传统 Transformer 参数庞大、计算资源消耗大的问题。主要包括 **MobileVit** 和 **MobileFormer** 系列,以及 **EfficientFormer**。MobileVit 通过结合 CNN 和 Transformer 的优势,实现了轻量级视觉模型,特别适合移动设备。MobileFormer 则通过并行结构融合了 MobileNet 和 Transformer,增强了模型的局部和全局表达能力。
61 8
【AI系统】Transformer 模型小型化
|
29天前
|
存储 人工智能 PyTorch
【AI系统】模型转换流程
本文详细介绍了AI模型在不同框架间的转换方法,包括直接转换和规范式转换两种方式。直接转换涉及从源框架直接生成目标框架的模型文件,而规范式转换则通过一个中间标准格式(如ONNX)作为桥梁,实现模型的跨框架迁移。文中还提供了具体的转换流程和技术细节,以及模型转换工具的概览,帮助用户解决训练环境与部署环境不匹配的问题。
45 5
【AI系统】模型转换流程
|
1月前
|
机器学习/深度学习 存储 人工智能
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型
EfficientTAM是Meta AI推出的轻量级视频对象分割和跟踪模型,旨在解决SAM 2模型在移动设备上部署时的高计算复杂度问题。该模型采用非层次化Vision Transformer(ViT)作为图像编码器,并引入高效记忆模块,以降低计算复杂度,同时保持高质量的分割结果。EfficientTAM在多个视频分割基准测试中表现出与SAM 2相当的性能,具有更快的处理速度和更少的参数,特别适用于移动设备上的视频对象分割应用。
52 9
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型