智谱 AI 是中国领先的 AI 公司,其 GLM(General Language Model)系列模型在中文理解和生成方面表现出色。ChatGLM 是国内最早的开源对话模型之一,GLM-4 系列已成为国产大模型的重要力量。
智谱 AI 成立于 2019 年,源自清华大学自然语言处理实验室(THUNLP)的技术积累。与 OpenAI 的 GPT 架构不同,GLM 系列采用**自回归填空(Autoregressive Blank Infilling)**的独特架构,结合了 BERT 的双向编码能力和 GPT 的单向生成能力。
| 特性 |
GLM |
GPT |
BERT |
| 训练目标 |
Autoregressive Blank Infilling |
Next Token Prediction |
Masked Language Model |
| 注意力机制 |
双向 + 自回归混合 |
仅自回归(因果掩码) |
仅双向 |
| 生成能力 |
✅ 原生支持 |
✅ 原生支持 |
❌ 需额外模块 |
| 理解能力 |
✅ 强 |
⚠️ 中等 |
✅ 强 |
| 代表性模型 |
GLM-4, ChatGLM |
GPT-4, GPT-4o |
BERT-base, RoBERTa |
GLM 的创新之处在于:在预训练阶段,模型会随机掩码输入序列中任意连续片段(Span),然后按自回归方式逐个预测被掩码的 token。这种方式让模型既学会了理解上下文(类似 BERT),又具备了生成能力(类似 GPT)。
| 时间 |
里程碑 |
说明 |
| 2021年 |
GLM-10B 发布 |
首次提出 GLM 架构,10B 参数 |
| 2022年 |
GLM-130B 发布 |
千亿级双语模型,性能接近 GPT-3 |
| 2023年3月 |
ChatGLM-6B 开源 |
首个开源中文对话模型,引爆社区 |
| 2023年6月 |
ChatGLM2-6B 发布 |
性能大幅提升,支持 32K 上下文 |
| 2023年10月 |
ChatGLM3-6B 发布 |
增强工具调用和 Agent 能力 |
| 2024年1月 |
GLM-4 发布 |
全面对标 GPT-4,128K 上下文 |
| 2024年6月 |
GLM-4-9B 开源 |
最新开源小模型 |
| 2024年8月 |
GLM-4-Plus |
旗舰升级版,多项基准 SOTA |
| 模型 |
上下文 |
特点 |
价格(输入/输出 per M tokens) |
glm-4-plus |
128K |
旗舰模型,综合能力最强 |
¥50 / ¥50 |
glm-4 |
128K |
标准版本,性价比之选 |
¥10 / ¥10 |
glm-4-air |
128K |
高性价比长上下文 |
¥1 / ¥1 |
glm-4-flash |
128K |
极速轻量 |
¥0.1 / ¥0.1 |
glm-4v-plus |
8K |
多模态视觉旗舰 |
¥10 / ¥10 |
glm-4v |
8K |
多模态标准版 |
¥5 / ¥5 |
glm-4-long |
1M |
超长上下文(即将推出) |
待定 |
chatglm3-6b |
8K |
开源小模型 |
免费(自部署) |
| 使用场景 |
推荐模型 |
理由 |
| 复杂推理、代码生成 |
glm-4-plus |
最强能力 |
| 日常对话、内容生成 |
glm-4 |
性价比均衡 |
| 长文档分析、RAG |
glm-4-air |
128K + 低成本 |
| 高并发、低成本需求 |
glm-4-flash |
¥0.1/M,响应快 |
| 图像理解 |
glm-4v-plus / glm-4v |
多模态能力 |
{
"model": "glm-4",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好!"}
],
"temperature": 0.7,
"max_tokens": 4096,
"top_p": 0.9,
"stream": false
}
| 参数 |
范围 |
默认值 |
行为说明 |
temperature |
0-1 |
0.7 |
控制随机性。创意任务:0.7-0.9;精确任务:0.1-0.3;确定输出:0 |
top_p |
0-1 |
0.9 |
Nucleus sampling,通常与 temperature 二选一调整 |
max_tokens |
1-8192 |
4096 |
最大生成 token 数 |
stop |
array |
null |
停止序列,匹配任一个即停止生成 |
presence_penalty |
-2.0 - 2.0 |
0 |
惩罚重复主题(正数鼓励新主题) |
frequency_penalty |
-2.0 - 2.0 |
0 |
惩罚重复词元(正数减少重复) |
seed |
int |
null |
设置随机种子以获得确定输出 |
以"请用一句话描述人工智能"为 prompt,重复 5 次:
| temperature |
输出示例 |
多样性 |
| 0 |
人工智能是模拟人类智能的计算机技术。 |
完全一致(5次相同) |
| 0.3 |
人工智能是让机器模拟人类智能的技术。 |
略有措辞差异 |
| 0.5 |
人工智能是计算机科学中研究智能行为的分支。 |
中等变化 |
| 0.7 |
让机器拥有类人学习和决策能力的技术体系。 |
明显差异 |
| 0.9 |
数据驱动的自主智能系统,能够感知环境并做出最优决策。 |
显著差异 |
| 维度 |
智谱 AI GLM |
OpenAI |
| temperature 范围 |
0 - 1 |
0 - 2 |
| system 消息 |
✅ 支持,但旧模型处理不同 |
✅ 完整支持 |
| logprobs |
❌ 不支持 |
✅ 支持 |
| response_format (JSON mode) |
✅ 支持 |
✅ 支持 |
| tool_choice |
✅ 支持 (auto / none) |
✅ 支持 (auto / none / required) |
| parallel_tool_calls |
⚠️ 有限支持 |
✅ 完整支持 |
| 用户 ID 参数 |
✅ user_id |
✅ user |
| 图像输入格式 |
text + image_url |
text + image_url |
智谱 AI 流式接口使用 Server-Sent Events (SSE),格式基本与 OpenAI 兼容:
data: {"id":"glm-xxx","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}
data: {"id":"glm-xxx","choices":[{"delta":{"content":"你好"},"index":0,"finish_reason":null}]}
data: {"id":"glm-xxx","choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}
data: [DONE]
from openai import OpenAI
client = OpenAI(
api_key="your-zhipu-api-key",
base_url="https://open.bigmodel.cn/api/paas/v4"
)
stream = client.chat.completions.create(
model="glm-4-flash",
messages=[{"role": "user", "content": "用50字解释量子纠缠"}],
stream=True,
temperature=0.7
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
| 功能 |
智谱 AI |
OpenAI |
| Function Calling |
✅ 支持 |
✅ 支持 |
| 多工具并行 |
✅ 支持(有限) |
✅ 完整支持 |
| 嵌套参数 Schema |
✅ 支持 |
✅ 支持 |
| 强制调用 |
⚠️ 部分支持 |
✅ 支持 (tool_choice="required") |
| URL/文件检索工具 |
✅ 内置 |
❌ 需自定义 |
{
"model": "glm-4",
"messages": [
{"role": "user", "content": "北京今天天气如何?"}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"},
"date": {"type": "string", "description": "日期,格式YYYY-MM-DD"}
},
"required": ["city"]
}
}
}
]
}
GLM-4V 支持图片理解,API 格式与 OpenAI 的 vision API 兼容:
{
"model": "glm-4v",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片中的主要内容"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}
]
}
支持的图像格式:JPG、PNG、WEBP、GIF(静态)
图像限制:
- 单张图片最大 20MB
- 推荐分辨率:不低于 224x224,不超过 4096x4096
- 同时支持图片 URL 和 base64 编码
多模态能力实测对比(MMBench 中文版):
| 模型 |
得分 |
排名 |
| GLM-4V-Plus |
82.3% |
国产第一梯队 |
| GLM-4V |
76.8% |
实用水平 |
| GPT-4o |
83.6% |
行业领先 |
| Qwen-VL-Plus |
79.1% |
竞品参考 |
GLM-4 支持 128K 上下文,约等于 200 页中文文档。实际应用示例:
{
"model": "glm-4",
"messages": [
{"role": "user", "content": "请总结以下论文的主要创新点和实验结论:[长文本内容]"}
],
"temperature": 0.3
}
长上下文测试:对一篇约 80K tokens 的中文技术文档进行 QA 任务:
| 模型 |
准确率 |
速度 |
成本 |
| GLM-4 (128K) |
91.2% |
较快 |
¥10/M tokens |
| GPT-4-1106 (128K) |
94.5% |
中等 |
$10/M tokens |
| GLM-4-Air (128K) |
87.3% |
快 |
¥1/M tokens |
智谱 AI 的 API 内置了联网检索和知识库检索能力:
{
"model": "glm-4",
"messages": [{"role": "user", "content": "2024年诺贝尔物理学奖得主是谁?"}],
"tools": [
{
"type": "web_search",
"web_search": {
"enable": true,
"search_query": "2024年诺贝尔物理学奖"
}
}
]
}
智谱 AI 支持 JSON 模式,确保输出为合法 JSON:
{
"model": "glm-4",
"messages": [
{"role": "system", "content": "你是一个信息提取助手,请严格按照JSON格式输出。"},
{"role": "user", "content": "从以下文本中提取姓名、年龄和职业:张三,男,28岁,是一名软件工程师。"}
],
"response_format": {"type": "json_object"},
"temperature": 0.1
}
智谱 AI 是少数坚持开源的大模型公司之一,其开源模型在开发者社区中影响力巨大:
| 模型 |
参数量 |
特点 |
许可证 |
| ChatGLM-6B |
6B |
入门级对话模型 |
MIT |
| ChatGLM2-6B |
6B |
32K 上下文,性能提升 47% |
MIT |
| ChatGLM3-6B |
6B |
新增工具调用,Agent 能力 |
MIT |
| GLM-4-9B |
9B |
128K 上下文,全面性能飞跃 |
MIT |
| CodeGeeX2 |
6B |
代码生成专用模型 |
MIT |
| CogView3 |
... |
文生图模型 |
开源 |
开源模型下载量(截至 2024 年底):
| 模型 |
HuggingFace 下载量 |
GitHub Stars |
| ChatGLM-6B |
5M+ |
41K+ |
| ChatGLM2-6B |
3M+ |
15K+ |
| ChatGLM3-6B |
2M+ |
12K+ |
| GLM-4-9B |
1M+ |
8K+ |
| 模型 |
最低 GPU |
推荐配置 |
量化方式 |
| ChatGLM-6B |
RTX 3060 12GB |
RTX 3090 24GB |
4-bit / 8-bit |
| GLM-4-9B |
RTX 3090 24GB |
A100 40GB |
4-bit INT4 |
| GLM-4-9B (FP16) |
- |
A100 80GB |
无需量化 |
| 模型 |
输入价格 |
输出价格 |
缓存命中价格 |
| glm-4-plus |
¥50/M |
¥50/M |
¥25/M |
| glm-4 |
¥10/M |
¥10/M |
¥5/M |
| glm-4-air |
¥1/M |
¥1/M |
¥0.5/M |
| glm-4-flash |
¥0.1/M |
¥0.1/M |
¥0.05/M |
| glm-4v-plus |
¥10/M |
¥10/M |
- |
| glm-4v |
¥5/M |
¥5/M |
- |
| 层级 |
RPM |
TPM |
并发连接 |
日调用量上限 |
| 注册用户(免费) |
3 |
100K |
1 |
1000次/天 |
| 标准付费用户 |
100 |
5M |
10 |
不限 |
| 高级企业用户 |
500 |
20M |
50 |
不限 |
| 定制方案 |
自定义 |
自定义 |
自定义 |
不限 |
以通用对话模型 1M tokens 的输入成本为例:
| 提供商 |
旗舰模型 |
经济型模型 |
| 智谱 AI GLM |
¥50 (glm-4-plus) |
¥0.1 (glm-4-flash) |
| 百度 ERNIE |
¥60 (ERNIE-4.0) |
¥0.6 (ERNIE-Speed) |
| 阿里 Qwen |
¥20 (qwen-max) |
¥2 (qwen-turbo) |
| 字节豆包 |
¥70 (doubao-pro) |
¥0.8 (doubao-lite) |
| 月之暗面 Moonshot |
¥60 (moonshot-v1) |
¥6 (moonshot-8k) |
| DeepSeek |
¥2 (deepseek-chat) |
¥0.5 (deepseek-chat) |
from openai import OpenAI
client = OpenAI(
api_key="your-zhipu-api-key",
base_url="https://open.bigmodel.cn/api/paas/v4"
)
response = client.chat.completions.create(
model="glm-4",
messages=[
{"role": "system", "content": "你是一个有用的助手。"},
{"role": "user", "content": "解释什么是机器学习中的过拟合,并给出三种避免过拟合的方法。"}
],
temperature=0.7,
max_tokens=2048
)
print(response.choices[0].message.content)
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your-api-key")
response = client.chat.completions.create(
model="glm-4",
messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)
from openai import OpenAI
from openai import APITimeoutError, RateLimitError, APIError
client = OpenAI(
api_key="your-zhipu-api-key",
base_url="https://open.bigmodel.cn/api/paas/v4",
timeout=30.0,
max_retries=2
)
def safe_chat(model, messages, **kwargs):
try:
response = client.chat.completions.create(
model=model,
messages=messages,
**kwargs
)
return response.choices[0].message.content
except RateLimitError as e:
print(f"速率限制: {e}")
return None
except APITimeoutError as e:
print(f"请求超时: {e}")
return None
except APIError as e:
print(f"API 错误: {e}")
return None
# 使用示例
result = safe_chat(
"glm-4-flash",
[{"role": "user", "content": "天空为什么是蓝色的?"}],
temperature=0.5
)
print(result)
智谱 AI 还提供文本嵌入(Embedding)服务:
response = client.embeddings.create(
model="embedding-2",
input="需要生成嵌入的文本"
)
embedding = response.data[0].embedding
print(f"嵌入维度: {len(embedding)}") # 输出: 嵌入维度
| 测试集 |
GLM-4 |
GLM-4-Plus |
GPT-4 |
Qwen-Max |
| MMLU |
82.5% |
86.9% |
86.4% |
84.1% |
| C-Eval |
72.0% |
78.2% |
71.3% |
76.2% |
| CMMLU |
77.7% |
82.1% |
73.8% |
80.3% |
| GSM8K |
79.6% |
87.5% |
92.0% |
83.7% |
| HumanEval |
68.3% |
76.4% |
82.0% |
72.4% |
| 模型 |
首字延迟 |
吞吐量 |
适用场景 |
| glm-4-plus |
~1.5s |
中等 |
高强度推理 |
| glm-4 |
~0.8s |
良好 |
日常使用 |
| glm-4-air |
~0.5s |
高 |
批量处理 |
| glm-4-flash |
~0.2s |
非常高 |
实时交互 |
system_prompt = """你是某电商平台的客服助手。要求:
1. 礼貌、专业、简洁
2. 只回答和商品相关的问题
3. 不知道的不要编造"""
利用 128K 上下文,一次性分析长篇文档:
- 合同条款审查
- 论文摘要提取
- 代码库 Review
- 会议纪要整理
| 组件 |
推荐模型 |
说明 |
| 文本嵌入 |
embedding-2 |
生成文档向量 |
| 检索排序 |
rerank-2 |
重排序检索结果 |
| 生成回答 |
glm-4-air |
128K 上下文 + 低成本 |
| 特性 |
智谱 AI |
OpenAI |
| 中文能力 |
⭐⭐⭐⭐⭐ |
⭐⭐⭐⭐ |
| 英文能力 |
⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
| 代码能力 |
⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
| 多模态 |
✅ GLM-4V |
✅ GPT-4o |
| 价格(旗舰) |
¥50/M |
$15-150/M |
| 开源模型 |
✅ ChatGLM 系列 |
❌ |
| 上下文长度 |
128K |
128K (1M for Gemini) |
| 工具调用 |
✅ |
✅ |
| JSON 模式 |
✅ |
✅ |
| 温度范围 |
0-1 |
0-2 |
| 本地部署 |
✅ 支持 |
❌ 不支持 |
| 数据隐私 |
✅ 国内合规 |
⚠️ 注意法规 |
- 选择合适的模型:高精度任务用 glm-4-plus,高并发用 glm-4-flash
- 善用 128K 上下文:处理长文档时直接全文输入,避免分片
- temperature 调优:精确任务设为 0.1-0.3,创意任务 0.7-0.9
- 使用 JSON Mode:需要结构化输出时开启,配合低 temperature
- 缓存机制:大量相同输入时利用缓存命中价格(半价)
- 批量处理:使用 glm-4-air 处理批量任务,性价比最优
- 错误重试:遇到限速时指数退避重试,避免瞬时高频调用