Skip to content

GLM(智谱)— OpenAI 格式 ​

POST/v1/chat/completions

调用智谱 GLM 系列模型进行文本对话,完全兼容 OpenAI Chat Completions 协议。

Bearer Token

模型介绍 ​

GLM 系列是智谱 AI 推出的通用大语言模型,具备强大的对话、推理、代码与工具调用能力。在 宁享Token 上可通过 OpenAI 兼容协议直接接入。

支持模型 ​

GLM 模型列表

模型上下文长度最大输出思考模式工具调用缓存多模态
glm-5.31,000,000131,072✅✅✅仅文本(最新旗舰)
glm-5.21,000,000131,072✅✅✅文本+图像
glm-5.1128,000131,072❌✅✅文本+图像

思考模式:在请求中设置 thinking({"type":"enabled"} / {"type":"disabled"})或 reasoning_effort 开启与调节。glm-5.3 / glm-5.3-flash 强制思考不可关闭(传 disabled 会报错)。

请求参数 ​

请求参数

参数类型必填默认值描述
modelstring是glm-5.3模型名称:glm-5.3 / glm-5.2 / glm-5.1
messagesarray是-消息列表,见下方 messages 结构
streamboolean否false是否流式返回(SSE)
max_tokensinteger否-最大输出 token 数,取值 1–131072(128K);超出会返回 400
temperaturenumber否1.0采样温度,0~1
top_pnumber否0.95核采样概率,0.01~1
reasoning_effortstring否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
thinkingobject否{"type":"enabled"}思考模式开关(智谱官方参数):{"type":"enabled"} 开启 / {"type":"disabled"} 关闭。glm-5.3 / glm-5.3-flash 强制思考,传 disabled 会报错
toolsarray否-工具定义列表,支持 function 类型,最多 128 个
tool_choicestring否-工具调用策略:none / auto / 指定函数

消息角色约束:messages 数组建议以 system 或 user 角色开头——多轮对话回传历史时请保留开头的 system/user 消息。 ⚠️ 本页早期版本写「以 assistant 开头会返回 400 错误码 1214」,该说法未取到官方出处(智谱官方错误码表中 1214 的逐字含义是「${field} 参数非法」),已移除,请以官方与现场实测为准。

messages 结构 ​

messages 字段

字段类型必填说明
rolestring是system / user / assistant / tool
contentstring 或 array是文本内容,或 multimodal 数组(文本 + 图像 URL)
tool_callsarray否assistant 消息中的工具调用结果
tool_call_idstring否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)未在官方基线中登记(未取证),实际额度以控制台与官方文档为准。

© 2026 宁享Token. 保留所有权利。