Skip to content

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-aipackages/ai/src/providers/openai-completions.ts:当 model.reasoningtruecompat.supportsReasoningEfforttrue 时,reasoning_effort 被直接透传,没有针对 provider 的值映射。社区已提交修复 PR,等待合并即可。