": { "message": "anthropic error: `temperature` may only be set to 1 when thinki...
错误信息
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。# 错误的设置方式 (示例)
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,以便实时获取思考过程的输出。
预防措施
thinking 功能启用时,自动将 temperature 调整为 1,避免人为配置错误。