文档 · 模型能力

推理参数

推理模型在回答前会先「思考」,适合数学、编程、规划和多步骤分析。你可以控制思考深度,在质量、延迟和成本之间取舍。

OpenAI 格式:reasoning_effort

resp = client.chat.completions.create(
    model="o4-mini",
    reasoning_effort="low",            # minimal / low / medium / high (model-dependent)
    max_completion_tokens=8000,        # reasoning tokens count toward this cap
    messages=[{"role": "user", "content": "How many prime numbers are below 100?"}],
)
print(resp.choices[0].message.content)
print(resp.usage.completion_tokens_details)   # reasoning_tokens are billed as output
  • 推理 tokens 不出现在回复中,但计入 completion_tokens,按输出价格计费。
  • 用 max_completion_tokens 限制输出(含推理);推理模型通常不接受 max_tokens。
  • 推理模型通常不支持 temperature、top_p 等采样参数,传入可能返回 400。

Anthropic 格式:thinking

# Newer Claude models: adaptive thinking, depth set by effort
msg = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=16000,
    thinking={"type": "adaptive"},
    output_config={"effort": "medium"},    # low / medium / high …
    messages=[{"role": "user", "content": "Plan a 3-step database migration."}],
)

# Older Claude models: fixed budget (>= 1024 and < max_tokens)
# thinking={"type": "enabled", "budget_tokens": 4000}

不同代 Claude 模型的思考参数不同:较新的模型使用 thinking: {"type": "adaptive"} 配合 output_config.effort,较早的模型使用 budget_tokens。参数原样透传,以 Anthropic 官方文档为准。

其他厂商

Gemini、DeepSeek、Qwen 等推理模型在 OpenAI 格式下是否支持 reasoning_effort,取决于具体模型;部分模型(例如名称中带 thinking 的版本)始终开启思考。

建议

  • 简单任务用低 effort 或非推理模型,响应更快、更便宜。
  • 推理请求可能耗时数分钟:使用流式输出,或把客户端超时设为 300 秒以上。
  • 通过 usage 中的推理 tokens 监控成本。