ChatGLM3
清华智谱三代开源大模型,支持32K上下文、工具调用、代码解释器与多模态理解,docker-compo
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
清华智谱三代开源大模型,支持32K上下文、工具调用、代码解释器与多模态理解,docker-compo
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:ChatGLM3 项目 Logo
2023年10月,清华大学知识工程实验室联合智谱AI正式发布了ChatGLM3系列模型,这是继ChatGLM、ChatGLM2之后该系列的第三代产品。相比前两代,ChatGLM3不仅仅是参数量的提升,更在架构层面实现了质的飞跃——引入了全新的GLM-4基座,支持32K超长上下文窗口原生支持多模态理解(GLM-4V)和工具调用(Function Call)。
智谱AI是国内最早布局大模型的创业公司之一,其GLM系列模型在中文NLP领域一直占据重要地位。ChatGLM3-6B以约60亿参数的中等规模,在多项评测中展现出可以媲美更大规模模型的能力,成为中小团队和研究机构部署本地大模型的首选方案之一。
ChatGLM3基于自研的GLM-4(General Language Model)架构,核心改进包括:
ChatGLM3引入了视觉理解能力,通过连接视觉编码器实现图像内容理解。用户可以上传图片并询问相关内容,如识别图表、描述图像场景、基于图片进行推理等。
这是ChatGLM3最具差异化的能力。项目实现了完整的Agent框架,包含两大核心功能:
Function Call(工具调用):模型可以识别用户意图并自动调用外部工具(如天气查询、数据库检索、API调用等),实现了大模型与现实系统的高度集成。
Code Interpreter(代码解释器):模型内置Python代码执行环境,可以接收用户上传的文件(JSON、CSV、图片等),自动编写并执行Python代码完成数据分析任务。
项目提供了多种推理入口,核心代码基于Hugging Face Transformers实现:
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True).cuda()
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
支持三种前端部署方式:
项目实现了与OpenAI API完全兼容的接口,包括Chat Completions和Embeddings两个核心端点,部署后可直接替换应用中调用的OpenAI URL,无需修改业务代码:
# 部署后调用方式
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8100/v1", api_key="EMPTY")
response = client.chat.completions.create(model="chatglm3-6b", messages=[...])
Embedding功能使用智谱自研的bge-large-zh-v1.5模型,支持中文文档的向量化存储与检索。
项目提供了与LangChain框架的深度集成,通过ChatGLM3作为LCEL(LangChain Expression Language)的核心组件,可以快速构建RAG(检索增强生成)和Agent工作流,降低了大模型应用开发的门槛。
项目提供了完整的微调工具链,支持:
ChatGLM3-6B的显存需求因精度不同而差异显著:
| 精度 | 显存需求 | 适用场景 |
|---|---|---|
| FP16 | ~13GB | 生产环境,推荐使用 |
| INT8 | ~8GB | 中等配置GPU |
| INT4 | ~6GB | 消费级显卡(如RTX 3060) |
CPU推理也可行,但速度较慢,需要约32GB内存。
最简单的方式是使用openai_api_demo/下的docker-compose.yml:
cd openai_api_demo
# 设置本地模型路径(下载模型到本地)
export LOCAL_MODEL_PATH=/path/to/chatglm3-6b
export LOCAL_EMBEDDING_MODEL_PATH=/path/to/bge-large-zh-v1.5
# 一键启动
docker-compose up -d
compose配置了NVIDIA GPU直通和PyTorch环境自动安装,启动后API服务监听在8100端口。
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
# 安装依赖(建议使用conda或venv创建独立环境)
pip install -r requirements.txt
# 运行 Gradio Web UI
cd basic_demo
streamlit run web_demo_streamlit.py --server.port 8501
值得注意的是,项目还提供了Intel设备部署方案(Intel_device_demo/),包含IPEX-LLM CPU推理和OpenVINO加速两种方案,为没有NVIDIA GPU的用户提供了备选路径,体现了项目在国产化硬件适配方面的布局。
在MMLU、CEval、GSM8K等主流评测集上,ChatGLM3-6B的性能已经接近甚至超过GPT-3.5-turbo的水平。但在复杂推理和长文本处理方面,与GPT-4仍有差距。
在中文场景下的独特优势:
虽然6B参数相对较小,但13GB的FP16显存需求意味着不是所有用户都能本地部署。即使用户购买了游戏显卡,也可能因为CUDA版本、PyTorch版本等环境问题折腾半天。
ChatGLM3内置了安全过滤机制,但早期版本中用户发现可以通过特定prompt绕过安全限制。官方在后续版本中持续加强了安全策略。
虽然代码和权重开源,但训练数据、训练脚本和超参数细节并未公开。这在商业化使用时会带来合规性风险——Apache-2.0许可虽然允许商业使用,但模型输出的内容归属和责任认定仍需关注。
ChatGLM3的开源对国内AI生态产生了深远影响:
生态建设标杆:项目不仅开源了模型,还提供了从推理、微调到部署的完整工具链,降低了整个行业的开发成本。langchain_demo和openai_api_demo的代码质量都相当高,可直接用于生产环境。

图2:ChatGLM3 工具调用与代码解释器能力展示
推动API平权:通过OpenAI兼容API的实现,开发者可以零成本将现有应用从OpenAI迁移到本地部署的ChatGLM3,在保证数据隐私的同时节省API调用费用。
Agent能力示范:Code Interpreter和Function Call的完整实现,为国内开源社区探索了大模型Agent化的可行路径,后续多个项目(如InternLM、Qwen)都借鉴了这一设计。
展望:随着模型蒸馏和量化技术的进一步发展,ChatGLM3系列有望在更小的硬件 footprint 下实现更强的能力。同时,ChatGLM3-32B、ChatGLM4等更大规模模型的持续开源,将进一步缩小与闭源大模型的差距。

图3:项目维护团队 THUDM(清华大学-智谱联合团队)GitHub 组织头像
项目速览:ChatGLM3-6B 是清华大学智谱AI推出的第三代开源双语对话大模型,Apache-2.0 许可,GitHub 13,666★。核心优势:32K超长上下文 + GLM-4V多模态 + Function Call + Code Interpreter,支持 docker-compose 一键部署 OpenAI 兼容 API,推荐配置 RTX 4090/A10G 等 13GB+ 显存 GPU。