推理模型的特点
思考过程本身会消耗输出 Token,因此推理模型通常更昂贵。简单任务应使用普通模型,避免资源浪费。
控制推理强度:reasoning_effort
OpenAI 风格的推理模型支持reasoning_effort 参数,用于控制思考深度:
reasoning_effort 常见取值:
具体支持哪些取值取决于模型,以模型能力为准。
获取思考内容:reasoning_content
部分推理模型(如 DeepSeek-R1)将思考过程与最终答案分开返回:- 最终答案位于
choices[0].message.content。 - 思考过程位于
choices[0].message.reasoning_content。
Python 示例
将API_KEY 中的 sk-your-api-key 整段替换为实际密钥;需要使用其他推理模型时,修改 MODEL。reasoning_content 并非每个模型都会返回,因此通过 getattr 安全读取。
Node.js 示例
将API_KEY 中的 sk-your-api-key 整段替换为实际密钥;需要使用其他推理模型时,修改 MODEL。reasoning_content 是部分模型返回的扩展字段,因此先判断其是否存在。
reasoning_content 及其字段位置取决于具体模型。如应用仅需最终答案,使用 content 即可,可忽略思考内容。
Claude 思考模式
Claude 系列通过thinking 参数启用扩展思考(调用 Anthropic 原生 /v1/messages 接口时):
budget_tokens:分配给思考过程的 Token 预算。
Gemini 思考配置
Gemini 系列支持thinkingBudget 或 thinkingConfig 控制思考程度(调用 Gemini 原生接口时)。具体字段以 Gemini 模型文档为准,网关将透传这些参数。
流式模式下的思考内容
流式模式下,思考内容通常以增量形式先于最终答案返回。可分别拼接delta.reasoning_content 与 delta.content,实现「先展示思考、再展示答案」的效果。
使用建议
- 按任务复杂度选择模型。数学证明、复杂逻辑、算法题、多步规划使用推理模型;日常问答、翻译、改写使用普通模型。
- 控制预算。使用
reasoning_effort或budget_tokens将思考量控制在必要范围内。 - 注意成本。思考过程计入输出 Token,账单会更高,应在 用量日志 中关注。
- 思考内容是否展示。可按产品需求决定是否向用户展示思考过程。展示可增加可信度,隐藏可使界面更简洁。
