本页聚焦
/v1/chat/completions 兼容模式。Claude 原生格式的思考块(/v1/messages 的 thinking)见 Claude Effort 思考指南;Gemini 原生的 thinking_level 与 thought_signature 见 Gemini 原生调用。推理模型输出总览
兼容模式下,推理模型在「是否输出思考文本」上分三类:| 类型 | 代表模型 | 思考内容 | 取正文方式 |
|---|---|---|---|
| 不输出思考 | gpt-4.1-mini、gemini-3.1-flash-lite、claude-haiku-4-5 | 无 | 与普通模型一致 |
| 输出思考文本 | grok-4.3、qwen3.6-plus、glm-5.1 | reasoning_content 字段 | 正文在 content,思考在 reasoning_content |
| 仅计 token | gpt-5.4-mini | 不返回文本,仅 usage.reasoning_tokens | 与普通模型一致 |
思考型:reasoning_content
会输出思考文本的模型,把思考链放在与content 平行的 reasoning_content 字段。
非流式——message 同时含两者:
delta.reasoning_content,思考完才开始推送 delta.content。务必把两者分流渲染(思考折叠、正文上屏),否则界面会先刷一大段思考:
推理 token 可能远超正文。实测一个「1+1」级问题,grok-4.3 的
reasoning_tokens 可达数百,而正文只有几个 token。思考链按输出 token 计费,对延迟和成本敏感的场景请评估是否需要开启 / 展示思考。思考签名与多轮对话
「思考签名」(thought signature)是 Gemini 原生格式的概念:原生多模态 / 函数调用里,模型会返回加密的thought_signature,多轮时需原样回传以保持推理连续性(详见 Gemini 原生调用 与 Gemini 函数调用)。
在 /v1/chat/completions 兼容模式下,推理模型是无状态的:
- 多轮对话只需把上一轮 assistant 的
content放进 messages 历史即可; - 无需回传
reasoning_content,响应里也不出现任何 signature 字段; - 实测 gemini-3.1-flash-lite、grok-4.3 在仅回传
content的情况下,多轮上下文记忆均正常。
结构化输出
通过response_format 让模型只吐 JSON。两种类型:
各模型实测支持度
json_schema 各家支持参差,这是结构化输出最大的坑:
| 模型 | json_schema | json_object | content 可否直接 parse |
|---|---|---|---|
| gpt-4.1-mini | ✅ 严格遵守 | ✅ | ✅ 纯 JSON |
| gemini-3.1-flash-lite | ✅ | ✅ | ✅ |
| grok-4.3 | ✅(另带思考链) | ✅ | ✅ content 为纯 JSON |
| gpt-5.4-mini | ⚠️ JSON 对,但前面带 <think>…</think> | — | ❌ 需先剥离 think 块 |
| qwen3.6-plus | ⚠️ 报 400:messages 须含 “json” 字样 | ✅ | ✅ |
| claude-haiku-4-5 | ❌ 忽略 schema,返回 Markdown | — | ❌ |
| glm-5.1 | ❌ 忽略 schema,返回自然语言 | ✅ | json_object 下 ✅ |
跨模型稳定拿 JSON 的建议
相关链接
- 同组页面:响应数据处理 · 兼容模式调用 · 函数调用
- 原生格式思考:Claude Effort 思考指南 · Gemini 原生调用
- 模型与价格:模型与价格总览