ChatGLM3-6B云服务器部署教程(保姆级)

首先声明,基础较好的同学可以直接去看ChatGLM的官方,里面写得也很详细:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型

本地环境安装

在上述的ChatGLM-6B官方项目里,提供了requirements.txt文件。将项目克隆到本地,直接命令行:pip install -r requirements.txt 即可,这样环境就安装好了。

我的pytorch包是自己手动安装的,没有通过它的文档自动安装。

建议用conda新建一个虚拟环境来独立管理,防止包的冲突,这是一个好的习惯。

如果你不打算本地跑模型,那本地环境不搭建也是可以的,直接跳过这步!

本地模型下载

方法一:代码直接调用

可以通过如下代码,直接调用 ChatGLM-6B 模型:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
#你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)
#晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:
#1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每#天的相同时间上床,并在同一时间起床......

该方法虽然看似方便,但需要非常好的网络和足够的耐心,建议不要尝试,直接跳到方法二。

方法二:从本地加载模型

我们可以先将模型下载到本地,再通过方法一中的代码调用模型,这样会快很多,方法如下:

下载模型也分为两种方法:

方法1. 从Hugging Face Hub下载完整模型(需科学上网)

ChatGLM3-6B的模型地址:https://huggingface.co/THUDM/chatglm3-6b

可使用Git LFS工具克隆到本地(不一定能成功,需多次尝试)

git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b

或者最简单的就是给它们全部手动下载下来:

我是直接手动下载的,18个文件,大约等个15分钟就好了。

如果这种方法不行,还可以先下载模型实现,再下载模型参数,也就是分两步将完整的模型下载下来(见方法2)。

方法2. 从Hugging Face Hub先下载模型实现,再下载模型参数

使用Git LFS工具下载模型实现:

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm3-6b

再手动下载模型参数文件:ChatGLM-6B模型参数

将下载的模型参数文件替换到本地的chatglm3-6b目录下即可(也就是你下的模型实现)。

最后你本地的chatglm3-6b目录就是完整的模型:

如果你想在本地跑你的模型,那最后的最后,将完整的模型下载下来之后,别忘了修改代码中的路径!

也就是这两个位置,要改成你本地的chatglm3-6b目录所在的路径:

改完后运行这段代码,模型就可以在你的本地跑起来了。

至于后续怎么使用网页版,怎么使用命令行,怎么调用API,去看官方文档去:ChatGLM-6B官方

云服务器部署

除了在本地跑,我们还可以借助AutoDL提供的GPU算力,很便宜,才1块多1h。

GPU的规格选择上,可以参考ChatGLM给出的官方数据:

具体怎么租用不过多阐述,去看AutoDL的官方说明:AutoDL帮助文档

第一步:先租一个合适的容器,配置好环境

打开快捷工具栏的JupyterLab

上传requirements.txt文件(也就是ChatGLM官方github项目里的那个),然后

pip install -r requirements.txt

环境就轻松搞定啦!(这里pytorch我是用的容器自带的,没有通过requirements文档下载)

第二步:上传本地的模型

通过JupyterLab上传只能传单个的文件,不能传文件夹,而且你还看不见文件传的过程,无法判断是否已经上传成功,很不好用。

所以根据AutoDL的官方帮助文档,我最后选择用百度网盘来上传完整的模型,具体怎么上传还是看官方说明:AutoDL帮助文档-上传数据

(注意:非百度网盘会员会上传得非常慢!)

将刚刚下载到本地的模型,上传到AutoDL容器中,最后可以在这个autodl-tmp目录下找到自己上传的东西:

第三步:在容器中加载模型

模型上传到容器中后,和本地一样,我们依旧要先找到chatglm3-6b目录的所在路径:

找到后,在代码里面修改路径,运行,像这样:

直至这一步,模型就算成功部署到容器中啦!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
为了在服务器部署ChatGLM-6B,你可以按照以下步骤进行操作: 1. 首先,你需要在服务器上进行本地化部署。这意味着你需要将ChatGLM-6B代码和模型文件上传到服务器上。你可以使用git clone命令从GitHub上克隆ChatGLM-6B代码,或者直接下载代码并上传到服务器上。 引用提供了git clone https://github.com/THUDM/ChatGLM2-6B命令,你可以使用它来从GitHub上克隆ChatGLM-6B代码。 2. 接下来,你需要下载ChatGLM-6B模型。你可以从提供的链接或者其他途径下载模型文件,并将其放置在服务器上。 3. 一旦你将代码和模型文件上传到服务器上,你就可以开始部署WebUI界面、命令行方式或API调用的方式之一。 如果你想使用WebUI界面进行部署,你可以执行web_demo.py脚本。引用提供了执行web_demo.py的命令 python web_demo.py。 如果你想使用命令行方式进行部署,你可以进入代码目录,并执行相关的命令。 如果你想使用API调用的方式进行部署,你可以根据API文档中提供的说明进行操作。 总之,你可以根据你的需求选择适合你的部署方式,并按照相应的指导进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ChatGLM-webui 清华大语言模型的ui项目.rar](https://download.csdn.net/download/Gefangenes/88152775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ChatGLM2-6B部署及微调](https://blog.csdn.net/rexxa/article/details/131605344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值