ChatGLM3本地部署(下)
上篇内容为创建虚拟环境、pytorch安装和pycharm连接ssh服务器——山东大学软件学院项目实训-创新实训-时空漫游(四)
1. ChatGLM3环境安装
首先需要下载GhatGLM3的仓库
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
然后使用 pip 安装依赖:
pip install -r requirements.txt
2. 模型文件下载
Model | Seq Length | Download |
---|---|---|
ChatGLM3-6B | 8k | HuggingFace | ModelScpe | WiseModel | OpenXLab |
ChatGLM3-6B-Base | 8k | HuggingFace | ModelScope | WiseModel | OpenXLabl |
ChatGLM3-6B-32K | 32k | HuggingFace | ModelScope | WiseModel | OpenXLab |
ChatGLM3-6B-128K | 128k | HuggingFace | ModelScope| OpenXLab |
你可以在hugginface上进行下载,但是模型权重文件太大,这个过程取决于你的网速。
起初我是想从huggingface上下载好所有模型文件后,再上传至ssh服务器,但下载过程实在是一言难尽。。。
后来我在官方给的WiseModel连接中找到了安装办法:始智AI-wisemodel-中国AI开源创新社区
在服务器上下载好模型权重后,按照官方提供的代码运行。结果发现报错。
>> > from transformers import AutoTokenizer, AutoModel
>> > tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
>> > model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')
>> > model = model.eval()
>> > response, history = model.chat(tokenizer, "你好", history=[])
>> > print(response)
你好👋!我是人工智能助手
ChatGLM3 - 6
B, 很高兴见到你, 欢迎问我任何问题。
>> > response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>> > print(response)
晚上睡不着可能会让你感到焦虑或不舒服, 但以下是一些可以帮助你入睡的方法:
1.制定规律的睡眠时间表: 保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯, 使你更容易入睡。尽量在每天的相同时间上床, 并在同一时间起床。
2.创造一个舒适的睡眠环境: 确保睡眠环境舒适, 安静, 黑暗且温度适宜。可以使用舒适的床上用品, 并保持房间通风。
3.放松身心: 在睡前做些放松的活动, 例如泡个热水澡, 听些轻柔的音乐, 阅读一些有趣的书籍等, 有助于缓解紧张和焦虑, 使你更容易入睡。
4.避免饮用含有咖啡因的饮料: 咖啡因是一种刺激性物质, 会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料, 例如咖啡, 茶和可乐。
5.避免在床上做与睡眠无关的事情: 在床上做些与睡眠无关的事情, 例如看电影, 玩游戏或工作等, 可能会干扰你的睡眠。
6.尝试呼吸技巧: 深呼吸是一种放松技巧, 可以帮助你缓解紧张和焦虑, 使你更容易入睡。试着慢慢吸气, 保持几秒钟, 然后缓慢呼气。
如果这些方法无法帮助你入睡, 你可以考虑咨询医生或睡眠专家, 寻求进一步的建议。
报错信息如下
随后查阅了几篇博客后才知道,模型权重并没有完全下载下来。
如果没有完全下载下来,需要按照下面方式解决。
#Mac 安装git lfs
brew install git-lfs
#开启1fs功能
git lfs install
# 正常clone
git clone XXXXX
如果报错git: ‘lfs‘ is not a git command ubuntu,则需安装 git-lfs,命令如下
sudo apt-get install git-lfs
随后再次安装模型权重,发现安装成功。运行结果如下。
至此,ChatGLM3已部署完成。接下来你可以根据文件列表中的这些demo文件夹,结合官网教程,探索ChatGLM3的各种功能,如微调功能、网页版对话demo功能、api调用等。