langchain-chatglm浅尝
子车轻罗 2023/6/15
# 运行环境
# 环境要求
# 首先,确定你的机器安装了 Python 3.8 及以上版本
$ python --version
Python 3.8.13
1
2
3
2
3
建议在linux上运行,windows会出现比较多的错误,本次在windows的ubuntu wsl子系统运行。
需要注意,WSL子系统版本需要是2。
在CMD执行命令查看WSL子系统版本,如果不是2或为空则为1需要升级
>wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
1
2
3
4
2
3
4
升级请参考WSL文档。
# 显卡环境
参考大模型N卡环境配置 (opens new window)安装显卡驱动、CUDA Toolkit 、cuDNN
# 安装pytorch
python参考pytorch安装 (opens new window)
# 项目运行
# ChatGLM
只需要需要下载模型实现和参数 (opens new window),详细见chatGLM (opens new window)。
# langchain-ChatGLM
拉取仓库
$ git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git
# 进入目录
$ cd langchain-ChatGLM
# 项目中 pdf 加载由先前的 detectron2 替换为使用 paddleocr,如果之前有安装过 detectron2 需要先完成卸载避免引发 tools 冲突
$ pip uninstall detectron2
# 检查paddleocr依赖,linux环境下paddleocr依赖libX11,libXext
$ yum install libX11 libXext -y
#以上包在ubuntu上替换为
sudo apt-get install libxext6 libX11-dev -y
# 安装依赖
$ pip install -r requirements.txt
$ apt-get install ffmpeg libsm6 libxext6 -y
# 验证paddleocr是否成功,首次运行会下载约18M模型到~/.paddleocr
$ python loader/image_loader.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 配置修改
vim configs/model_config.py
# embedding模型使用了text2vec,建议提前下载到本地
# embedding_model_dict里面对应的text2vec的值就可以改为绝对路径地址
embedding_model_dict = {
"text2vec": "/data/rd/llm/huggingface.co/text2vec-large-chinese",
}
EMBEDDING_MODEL = "text2vec" # 指定embedding模型
# llm配置也是同样思路,将模型实现下载到本地,llm_model_dict里面对应的模型地址改为绝对路径
LLM_MODEL = "chatglm2-6b" 如chatglm2-6b
# 文本分句长度按需修改,100大概是50多个汉字,50-75个单词
# 尽量每句话不要太长
SENTENCE_SIZE = 100
# 热度我设置了800,按需测试,我这调小了没什么高质量回答
# VECTOR_SEARCH_SCORE_THRESHOLD = 800
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 启动项目
可以参考docs下的StartOption.md
python webui.py --model chatglm2-6b --no-remote-model
# 错误处理
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
1
解决方法:
sudo apt-get install ffmpeg libsm6 libxext6 -y
1
错误:nvidia-smi 无法找到gpu
解决方法:
dpkg list |grep nvidia-utils
apt-get remove nvidia-utils*
1
2
2