按上游看参数

有些请求字段在不同供应商那里不是一个意思。本页写明网关在发往每个供应商时对它做了什么:透传、翻译成供应商自己的等价物,还是丢弃。

这不是全部可用字段的清单;各端点页各自记录自己的请求体。这里列的是支不支持无法用是/否回答的字段,因为答案取决于你的模型跑在哪个供应商上。

reasoning_effort

完整指南(含取值与成本影响)→

你调用的 上游 行为 说明
/v1/chat/completions OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) 透传 按原样转发给供应商,只有一个例外:模型的 catalog 条目声明了它接受的推理力度档位时,低于最低档的值会抬到最低档,高于最高档的值会降档(GPT-6.1 Sol 无法关闭推理,所以 none 和 minimal 按 low 执行)。其余情况下网关既不校验取值,也不保证供应商会遵守。常见取值是 minimal、low、medium、high,但接受哪些由供应商决定:OpenAI 多数型号还接受 none,GLM 最高到 max。
/v1/chat/completions Google Vertex - Gemini 4 映射 转换为 Gemini 的 thinkingLevel,并落在 Gemini 4 Argon 接受的三个档位内:none 和 minimal 按 low 运行(该模型无法关闭思考),low/medium/high 一一对应,xhigh 和 max 按 high 运行。请求里显式的 google.thinking_config 优先于此映射。
/v1/chat/completions Google Vertex - Gemini 3.x 映射 转换为 Gemini 的 thinkingLevel:none 和 minimal 都映射为 minimal,low/medium/high 一一对应。请求里显式的 google.thinking_config 优先于此映射。
/v1/chat/completions Google Vertex - Gemini 2.5 丢弃 Gemini 2.5 只认 thinkingBudget,收到 thinkingLevel 会直接拒绝,所以网关两者都不发,让模型保持默认思考行为。要控制 2.5,请用 google.thinking_config 里的 thinking_budget。
/v1/chat/completions Anthropic (Claude) 映射 转换为模型可接受形式的 Anthropic thinking。在只支持自适应思考的 Claude 型号上(Claude Opus 4.7 及以后、Sonnet 5 及以后、Haiku 5.5),low/medium/high/xhigh/max 转为 thinking:{"type":"adaptive"},并以同一档位写入 output_config.effort;minimal 按 low 处理。none 按该型号自己的写法关闭思考:多数型号为 {"type":"disabled"},Sonnet 5.5 为 {"type":"between_tools"},Opus 5.5 无法关闭思考,按 low 档位以自适应方式运行。其他取值不会转发。在更早的 Claude 型号上则转换为预算:none 与 minimal 关闭思考({"type":"disabled"});low/medium/high/xhigh/max 分别对应 2,048 / 8,192 / 16,384 / 32,768 token 的预算——即反方向那套分桶映射的逆映射。档位派生出的预算会被夹逼到 max_tokens 以内;当 max_tokens 连 Anthropic 的 1,024 token 下限都放不下时则完全不下发,因此设置档位绝不会把一个本来能跑通的请求变成上游 400。
/v1/messages OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) 映射 在扩展思考已启用且预算大于 0 时,由 thinking.budget_tokens 分桶得出:≤2,048 为 low,≤8,192 为 medium,更高为 high。预算为 0 或缺失时不发送该字段。对 catalog 条目声明了可接受推理力度档位的型号(GPT-6.1 Sol),改为按请求意图处理:thinking 为 disabled 或 between_tools 时按最低档(low)执行,即使同时给了 output_config.effort 也一样;其余情况把 output_config.effort 作为推理力度发出。
/v1/responses OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) 映射 从 Responses API 的 reasoning.effort 对象中读出,以扁平的 reasoning_effort 字段发送。

thinking / thinking_budget / enable_thinking

你调用的 上游 行为 说明
/v1/chat/completions Anthropic (Claude) 映射 这些是别家供应商给同一个旋钮起的名字,网关会统一归一。thinking:{"type":"disabled"}、enable_thinking:false、thinking_budget:0 都表示关闭思考,效果与该型号上的 reasoning_effort none 相同。在更早的 Claude 型号上,thinking_budget:N 与 thinking:{"type":"enabled","budget_tokens":N} 的预算原样透传;超出范围的值由上游拒绝,而不是被我们悄悄改掉。在只支持自适应思考的型号上不会下发预算,而是折算为 output_config.effort(不超过 2,048 为 low,不超过 8,192 为 medium,低于 32,768 为 high,32,768 及以上为 xhigh;不会折成 max)。单独的 thinking:{"type":"adaptive"} 不下发任何思考设置,模型按默认行为运行。
/v1/chat/completions Google Vertex - Gemini 4 映射 归一到 thinkingConfig.thinkingLevel,因为 Gemini 4 Argon 会拒绝 thinkingBudget:关闭思考按 low 运行,显式预算折算成档位(不超过 2,048 token 为 low,不超过 8,192 为 medium,更高为 high)。请求里显式的 google.thinking_config 仍然优先。
/v1/chat/completions Google Vertex - Gemini 3.x 映射 归一到 thinkingConfig:关闭思考写成 thinkingLevel:"minimal",显式预算写成 thinkingBudget。请求里显式的 google.thinking_config 仍然优先于以上全部。
/v1/chat/completions Google Vertex - Gemini 2.5 映射 归一到 thinkingConfig.thinkingBudget——关闭思考发送预算 0,显式预算原样透传。此处不使用 thinkingLevel,因为 2.5 会拒绝该字段。请求里显式的 google.thinking_config 仍然优先。

每一行都转录自实现它的转换器,并由 Go 测试钉住;所以这张表不可能在构建不失败的情况下与线上网关脱节。