写在前面
本人也只是一个计算机小白,写这篇文章的目的主要是记录自己折腾的过程。若是这篇文章能帮助到其他人部署的话我会非常开心。
关于ChatGLM-6B
ChatGLM-6B是一个基于GLM-130B模型的人工智能助手,通过GLM模型对语言进行处理,从而生成相应的回复。项目的主要特点是智能化回复和语言理解能力,能够对用户提出的问题和输入的文本内容进行理解和回答,可以理解为本地部署版的,资料更少的ChatGPT。
关于显卡
首先,确定一下我们是什么显卡。AMD显卡很难使用,我没有AMD显卡,所以我也不知道要如何使用AMD显卡进行部署。即使是NVIDIA显卡,如果显存小于6G也是不能使用的。
下载源码
确定能使用后,我们需要下载ChatGLM的源码,在github上有开源项目。将其下载到我们所需要的一个地方,把这个地方记为chatglm的根目录。GitHub上的chatglm的链接为https://github.com/THUDM/ChatGLM-6B
下载模型
在hugging face下下载chatglm的模型。我们可以在chatglm-6b项目的Files and versions,下载里面的所有文件,并在根目录新建一个名为“model”的文件夹。hugging face上的chatglm模型连接为
https://huggingface.co/THUDM/chatglm-6b
修改文件
将所有所需的文件下载好之后,我们需要做一个很重要的事情——修改模型加载路径。找到根目录中的web_demo.py。
使用记事本编辑(最好使用其他的文本编辑器,如vscode,用记事本可能会出现不可预知的错误。我使用的是python自带的编辑器)将model=……中的
“THUDUM/chatglm-6b”
全部替换为
“.\\model”。
如果你的显卡显存小于16G,那么需要在
.half().cuda()
之前加上.quantize(4),如图所示,保存。
依赖工具的下载
之后给我们的电脑下载VS stdio的构建工具。之后选择使用C++桌面开发,安装即可。VS BuildTools下载地址为
https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
随后下载虚拟环境anaconda,之后打开anaconda,创建一个新的虚拟环境,之后在虚拟环境中,先使用d:命令,跳转到d盘,再cd (路径)到根目录的路径。先利用
pip install -r reqiirements.txt
安装所需依赖。anaconda的下载连接为https://www.anaconda.com/download/#macos
顺便一提,为什么需要使用anaconda:anaconda是一个虚拟环境的软件,很多项目的各种依赖的版本是不一样的。比如有的项目需要python3.10以上,有的需要3.8以下。不同版本依赖如果直接装在计算机中就很容易打架。因此需要由anaconda创造一个小的虚拟环境来对不同项目进行版本隔离。
在命令提示符里安装各种依赖
进入到这个黑框之后,如果你的chatglm项目解压在d盘,那么首先使用 d: 这个命令来转到d盘,再cd到指定目录。比如我这里是安装在D:\ChatCLM-6B-main 路径里。
首先输入这个命令: pip install -r requirements.txt来安装chatglm所需依赖。
随后输入 nvidia-smi 来确认我们当前的cuda版本是什么。anaconda会内置cuda,检查cuda的版本是多少。
从图中可以看出,我的cuda版本是12.0,一般10系以上的显卡的cuda都是12.0
之后去pytorch官网下载对应cuda版本的pytorch
https://pytorch.org/get-started/locally/
由于我们的cuda是12.0版本的,因此我们选择最接近12.0的版本11.8。将这个pip命令复制到黑框中,按下enter。之后会问你是否继续,输入y再按下enter后继续。
尝试启动
之后我们可以尝试第一次启动chatglm了。输入
python web_demo.py
启动。
如果一切顺利的话,出现running on local URL:http://127.0.0.1:7860,此时chatglm就可以使用了。将这串网址复制进浏览器中就可以使用了。
常见报错
如果出现ModuleNotFoundError: No module named "xxx",此时直接pip install xxx即可
如果出现AssertionError: Torch not compiled with CUDA enabled 这个报错,那么说明我们没有安装对应版本的pytorch。使用conda uninstall pytorch卸载过后重新在刚刚的pytorch界面找到对应版本的安装即可。
API服务
如果要使用chatglm的api服务,首先需要安装支持api服务的依赖。使用这个命令来安装fastapi。
pip install fastapi uvicorn
之后再到根目录里对api.py修改一些参数,
最后直接在cmd里cd到根目录,输入python api.py就可以使用了。
enjoy it!