GLM(智谱)— OpenAI 格式
POST
/v1/chat/completions调用智谱 GLM 系列模型进行文本对话,完全兼容 OpenAI Chat Completions 协议。
Bearer Token
模型介绍
GLM 系列是智谱 AI 推出的通用大语言模型,具备强大的对话、推理、代码与工具调用能力。在 宁享Token 上可通过 OpenAI 兼容协议直接接入。
支持模型
GLM 模型列表
| 模型 | 上下文长度 | 最大输出 | 思考模式 | 工具调用 | 缓存 | 多模态 |
|---|---|---|---|---|---|---|
glm-5.3 | 1,000,000 | 131,072 | ✅ | ✅ | ✅ | 仅文本(最新旗舰) |
glm-5.2 | 1,000,000 | 131,072 | ✅ | ✅ | ✅ | 文本+图像 |
glm-5.1 | 128,000 | 131,072 | ❌ | ✅ | ✅ | 文本+图像 |
思考模式:在请求中设置
thinking({"type":"enabled"}/{"type":"disabled"})或reasoning_effort开启与调节。glm-5.3/glm-5.3-flash强制思考不可关闭(传disabled会报错)。
请求参数
请求参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| model | string | 是 | glm-5.3 | 模型名称:glm-5.3 / glm-5.2 / glm-5.1 |
| messages | array | 是 | - | 消息列表,见下方 messages 结构 |
| stream | boolean | 否 | false | 是否流式返回(SSE) |
| max_tokens | integer | 否 | - | 最大输出 token 数,取值 1–131072(128K);超出会返回 400 |
| temperature | number | 否 | 1.0 | 采样温度,0~1 |
| top_p | number | 否 | 0.95 | 核采样概率,0.01~1 |
| reasoning_effort | string | 否 | max | 思考模式强度:max / xhigh / high / medium / low / minimal / none(仅 GLM-5.2 及以上)。glm-5.3 / glm-5.3-flash 只支持 low / high / max;GLM-5.2 的 none/minimal = 放弃思考,low/medium→high,xhigh→max |
| thinking | object | 否 | {"type":"enabled"} | 思考模式开关(智谱官方参数):{"type":"enabled"} 开启 / {"type":"disabled"} 关闭。glm-5.3 / glm-5.3-flash 强制思考,传 disabled 会报错 |
| tools | array | 否 | - | 工具定义列表,支持 function 类型,最多 128 个 |
| tool_choice | string | 否 | - | 工具调用策略:none / auto / 指定函数 |
消息角色约束:
messages数组建议以system或user角色开头——多轮对话回传历史时请保留开头的system/user消息。 ⚠️ 本页早期版本写「以assistant开头会返回 400 错误码1214」,该说法未取到官方出处(智谱官方错误码表中1214的逐字含义是「${field}参数非法」),已移除,请以官方与现场实测为准。
messages 结构
messages 字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| role | string | 是 | system / user / assistant / tool |
| content | string 或 array | 是 | 文本内容,或 multimodal 数组(文本 + 图像 URL) |
| tool_calls | array | 否 | assistant 消息中的工具调用结果 |
| tool_call_id | string | 否 | tool 消息中对应的调用 ID |
请求示例
bash
curl -X POST /v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "用一句话介绍你自己。"}
]
}'流式输出示例
python
from openai import OpenAI
client = OpenAI(base_url="/v1", api_key="<YOUR_API_KEY>")
stream = client.chat.completions.create(
model="glm-5.2",
messages=[{'role': 'user', 'content': '写一首关于秋天的诗。'}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)工具调用示例
python
resp = client.chat.completions.create(
model="glm-5.2",
messages=[{'role': 'user', 'content': '上海今天天气如何?'}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}],
tool_choice="auto",
)思考模式示例
python
resp = client.chat.completions.create(
model="glm-5.2",
messages=[{'role': 'user', 'content': '证明根号 2 是无理数。'}],
reasoning_effort="high", # low / medium / high
)响应示例
成功响应
json
{
"id": "20261002103015a1b2c3d4e5f60718",
"object": "chat.completion",
"created": 1735660800,
"model": "glm-5.3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "量子纠缠是指两个或多个粒子……"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 96,
"total_tokens": 124
}
}流式响应(SSE)
data: {"id":"20261002103015a1b2c3d4e5f60718","object":"chat.completion.chunk","created":1735660800,"model":"glm-5.2","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}
data: {"id":"20261002103015a1b2c3d4e5f60718","object":"chat.completion.chunk","created":1735660800,"model":"glm-5.2","choices":[{"index":0,"delta":{"content":"量子"},"finish_reason":null}]}
data: {"id":"20261002103015a1b2c3d4e5f60718","object":"chat.completion.chunk","created":1735660800,"model":"glm-5.2","choices":[{"index":0,"delta":{"content":"纠缠"},"finish_reason":null}]}
data: {"id":"20261002103015a1b2c3d4e5f60718","object":"chat.completion.chunk","created":1735660800,"model":"glm-5.2","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":96,"total_tokens":124}}
data: [DONE]注意事项
- 响应
id由平台按原厂形态归一:YYYYMMDDHHMMSS+ 16 位 hex(共 30 字符)。 max_tokens不能超过模型的最大输出限制(131072);超出会返回400错误。- 思考模式下,输出会包含
<think>...</think>标签的推理过程,计入 token 用量。 - 工具调用返回时,
finish_reason为tool_calls,需要二次请求将工具结果回传给模型。 - 上下文缓存由智谱侧自动处理,命中缓存的输入 token 按优惠价计费;本平台入口没有
cache请求参数(传入会被忽略)。 - 图像输入需在
content中使用数组格式:[{"type": "text", "text": "..."}, {"type": "image_url", "image_url": {"url": "..."}}]。 - 本页的
glm-5.1上下文长度(128,000)未在官方基线中登记(未取证),实际额度以控制台与官方文档为准。
