": { "message": "anthropic error: `temperature` may only be set to 1 when thinki...

2026年05月12日 23:13 状态: processing

🚨 错误信息

error": { "message": "anthropic error: `temperature` may only be set to 1 when thinking is enabled or in adaptive mode. Please consult our documentation at https://docs.claude.com/en/docs/build-with-claude/extended-thinking#important-considerations-when-using-extended-thinking" }, "rid": "2054217139501404160", "type": "voapi_error" }

🤖 AI解决方案

错误翻译


``
原文:anthropic error:
temperature may only be set to 1 when thinking is enabled or in adaptive mode. Please consult our documentation at https://docs.claude.com/en/docs/build-with-claude/extended-thinking#important-considerations-when-using-extended-thinking
译文:Anthropic 错误:当启用“思考”(thinking)功能或处于自适应(adaptive)模式时,
temperature 参数只能设置为 1。请查阅我们的文档:https://docs.claude.com/en/docs/build-with-claude/extended-thinking#important-considerations-when-using-extended-thinking
`

因分析


根本原因是您在使用 Claude API 的扩展思考(Extended Thinking)功能自适应模式(Adaptive Mode)时,错误地设置了
temperature 参数。根据 Anthropic 的 API 规则,当这些特定功能被启用时,temperature 参数必须被严格设置为 1。您可能将其设置成了其他数值(如 0, 0.5, 0.7 等),从而触发了此错误。


检查您的 API 调用代码,找到设置
temperature 参数的位置,将其修改为 1

python

错误的设置方式 (示例)


response = anthropic_client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=4096,
temperature=0.5, # 当 thinking 启用时,此值必须为1
thinking={
"type": "enabled",
"budget_tokens": 2000
},
messages=[...]
)

正确的设置方式


response = anthropic_client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=4096,
temperature=1, # 当启用 thinking 或 adaptive 模式时,必须为 1
thinking={
"type": "enabled",
"budget_tokens": 2000
},
messages=[...]
)

补充建议:在启用 thinking 功能时,通常建议同时设置 stream=True,以便实时获取思考过程的输出。

预防措施


  • 查阅官方文档:在使用 Claude API 的高级功能(如 Extended Thinking)前,务必仔细阅读 Anthropic 官方文档中的 “Important Considerations” 部分,明确各参数的使用限制。

  • 参数校验:在代码中添加参数校验逻辑,当检测到 thinking 功能启用时,自动将 temperature 调整为 1`,避免人为配置错误。