仅豆包-Doubao-1.5-Pro和DeepSeek-V3-Reasoning支持思考内容输出,需通过reasoning:true参数或-reasoning后缀模型ID启用,并在OpenAI兼容接口响应的顶层reasoning字段中提取完整推理文本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在使用火山引擎豆包等大模型时,你可能需要单独提取模型的“思考过程”而非最终回答,比如用于审计推理链、调试提示词、或构建带思维链(Chain-of-Thought)的可解释系统。默认情况下,API响应中不直接暴露中间思考步骤,必须通过特定参数开启并正确解析返回结构。
确认模型是否支持思考内容输出
并非所有火山引擎托管模型都开放思考字段。目前仅 【豆包-Doubao-1.5-Pro】和【DeepSeek-V3-Reasoning】 在启用特定参数后可返回显式思考内容。其他模型如豆包Lite、Qwen系列调用时即使加参也始终返回空字段。
访问火山引擎控制台 →「模型服务」→「模型详情页」→ 查看「能力说明」栏,确认标注有“支持 reasoning trace”或“支持思维链输出”字样。
请求时开启思考内容生成
方法一:在请求 body 中添加 reasoning 参数
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
向 /chat/completions 接口发送 POST 请求时,在 JSON body 中显式传入 "reasoning": true。注意该字段为布尔值,不能写成字符串 "reasoning": "true",否则会被忽略。
方法二:使用专用 reasoning 模型 ID(推荐)
直接将 model 字段设为带 -reasoning 后缀的模型标识,例如:"model": "doubao-1.5-pro-reasoning"。此时无需额外传 reasoning 参数,模型自动启用思考路径生成,且输出格式更稳定。
【关键前提】 必须使用 OpenAI 兼容协议调用(即 base_url 指向火山方舟 endpoint),且 API Key 具备该模型的调用权限。若用旧版火山自研 SDK 或 REST 直连非兼容地址,此功能不可用。
解析响应中的思考内容字段
第一步:检查响应顶层是否有 reasoning 字段
成功开启后,响应 JSON 不再只有 choices[0].message.content,而是新增顶层字段 reasoning,其值为字符串,包含模型完整的内部推理文本。
第二步:区分 content 与 reasoning 的语义边界
content 是模型最终输出的回答,面向用户;reasoning 是模型在生成 content 前的完整推演过程,含假设、排除、回溯、公式代入等步骤,纯文本无格式。二者内容不重叠,不可互相替代。
第三步:处理流式响应(stream=true 时)
若启用流式,reasoning 字段仅在最后一个 data: 块中出现一次,且为完整字符串。中间 chunk 中的 delta.reasoning 恒为空,切勿尝试拼接。必须等待 finish_reason === "stop" 后再提取。
第四步:捕获空 reasoning 的典型原因
当返回 "reasoning": "" 或字段缺失,常见于:① 模型不支持该能力;② 请求未命中 reasoning 模型路由(如误用 doubao-1.5-pro 而非 -reasoning 后缀);③ 提示词中明确禁止“展示思考过程”类指令,触发模型主动抑制。


















