Appearance
Groq 推理模型报 400:reasoning_effort 值不被接受
问题
使用 Groq 作为 provider 且配合支持推理的模型(如 qwen/qwen3-32b)时,OpenClaw 发送了 Groq 不接受的 reasoning_effort 值,导致 400 错误。Groq 只接受 "none" 或 "default",但 OpenClaw 可能发送 "low"、"medium"、"high" 等值。
此问题不限于 Groq,任何对 reasoning_effort 词汇有自己限制的 provider(如 LM Studio + Qwen3)都可能触发类似错误。
解决方案
方法一:在配置中固定 reasoning_effort 值
对 Groq provider 配置只使用合法值:
json5
{
models: {
providers: {
groq: {
api: "openai-completions",
params: {
reasoningEffort: "none", // 或 "default"
},
},
},
},
}方法二:在 failover 链中避开受影响的 provider
如果 Groq 作为 fallback,将其替换为不限制 reasoning_effort 的 provider(如 Anthropic、OpenAI),或在 failover 链中使用不需要推理的 Groq 模型。
方法三:等待上游修复
根源在 @mariozechner/pi-ai 的 packages/ai/src/providers/openai-completions.ts:当 model.reasoning 为 true 且 compat.supportsReasoningEffort 为 true 时,reasoning_effort 被直接透传,没有针对 provider 的值映射。社区已提交修复 PR,等待合并即可。