ChatGLM3-6B 本地与云端部署及 API 调用实战指南
ChatGLM3-6B 是清华智谱开源的中英双语对话模型,支持函数调用与代码解释。本文详细介绍了该模型的本地与云端部署流程,涵盖 AutoDL 镜像使用、手动环境配置、Anaconda 虚拟环境管理及模型文件下载。内容包含 WebUI 启动方法、SSH 隧道配置、插件注册机制以及基于 OpenAI 兼容接口的 API 调用示例。此外,还总结了显存优化、推理加速及常见报错解决方案,帮助开发者快速上手大模型应用开发。

ChatGLM3-6B 是清华智谱开源的中英双语对话模型,支持函数调用与代码解释。本文详细介绍了该模型的本地与云端部署流程,涵盖 AutoDL 镜像使用、手动环境配置、Anaconda 虚拟环境管理及模型文件下载。内容包含 WebUI 启动方法、SSH 隧道配置、插件注册机制以及基于 OpenAI 兼容接口的 API 调用示例。此外,还总结了显存优化、推理加速及常见报错解决方案,帮助开发者快速上手大模型应用开发。

部署一个自己的大模型,是许多技术同学希望尝试但常因成本或环境配置困难而放弃的任务。本文分享 ChatGLM3-6B 的完整部署经验,涵盖本地环境与云服务器(AutoDL)两种方案,并演示如何通过 WebUI 体验及 API 开发 AI 应用。
本次部署使用的是 ChatGLM3-6B,由清华智谱研发并开源的高性能中英双语对话语言模型。该模型基于 GLM(Gated Linear Units with Memory)架构,拥有 60 亿参数量,在对话理解与生成能力上表现卓越。
核心特性:
AutoDL 上的 GPU 实例性价比高,ChatGLM3-6B 需要 13G 以上显存,推荐选择 RTX4090、RTX3090、A5000 等规格。
创建容器实例时,镜像选择'社区镜像',输入 yinghuoai,选择 ChatGLM3 的最新镜像。启动后点击 JupyterLab 即可进入 Web 管理界面。该镜像已预装 Notebook,方便直接启动 WebUI 和 API 服务器。
若需自定义环境,请按以下步骤操作:
source /etc/network_turbo(仅 AutoDL 有效)。git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
conda create -n chatglm3-6b python=3.10.8
source activate chatglm3-6b
uv 锁定版本以避免兼容问题。
pip install uv
uv pip install --resolution=lowest-direct -r requirements.txt
/root/autodl-tmp/chatglm3-6b。主要文件包括 config.json, model.safetensors 系列分片,tokenizer.model 等。basic_demo/cli_demo.py 中的模型路径为下载目录,执行 python basic_demo/cli_demo.py 即可在终端交互。本地部署需确保 Nvidia 显卡显存大于 13G。
cd C:\
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
conda create -n chatglm3-6b python=3.10.8
conda activate chatglm3-6b
codewithgpu 工具下载至 C:\ChatGLM3\THUDM。RuntimeError: 'addmm_impl_cpu_' not implemented for 'Half' 错误,请补充安装 CUDA 包:
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install chardet
python basic_demo/cli_demo.py。ChatGLM 提供基于 Streamlit 的 Web 界面,支持聊天、插件调用及代码解释器。
composite_demo/client.py 中的 MODEL_PATH。ipython kernel install --name chatglm3-6b --user。composite_demo/demo_ci.py 中的 IPYKERNEL 配置。streamlit run composite_demo/main.py。云服务器访问:由于 WebSocket 限制,需通过 SSH 隧道映射端口:
sudo ssh -CNg -L 8501:127.0.0.1:8501 root@连接地址 -p 端口号
浏览器访问 http://localhost:8501。
composite_demo/tool_registry.py 中注册新工具,使用 @register_tool 装饰器。通过 OpenAI 兼容接口,可快速构建自定义 AI 应用。
修改 openai_api_demo/api_server.py 中的 MODEL_PATH 及端口(云服务器建议改为 6006)。启动命令:
python openai_api_demo/api_server.py
安装 SDK:pip install --upgrade openai httpx[socks]。
基础聊天:
from openai import OpenAI
client = OpenAI(api_key='not-need-key', base_url="http://127.0.0.1:6006/v1")
stream = client.chat.completions.create(
messages=[{"role": "system", "content": "你是一名数学老师"}, {"role": "user", "content": "出 10 道计算题"}],
model='chatglm3-6b',
max_tokens=1024,
stream=True
)
for chunk in stream:
print(chunk.choices[0].delta.content, end='')
函数调用:
ChatGLM3-6B 支持 Function Calling,目前响应格式仍沿用 function_call。开发者需定义工具参数,并在收到响应后执行逻辑,再将结果反馈给模型。
timeout 参数或检查网络带宽。max_tokens 和 history 长度,避免超出模型窗口。通过上述步骤,您可以成功搭建并运行 ChatGLM3-6B,将其应用于个人助手、数据分析或垂直领域问答系统中。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online