bytestream 接入文档
文本生成

智谱系列

glm-5.2 / glm-5.1 / glm-5 的 bytestream 接入指南

本页覆盖 glm-5.2 / glm-5.1 / glm-5 在 bytestream 网关(https://aiapi.bytestream.com.cn/)下的完整接入 方式:全部请求参数、智谱专属的思考模式与联网搜索工具、响应结构差异,附 5 组端到端请求组合示例。通用的 鉴权、端点与错误码约定见 通用说明

调用端点可用模型请求组合示例
135

概览

bytestream 通过 zhipu 渠道对接智谱开放平台 GLM 系列模型,请求以 OpenAI 兼容格式提交,由网关转换为上游 POST /api/paas/v4/chat/completions 调用。可用模型:

  • glm-5.2 · 最新旗舰档位
  • glm-5.1 · 上一代旗舰档位
  • glm-5 · 基础档位

glm-5.2: 当前最强档位,长上下文、代码与 Agent 工具调用能力最优;支持 thinking 思考模式与 web_search 联网检索工具。

glm-5.1: 上一代旗舰,能力接近 5.2 而单价更低,适合已在生产验证过 prompt、追求成本稳定的存量业务。

glm-5: 基础档位,响应最快、单价最低,适合分类、抽取、改写等轻量高并发任务;思考模式在该档位下按上游 实现可能不生效,推理类能力建议使用 glm-5.1 及以上档位。

鉴权

请求头携带 Authorization: Bearer sk-xxxxxxxxsk- 前缀可省略)。令牌需在「控制台 → 令牌管理」中绑定 可访问 glm-5.2 / glm-5.1 / glm-5 的分组。

调用端点

端点请求体响应适用场景
POST /v1/chat/completionsJSONchat.completion / SSE chunk全部 OpenAI 兼容调用方

01 · 请求参数详解

顶层参数

参数类型必填说明
modelstring必填glm-5.2 / glm-5.1 / glm-5
messagesarray<object>必填对话消息数组,role 取值 system / user / assistant / tool
streamboolean可选是否流式返回,默认 false
temperaturenumber可选采样温度,智谱侧有效范围为 (0, 1) 开区间,默认约 0.75;传 0 会被上游拒绝,需要接近确定性的输出请取一个足够小的正数(如 0.01)。
top_pnumber可选核采样阈值,同为 (0, 1) 开区间,默认约 0.9
max_tokensinteger可选最大输出 token 数。
stoparray<string>可选停止序列。智谱上游仅支持 1 个停止词,传入多个会被拒绝或只取首项。
thinkingobject可选思考模式开关:{ "type": "enabled" } 开启、{ "type": "disabled" } 关闭;思考内容通过 reasoning_content 返回。
do_sampleboolean可选是否启用采样,默认 true;置为 falsetemperature / top_p 失效,走贪心解码。
toolsarray<object>可选工具列表,支持 { "type": "function", ... } 函数调用与 { "type": "web_search", ... } 联网检索。
tool_choicestring | object可选工具选择策略:auto(默认)/ none,或指定具体函数。
request_idstring可选调用方自定义的请求唯一标识,便于与上游日志对齐排障;不传则由上游生成。
user_idstring可选终端用户标识(智谱风格字段名);同时兼容 OpenAI 风格的 user

与 OpenAI 标准的差异点

  1. temperature / top_p开区间 (0, 1),不接受 01,也不接受大于 1 的值。
  2. stop 仅支持单个停止词。
  3. n(多候选)、presence_penaltyfrequency_penalty 在上游不支持,传入会被忽略。
  4. 智谱专属的 do_sample / request_id / user_id 不在 OpenAI 标准中,由网关透传给上游。

作为 tools 数组中的一项传入,开启后模型在生成前先检索网页:

字段类型说明
typestring固定为 "web_search"
web_search.enableboolean是否启用,默认 true
web_search.search_querystring自定义检索关键词;不传则由模型自行从对话中提取。
web_search.search_resultboolean是否在响应中返回引用的网页列表,默认 false

