跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

ChatGLM3-6B 本地与云端部署及 API 调用实战指南

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

MqEngine发布于 2025/2/6更新于 2026/6/1123 浏览
ChatGLM3-6B 本地与云端部署及 API 调用实战指南

ChatGLM3-6B 部署与运用实战

部署一个自己的大模型,是许多技术同学希望尝试但常因成本或环境配置困难而放弃的任务。本文分享 ChatGLM3-6B 的完整部署经验,涵盖本地环境与云服务器(AutoDL)两种方案,并演示如何通过 WebUI 体验及 API 开发 AI 应用。

1. 模型简介

本次部署使用的是 ChatGLM3-6B,由清华智谱研发并开源的高性能中英双语对话语言模型。该模型基于 GLM(Gated Linear Units with Memory)架构,拥有 60 亿参数量,在对话理解与生成能力上表现卓越。

核心特性:

  • 跨语言对话:支持流畅的中英文人机互动。
  • 函数调用:具备代码解释执行及特定任务调用的能力。
  • 微调与量化:支持领域定制化微调,且可通过量化降低精度要求,适配消费级显卡甚至 CPU。

2. 云环境部署 (以 AutoDL 为例)

AutoDL 上的 GPU 实例性价比高,ChatGLM3-6B 需要 13G 以上显存,推荐选择 RTX4090、RTX3090、A5000 等规格。

2.1 使用现有镜像

创建容器实例时,镜像选择'社区镜像',输入 yinghuoai,选择 ChatGLM3 的最新镜像。启动后点击 JupyterLab 即可进入 Web 管理界面。该镜像已预装 Notebook,方便直接启动 WebUI 和 API 服务器。

2.2 手动安装步骤

若需自定义环境,请按以下步骤操作:

  1. 选择基础镜像:Miniconda -> conda3 -> Python 3.10(ubuntu22.04) -> Cuda11.8。
  2. 设置网络加速:在终端执行 source /etc/network_turbo(仅 AutoDL 有效)。
  3. 克隆代码:
    git clone https://github.com/THUDM/ChatGLM3
    cd ChatGLM3
    
  4. 创建虚拟环境:
    conda create -n chatglm3-6b python=3.10.8 
    source activate chatglm3-6b
    
  5. 安装依赖:推荐使用 uv 锁定版本以避免兼容问题。
    pip install uv
    uv pip install --resolution=lowest-direct -r requirements.txt
    
  6. 下载模型文件:从 AutoDL 模型库或第三方分享源下载至 /root/autodl-tmp/chatglm3-6b。主要文件包括 config.json, model.safetensors 系列分片,tokenizer.model 等。
  7. 测试运行:修改 basic_demo/cli_demo.py 中的模型路径为下载目录,执行 python basic_demo/cli_demo.py 即可在终端交互。

3. 本地环境安装 (Windows)

本地部署需确保 Nvidia 显卡显存大于 13G。

  1. 安装 Anaconda:作为 Python 集成环境,通过 Navigator 打开 Terminal。
  2. 克隆代码:
     C:\
    git  https://github.com/THUDM/ChatGLM3
     ChatGLM3
    
cd
clone
cd
  • 创建环境:
    conda create -n chatglm3-6b python=3.10.8 
    conda activate chatglm3-6b
    
  • 下载模型:建议直接从 HuggingFace 镜像站下载,或使用 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。
  • 4. 使用 WebUI 体验

    ChatGLM 提供基于 Streamlit 的 Web 界面,支持聊天、插件调用及代码解释器。

    4.1 启动服务

    1. 修改 composite_demo/client.py 中的 MODEL_PATH。
    2. 安装 Jupyter 内核:ipython kernel install --name chatglm3-6b --user。
    3. 修改 composite_demo/demo_ci.py 中的 IPYKERNEL 配置。
    4. 启动命令:streamlit run composite_demo/main.py。

    云服务器访问:由于 WebSocket 限制,需通过 SSH 隧道映射端口:

    sudo ssh -CNg -L 8501:127.0.0.1:8501 root@连接地址 -p 端口号
    

    浏览器访问 http://localhost:8501。

    4.2 功能说明

    • Chat:基础对话模式。
    • Tool:展示插件调用过程。开发者可在 composite_demo/tool_registry.py 中注册新工具,使用 @register_tool 装饰器。
    • Code Interpreter:自动执行 Python 代码块,支持错误修正与重试机制。

    5. 使用 API 开发应用

    通过 OpenAI 兼容接口,可快速构建自定义 AI 应用。

    5.1 启动 API 服务

    修改 openai_api_demo/api_server.py 中的 MODEL_PATH 及端口(云服务器建议改为 6006)。启动命令:

    python openai_api_demo/api_server.py
    

    5.2 调用示例

    安装 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。开发者需定义工具参数,并在收到响应后执行逻辑,再将结果反馈给模型。

    6. 常见问题与优化

    • 显存不足:建议使用 4bit 或 8bit 量化版本,可显著降低显存占用。
    • 推理速度慢:开启 Flash Attention 或更换更高效的后端如 vLLM。
    • API 超时:增加 timeout 参数或检查网络带宽。
    • 上下文丢失:注意控制 max_tokens 和 history 长度,避免超出模型窗口。

    通过上述步骤,您可以成功搭建并运行 ChatGLM3-6B,将其应用于个人助手、数据分析或垂直领域问答系统中。

    目录

    1. ChatGLM3-6B 部署与运用实战
    2. 1. 模型简介
    3. 2. 云环境部署 (以 AutoDL 为例)
    4. 2.1 使用现有镜像
    5. 2.2 手动安装步骤
    6. 3. 本地环境安装 (Windows)
    7. 4. 使用 WebUI 体验
    8. 4.1 启动服务
    9. 4.2 功能说明
    10. 5. 使用 API 开发应用
    11. 5.1 启动 API 服务
    12. 5.2 调用示例
    13. 6. 常见问题与优化
    • 💰 8折买阿里云服务器限时8折了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 🤖 一键搭建Deepseek满血版了解详情
    • 一键打造专属AI 智能体了解详情
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 字典与哈希:高效索引与去重
    • Python Transformers 库使用指南
    • Buzz 离线语音转文字工具:Whisper 模型集成与使用指南
    • WebMCP:Chrome 新 API 特性与 Agentic Web 前瞻
    • 利用 AI 视觉模型优化 Unity 编辑器插件:从功能实现到界面美化
    • FPGA 开发工具对比:Vivado、Quartus、ModelSim 功能与场景
    • Flask 工厂模式与蓝图设计:构建可扩展大型应用架构
    • Python 在 CentOS 系统上的安装与配置深度指南
    • NewStarCTF2025 Week2 Web 题目解析
    • 网络安全基础与黑客技术入门知识详解
    • 10 分钟搭建专属 AI Agent 全流程实操指南
    • 基于 Spring Cloud 的分布式智能推荐系统实现
    • Vue3 中模板调用方法提示不存在的排查与修复
    • Python、NumPy、Pandas 与 Matplotlib 版本兼容指南
    • 自组织映射网络(SOM)原理与可视化实现
    • Windows 系统安装 Neo4j 图数据库指南
    • 2025 年第十六届蓝桥杯省赛 JavaB 组真题详解
    • 香山 RISC-V 处理器 FPGA 原型构建实战指南与核心技术
    • Whisper 语音识别库启用 CUDA 加速配置指南
    • SVPWM 过调制算法原理及 Matlab 仿真

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online