【ChatGLM】手把手教你云服务器部署ChatGLM聊天网站,不限次数调用。

一,演示

私人部署地址:http://ilovechatgpt.cn

免费使用!无限调用!速度还蛮快呢。

二,ChatGLM介绍

官方地址:https://github.com/THUDM/ChatGLM-6B

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,由基于清华大学 KEG 实验室智谱 AI 于 2023 年联合训练,可以针对用户的问题和要求提供适当的答复和支持。

它基于 General Language Model 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(具体的部署条件看下章)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

特点:

  1. 开源
  2. 支持中文(国内很少有支持中文的开源模型)
  3. 低成本部署(兼容CPU)
  4. 具有记忆功能

三,部署条件

经过测试,推荐还是GPU部署,CPU运行的话运行时占用的资源更多,并且速度实在太慢了,自己单独使用的话也不能忍受这么慢的速度。GPU的生成速度才能满足使用的体验。

e0a6e2845fe0427fb7f23f07ca125813.png

内存不够启动项目的话,进程会被自动kill掉。而且模型启动后占用的现存是远远低于需要的现存的,比如说,我用GPU部署的无量化的ChatGLM2-6B模型,正常来说需要13GB显存,但我完全启动后,只占用了4GB。

image-20230725161343821

四,手把手教你搭建

1. 安装git
# centos 操作系统
yum install git
# ubuntu 操作系统
apt-get update
apt install git
2. 克隆地址到本地
git clone https://github.com/THUDM/ChatGLM-6B
# 进入项目文件夹
cd ChatGLM-6B 

实在很慢的话,直接去gitee上面搜ChatGLM-6B,找最新的,有很多人把它搬到gitee作为镜像项目。

3. 进入项目,克隆模型文件

模型文件的作用是作为训练集,项目能够本地加载该模型文件并将其用于预测新的自然语言文本。模型文件决定我们能有怎么样的输出结果。

image-20230725212413417

可以根据上面部署条件的需求,来选择项目。我这里以 chatglm2-6b 来部署。

# 注意!后面一定要加上.git。
git clone https://huggingface.co/THUDM/chatglm2-6b.git

路径下就会有ChatGLM2-6B的文件夹,我们进入到里面

cd chatglm2-6b

你会发现模型很大,但是一下子就clone完了,是因为大文件是存储到lfs上面的,需要我们用到git的lfs工具来进行下载。当然,你也可以手动下载后,然后拷贝到服务器上,不过太麻烦,不推荐。

4. git lfs工具安装(已安装的话跳过)

centos安装命令

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
 
sudo yum install git-lfs
 
git lfs install

ubuntu安装命令

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

sudo apt-get install git-lfs

git lfs install
5. 克隆模型大文件
git lfs pull 

模型文件都很大,下载时间很久,我建议在晚上的时候,使用如下命令,这样睡一觉,全部都已经下载好了。

# nohup 让程序后台运行,使其不受终端会话的影响而持续运行
nohup git lfs pull &
6. 运行web_demo.py

我建议把模型文件夹名字换成model,毕竟容易理解

# 进入到项目文件夹内部
cd ChatGLM-6B
# 改模型名字
mv chatglm2-6b model

修改官方样例代码

vim web_demo.py
  1. model为模型路径,也就是刚刚改的。

  2. .cuda() 意味用GPU运行,如果没有GPU,换成 .float() 用CPU运行就可以

image-20230725222236225

  1. server_name参数指定能够访问的ip,默认不写的话是只能本地127.0.0.1访问
  2. server_port参数指定web服务端口
  3. share代表是否让huggingface给你生成一个公网地址,别人能通过该公网地址直接访问。默认只能使用72小时。

image-20230725222403292

7. 结果

image-20230725224202624

五,补充

还可以通过命令行窗口交互,运行python cli_demo.py文件

nohup python cli_demo.py &

通过模型生成post接口,供其余后台应用直接调用

nohup python api.py &

image-20230725224108768

image-20230725224330109
欢迎关注我的公众号!😊

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
当然,我可以帮助你部署ChatGPT模型。以下是一步一步的指南: 步骤1:准备环境 首先,你需要一个Python环境来运行模型。确保你已经安装了Python 3.6或更高版本。 步骤2:安装依赖项 在命令行中打开一个新的终端窗口,并使用以下命令安装所需的依赖项: ``` pip install transformers flask ``` 步骤3:下载并解压模型 从CSDN下载chatglm2-6b模型的权重文件,并将其解压缩到你选择的目录中。 步骤4:创建Flask应用程序 在你选择的目录中创建一个名为app.py的Python文件,并使用以下代码创建一个基本的Flask应用程序: ```python from flask import Flask, request, jsonify from transformers import GPT2LMHeadModel, GPT2Tokenizer app = Flask(__name__) model_path = "path/to/your/model" tokenizer = GPT2Tokenizer.from_pretrained(model_path) model = GPT2LMHeadModel.from_pretrained(model_path) @app.route("/chat", methods=["POST"]) def chat(): data = request.json input_text = data["input_text"] input_ids = tokenizer.encode(input_text, return_tensors="pt") output = model.generate(input_ids, max_length=100) response = tokenizer.decode(output[0], skip_special_tokens=True) return jsonify({"response": response}) if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` 步骤5:运行应用程序 在终端窗口中,导航到包含app.py文件的目录,并运行以下命令来启动应用程序: ``` python app.py ``` 步骤6:测试应用程序 使用HTTP客户端(如Postman或cURL)向http://localhost:5000/chat发送POST请求,并在请求正文中包含以下JSON数据: ```json { "input_text": "你想说的话" } ``` 你将收到一个包含ChatGPT模型生成的响应的JSON响应。 这就是部署chatglm2-6b模型的基本步骤。你可以根据需要进行修改和扩展。希望这可以帮助到你!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小梁说代码

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值