02 · 请求组合示例

01 · 基础对话(非流式)

curl https://aiapi.bytestream.com.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [
      { "role": "system", "content": "你是一名中文技术写作助手。" },
      { "role": "user", "content": "把这段发布说明改写得更简洁。" }
    ],
    "temperature": 0.6,
    "max_tokens": 1024
  }'

02 · 流式输出

curl https://aiapi.bytestream.com.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.1",
    "messages": [{ "role": "user", "content": "介绍一下向量数据库的选型要点" }],
    "stream": true
  }'

03 · 思考模式(thinking)

curl https://aiapi.bytestream.com.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [{ "role": "user", "content": "推导这段 SQL 慢查询的根因并给出索引方案" }],
    "thinking": { "type": "enabled" },
    "max_tokens": 4096
  }'

思考过程位于 message.reasoning_content(流式为 delta.reasoning_content),与正文 content 分开返回, 计入输出 token。不需要推理的轻量任务显式传 { "type": "disabled" } 可降低延迟与成本。

04 · 联网搜索

curl https://aiapi.bytestream.com.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [{ "role": "user", "content": "总结本周国内 AI 领域的重要发布" }],
    "tools": [
      {
        "type": "web_search",
        "web_search": { "enable": true, "search_result": true }
      }
    ]
  }'

05 · 函数调用 + 贪心解码

curl https://aiapi.bytestream.com.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [{ "role": "user", "content": "帮我把这条工单分派给对应负责人" }],
    "do_sample": false,
    "request_id": "req-20260727-0001",
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "assign_ticket",
          "description": "把工单分派给指定负责人",
          "parameters": {
            "type": "object",
            "properties": {
              "ticket_id": { "type": "string" },
              "owner": { "type": "string" }
            },
            "required": ["ticket_id", "owner"]
          }
        }
      }
    ],
    "tool_choice": "auto"
  }'

do_sample: false 时不要再传 temperature / top_p,两者会被忽略;需要可复现输出时优先使用该字段,而不是 把 temperature 压到 0(智谱不接受 0)。

03 · 响应结构

{
  "id": "chatcmpl-4d5f608a1b2c3d4e",
  "object": "chat.completion",
  "created": 1721900000,
  "model": "glm-5.2",
  "request_id": "req-20260727-0001",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "...",
        "reasoning_content": "(开启 thinking 时才有)"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 96, "completion_tokens": 401, "total_tokens": 497 }
}

finish_reason 取值:stop / length / tool_calls / sensitive(内容安全拦截)/ network_error (上游检索或网络异常)。后两个为智谱特有取值,OpenAI 客户端需按未知值兜底处理。

开启 web_search.search_result 时,引用的网页列表位于响应的 web_search 字段(非 choices 内),标准 OpenAI SDK 的强类型模型可能忽略该字段,需要时请读取原始 JSON。

04 · 附录

错误码

状态码说明
200请求成功
400参数错误 · invalid_request(常见于 temperature 取 0 或 1、stop 传多项)
401令牌无效 · invalid_api_key
402额度不足 · insufficient_user_quota
404模型不存在或令牌分组无权访问
429触发限流 · rate_limit_exceeded
500上游 / 网关内部错误

错误体统一为 {"error": {"message", "type", "param", "code"}};内容安全拦截通常不返回错误码,而是以 finish_reason: "sensitive" 结束本次生成。

速查

{
  "model": "glm-5.2",
  "messages": [{ "role": "user", "content": "..." }],
  "stream": true,
  "temperature": 0.75,
  "top_p": 0.9,
  "max_tokens": 4096,
  "stop": ["\n\n"],
  "do_sample": true,
  "thinking": { "type": "enabled" },
  "tools": [
    { "type": "web_search", "web_search": { "enable": true, "search_result": true } }
  ],
  "tool_choice": "auto",
  "request_id": "req-20260727-0001",
  "user_id": "u_10086"
}

bytestream · zhipu 渠道 · 智谱 GLM 系列接入文档 —— 本文档为接入示例(非官方最终版),供接口联调参考。

On this page