GLM-4 在线体验及部署经验

本文主要介绍使用virtualenv库生成venv,进而部署/运行GLM-4-9B-Chat开源双语对话语言模型的方法。

1. 在线体验

本文代码已部署到百度飞桨AI Studio平台,以供大家在线体验。

项目链接:GLM-4 在线体验

注意:GLM-4-9B-Chat (fp16)显存占用大于18GB。

2. 环境部署

python版本:3.10.10
virtualenv环境部署代码如下:

git clone https://github.com/THUDM/GLM-4.git

cd GLM-4

pip install -U virtualenv

python -m virtualenv venv

source venv/bin/activate

pip install --upgrade pip

pip install torch torchvision transformers huggingface-hub sentencepiece pydantic timm tiktoken accelerate sentence_transformers peft gradio

实测仅安装 torch torchvision transformers huggingface-hub sentencepiece pydantic timm tiktoken accelerate sentence_transformers peft gradio 这些库就可以运行Gradio交互式界面进行对话。

如果有其他需求,可以根据 requirements.txt 文件安装其他依赖库。

requirements.txt 文件内容:

# use vllm
# vllm>=0.4.3

torch>=2.3.0
torchvision>=0.18.0
transformers==4.40.0
huggingface-hub>=0.23.1
sentencepiece>=0.2.0
pydantic>=2.7.1
timm>=0.9.16
tiktoken>=0.7.0
accelerate>=0.30.1
sentence_transformers>=2.7.0

# web demo
gradio>=4.33.0

# openai demo
openai>=1.31.1
einops>=0.7.0
sse-starlette>=2.1.0

# INT4
bitsandbytes>=0.43.1

# PEFT model, not need if you don't use PEFT finetune model.
# peft>=0.11.0

3. 模型下载

原始链接:https://huggingface.co/THUDM/glm-4-9b-chat

镜像链接:https://hf-mirror.com/THUDM/glm-4-9b-chat

这里采用wget下载模型文件(共23个文件,约18GB)。

下载代码:

mkdir glm-4-9b-chat

cd glm-4-9b-chat

wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/.gitattributes
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/LICENSE
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/README.md
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/README_en.md
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/config.json
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/configuration.json
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/configuration_chatglm.py
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/generation_config.json
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00001-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00002-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00003-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00004-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00005-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00006-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00007-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00008-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00009-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model-00010-of-00010.safetensors
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/model.safetensors.index.json
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/modeling_chatglm.py
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/tokenization_chatglm.py
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/tokenizer.model
wget https://hf-mirror.com/THUDM/glm-4-9b-chat/resolve/main/tokenizer_config.json

模型清单(通过 du -ah 获取):

1.9G    ./model-00006-of-00010.safetensors
2.5K    ./configuration_chatglm.py
1.8G    ./model-00007-of-00010.safetensors
512     ./generation_config.json
1.8G    ./model-00004-of-00010.safetensors
1.9G    ./model-00003-of-00010.safetensors
1.5K    ./config.json
1.9G    ./model-00001-of-00010.safetensors
1.6G    ./model-00010-of-00010.safetensors
52K     ./modeling_chatglm.py
6.5K    ./LICENSE
1.7G    ./model-00002-of-00010.safetensors
1.5K    ./.gitattributes
8.0K    ./README_en.md
2.6M    ./tokenizer.model
29K     ./model.safetensors.index.json
7.5K    ./README.md
16K     ./tokenization_chatglm.py
3.5K    ./tokenizer_config.json
1.7G    ./model-00008-of-00010.safetensors
1.7G    ./model-00005-of-00010.safetensors
1.9G    ./model-00009-of-00010.safetensors
512     ./configuration.json
18G     .

4. 运行

GLM-4的运行很简单,激活虚拟环境后运行 basic_demo/trans_web_demo.py 文件即可(可以通过定义MODEL_PATH环境变量从自定义路径加载模型)。

cd GLM-4
 
source venv/bin/activate

# export MODEL_PATH=自定义模型路径
 
python basic_demo/trans_web_demo.py
好的!以下是关于如何基于GLM-4大型语言模型为个人AI助理系统设计和开发应用程序的详细介绍: --- ### 基于GLM-4开发个人AI助理系统的步骤 #### 1. **明确需求** 首先需要明确你的个人AI助理的具体功能需求。例如: - 是否支持自然语言对话交互? - 是否需要集成特定领域的知识库(如医疗、法律等)? - 是否提供任务管理、日程安排等功能? 明确目标有助于后续的设计和开发工作。 #### 2. **选择技术栈** GLM-4作为强大的预训练模型,可以为你提供核心的语言处理能力。除此之外,还需要考虑其他技术支持,比如: - 框架:可以选择Python生态中的Flask/Django用于搭建后端服务。 - 数据存储:如果涉及用户数据保存,可以用SQLite/MongoDB等数据库。 - 前端界面:若需图形化界面,可以使用React/Vue.js或其他前端框架。 #### 3. **接入GLM-4 API** 如果你计划直接通过API调用GLM-4的功能,则需要注册并获取官方提供的访问密钥,并按照文档说明编写相应的接口代码。示例伪代码如下: ```python import requests def query_glm(prompt): url = "https://api.glm.com/v1/chat" # 示例URL,请替换为实际地址 headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"} data = { "model": "glm-4", "messages": [{"role": "user", "content": prompt}] } response = requests.post(url, json=data, headers=headers) return response.json()["choices"][0]["message"]["content"] result = query_glm("你好") print(result) # 输出结果 ``` #### 4. **构建个性化功能模块** 根据需求,在基础对话功能之上添加自定义特性,例如: - 日历整合:允许用户查询日期或设置提醒事项; - 文件助手:帮助整理文件夹内容或将文本提取到指定位置; - 学习工具:利用GLM的知识生成学习卡片或总结文章要点。 #### 5. **测试与优化** 完成初步开发之后进入调试阶段,重点检查以下几个方面: - 对话流畅度是否满足预期; - 特定场景下的错误率以及响应速度; - 用户隐私保护措施的有效性。 #### 6. **部署上线** 最终将应用发布至云端服务器或者本地环境供日常使用。推荐方案包括AWS Lambda函数计算平台、阿里云ECS实例等等。 --- ### 注意事项 - 确保遵守相关法律法规及GLM-4的服务条款; - 尽量减少不必要的网络请求以降低运行成本; - 关注用户体验反馈以便持续改进产品性能。 希望以上信息对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值