克隆源码和模型

  • 源码:指构成 ChatGLM3 的软件框架、功能框架、算法实现等代码部分。
  • 模型:指的是 ChatGLM3 用于生成回答的预训练神经网络模型文件。

源码负责处理输入和输出、维护对话流程、调用模型进行预测等逻辑,而模型是实现自然语言处理能力的核心。

源码安装

模型基础运行代码可以从以下两个平台进行下载:

  • GitHub
1
git clone https://github.com/THUDM/ChatGLM3.git
  • SwanHub
1
git clone https://swanhub.co/ZhipuAI/ChatGLM3.git

模型安装

  1. 先确保 git lfs 命令已经安装,git lfs安装教程
1
2
$ git lfs install
> Git LFS initialized. # 已成功安装 git lfs
  1. 可从以下三个平台下载模型文件
  • Huggingface
1
2
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b.git
  • Modelscope
1
2
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
  • SwanHub
1
2
git lfs install
git clone https://swanhub.co/ZhipuAI/chatglm3-6b.git

检查模型文件完整性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# sha256 checksums for chatglm3-6b
4d5567466e89625dbd10e51c69a02982f233a10108cf232a379defdbb065ae0b pytorch_model-00001-of-00007.bin
4ad41534016ac4a2431fa2d4b08efbe28f963744135ec52b2ea13cc86730fa2a pytorch_model-00002-of-00007.bin
a2be9b17c332a8345e787953d4879caee4747ad4b263f013aa3c4654c94c3d24 pytorch_model-00003-of-00007.bin
b5526891e1b4c8edd2e3688df5156aa107e2140fe7e3f9d0d54f9cbe3b6ee3b5 pytorch_model-00004-of-00007.bin
84bb18a476f74beaf4d941733bd1c475791eba799b228f78d0165de989cb7a40 pytorch_model-00005-of-00007.bin
1181875a2dc30fba968d72d0fc4628b9a60d3866bf680eb14b9822b5b504830f pytorch_model-00006-of-00007.bin
1271b638dc0a88206d1c7a51bcaa862410eb56f3e59fd0068a96e96cb5e3f4f0 pytorch_model-00007-of-00007.bin
e7dc4c393423b76e4373e5157ddc34803a0189ba96b21ddbb40269d31468a6f2 tokenizer.model

# sha256 checksums for chatglm3-6b-32k
39aeddd81596b2d66d657687a7328ebc7f8850e8ea83fa74080da59f7d2f7afc pytorch_model-00001-of-00007.bin
2525475ea2d483ecc15a15ad4e016ee0155e628ac66f15cd54daa6c811193e92 pytorch_model-00002-of-00007.bin
faa1d884168a125af5105c4ee4c59fdac79f847b35a7389e0122a562995d34db pytorch_model-00003-of-00007.bin
66492c02ed13189202c7e46a121e308cf0ebbcf8141ecf3d551141aecfac7120 pytorch_model-00004-of-00007.bin
870bb2bb4a289b8ab37cce88f56e93381ff428063b3d0065994a3dd2e830cb32 pytorch_model-00005-of-00007.bin
a5f39ca17ba89e47e484d3b20d4ff78f4fb9b1b24bd3dfb314eff91ff6e37230 pytorch_model-00006-of-00007.bin
7c8a8f3e881202ac3a9ab2638ce30147f67d4bd799624c24af66406a6ba22db2 pytorch_model-00007-of-00007.bin
e7dc4c393423b76e4373e5157ddc34803a0189ba96b21ddbb40269d31468a6f2 tokenizer.model

# sha256 checksums for chatglm3-6b-base
b6a6388dae55b598efe76c704e7f017bd84e6f6213466b7686a8f8326f78ab05 pytorch_model-00001-of-00007.bin
2f96bef324acb5c3fe06b7a80f84272fe064d0327cbf14eddfae7af0d665a6ac pytorch_model-00002-of-00007.bin
2400101255213250d9df716f778b7d2325f2fa4a8acaedee788338fceee5b27e pytorch_model-00003-of-00007.bin
472567c1b0e448a19171fbb5b3dab5670426d0a5dfdfd2c3a87a60bb1f96037d pytorch_model-00004-of-00007.bin
ef2aea78fa386168958e5ba42ecf09cbb567ed3e77ce2be990d556b84081e2b9 pytorch_model-00005-of-00007.bin
35191adf21a1ab632c2b175fcbb6c27601150026cb1ed5d602938d825954526f pytorch_model-00006-of-00007.bin
b7cdaa9b8ed183284905c49d19bf42360037fdf2f95acb3093039d3c3a459261 pytorch_model-00007-of-00007.bin
e7dc4c393423b76e4373e5157ddc34803a0189ba96b21ddbb40269d31468a6f2 tokenizer.model

安装相关依赖

conda创建虚拟环境

1
2
3
4
5
6
# conda创建对应环境
conda create -n chatglm-6b-310 python=3.10 # python 版本推荐:3.10~3.11
# 激活环境
conda activate chatglm-6b-310
# 需要退出环境时(任务结束时)
conda deactive

安装依赖

1
2
cd ChatGLM3 
pip install -r requirements.txt

GPU的依赖

  1. 安装 cuda:nvcc -V 查看 cuda 版本,如果没有则在cuda-toolkit进行安装。
  2. 安装 pytorch:根据安装的 cuda 版本参照官方文档进行安装。

通过如下命令检查:

1
2
import torch
print(torch.cuda.is_available()) # true 则表示正确安装 cuda 版本的 torch

运行demo

  • 使用本地模型加载并使用命令行回答
1
python basic_demo/cli_demo.py

效果如下:

  • 本地模型加载并使用 web_demo 来问答
1
streamlit run basic_demo/web_demo_streamlit.py

效果如下:

参考文档