<p>必须提取 reasoning_content 字段而非仅 final answer;调用时需显式设置 {"thinking": true},优先读取 response.reasoning_content(JSON 数组),其次用正则提取 reasoning 块,本地需启用 enable_tracing 并调用 get_full_trace()。</p>
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要从 deepseek-reasoner 模型的输出中提取结构化推理路径,而不是只拿 final answer——因为它的核心价值就在 reasoning_content 里,漏掉这部分等于白调用。
确认模型返回格式是否含 reasoning_content
调用后先检查响应体是否包含 【reasoning_content】 字段。V4 版本下该字段默认存在但可能为空;若字段缺失或为空字符串,说明你没开启思考模式,或仍用着已停用的 deepseek-reasoner 模型名(该名已于今日23:59正式弃用)。
用 OpenAI SDK 调用时,必须显式传入 {"thinking": true} 到 extra_body,否则 reasoning_content 不会生成。
从 API 响应中提取推理内容
方法一:直接取 response.choices[0].message.content 中的 Markdown 结构块
如果模型返回的是带 ```reasoning 的代码块,用正则提取:re.search(r'```reasoning\n(.*?)\n```', content, re.DOTALL)。注意别用 .text 或 .content.split('##')[0] 这类模糊切法,容易截断中间步骤。
方法二:读取专用字段(推荐)
当使用官方 ReasonerAPIClient 或兼容 V4 的网关时,响应中会有独立字段:response.reasoning_content。这个字段是 JSON 数组,每项含 step_id、thought、tool_call、observation 等键,可直接遍历解析。
【务必验证该字段存在且非空,否则说明调用未启用思考模式】
本地加载模型时读取推理过程
第一步:初始化带 trace 支持的会话
session = model.start_session(enable_tracing=True)
第二步:提交输入并触发推理
response = session.reason_next(prompt="分析合同违约风险")
第三步:获取完整推理链
trace = response.get_full_trace() → 返回字典列表,含每个推理节点的 input、output、decision_rule、confidence。
第四步:导出为可读格式
print(trace.to_tree()) 输出缩进式决策树;trace.to_json("trace.json") 保存结构化数据供后续审计。



















