Appearance
本页详细说明 OpenRouter API 支持的所有采样参数:temperature(随机性)、top_p(核采样)、top_k(词表截断)、frequency_penalty/presence_penalty(重复惩罚)、repetition_penalty、min_p、top_a、seed(确定性输出)、max_tokens、response_format(JSON 输出)、structured_outputs、stop、tools/tool_choice(函数调用)、parallel_tool_calls,以及 verbosity(响应详细程度)。
API 参数完整指南
采样参数控制模型的 token 生成过程。可以发送以下列表中的任意参数。
OpenRouter 会为缺省的参数设置默认值(如 temperature 默认 1.0)。部分提供商特定参数(如 Mistral 的 safe_prompt、Hyperbolic 的 raw_mode)会直接透传给对应提供商。
参阅模型的提供商章节确认哪些参数被支持。关于提供商特定参数的管理,点击此处。
Temperature
- Key:
temperature - 类型: float,范围 0.0 ~ 2.0
- 默认值: 1.0
控制模型响应的多样性。值越低,响应越可预测;值越高,响应越多样。设为 0 时,相同输入始终产生相同输出。
Top P
- Key:
top_p - 类型: float,范围 0.0 ~ 1.0
- 默认值: 1.0
将模型的选择限制在累计概率达到 P 的 token 集合内。值越低,响应越可预测。类似动态的 Top-K。
Top K
- Key:
top_k - 类型: integer,0 或以上
- 默认值: 0(禁用)
限制每步可选的 token 数量。设为 1 时,模型始终选最可能的下一个 token。默认禁用(模型考虑所有候选)。
Frequency Penalty(频率惩罚)
- Key:
frequency_penalty - 类型: float,范围 -2.0 ~ 2.0
- 默认值: 0.0
基于输入中的出现频率控制 token 重复。出现频率越高的 token,被重新使用的可能性越低(与出现次数成比例)。负值鼓励重用。
Presence Penalty(存在惩罚)
- Key:
presence_penalty - 类型: float,范围 -2.0 ~ 2.0
- 默认值: 0.0
调整已出现过的 token 被重复的概率。与 frequency_penalty 不同,不按出现次数缩放(只要出现过就惩罚)。负值鼓励重用。
Repetition Penalty(重复惩罚)
- Key:
repetition_penalty - 类型: float,范围 0.0 ~ 2.0
- 默认值: 1.0
降低输入中已有 token 的重复概率。值过高可能导致输出不连贯(长句中缺少小词)。惩罚基于原始 token 的概率缩放。
Min P
- Key:
min_p - 类型: float,范围 0.0 ~ 1.0
- 默认值: 0.0
设置 token 被考虑的最低概率阈值(相对于最可能的 token)。例如 Min-P = 0.1,则只允许概率至少为最佳选项 1/10 的 token。
Top A
- Key:
top_a - 类型: float,范围 0.0 ~ 1.0
- 默认值: 0.0
动态 Top-P 变体,只考虑概率"足够高"的 token。值越低,越聚焦于高概率 token;值越高,筛选范围越宽。
Seed(随机种子)
- Key:
seed - 类型: integer
设置后,相同 seed 和参数的重复请求应产生相同结果。注意:部分模型不保证确定性。
Max Tokens / Max Completion Tokens
- Key:
max_tokens/max_completion_tokens - 类型: integer,1 或以上
设置模型能生成的 token 上限。最大值为上下文长度减去 prompt 长度。
Logit Bias
- Key:
logit_bias - 类型: map(token ID → bias)
调整特定 token 的选中概率。bias 范围 -100 ~ 100,加到 logits 上。-1 ~ 1 微调概率,-100 或 100 分别禁止或强制选中该 token。
Logprobs / Top Logprobs
- Key:
logprobs(boolean)、top_logprobs(integer,0 ~ 20)
logprobs: true 返回输出 token 的对数概率。top_logprobs 指定每个位置返回多少个最可能的 token(需先开启 logprobs)。
Response Format(响应格式)
- Key:
response_format - 类型: map
强制模型输出特定格式:
json
// JSON 对象模式
{ "type": "json_object" }
// JSON Schema 模式
{
"type": "json_schema",
"json_schema": { "name": "...", "schema": { ... }, "strict": true }
}使用 JSON 模式时,需同时在 system/user message 中要求模型输出 JSON。
Structured Outputs
- Key:
structured_outputs - 类型: boolean
如果模型支持,使用 response_format.json_schema 返回结构化输出。
Stop
- Key:
stop - 类型: array
遇到指定的任意 token 时立即停止生成。
Tools(工具调用)
- Key:
tools - 类型: array
工具调用参数,遵循 OpenAI 工具调用格式,非 OpenAI 提供商会自动转换。详见工具调用文档。
Tool Choice
- Key:
tool_choice - 类型: string 或 object
控制模型使用工具的方式:
| 值 | 含义 |
|---|---|
'none' | 不调用工具,直接生成消息 |
'auto' | 自动决定是生成消息还是调用工具 |
'required' | 必须调用一个或多个工具 |
{ "type": "function", "function": { "name": "..." } } | 强制调用指定工具 |
Parallel Tool Calls
- Key:
parallel_tool_calls - 类型: boolean
- 默认值: true
是否允许并行函数调用。true 时模型可同时调用多个工具,false 时按顺序调用。仅在提供了 tools 时有效。
Verbosity(响应详细程度)
- Key:
verbosity - 类型: enum(low / medium / high / xhigh / max)
- 默认值: medium
控制响应的详细程度。值越低越简洁,值越高越详细。
对于 Anthropic 模型,映射到 output_config.effort:
xhigh:Claude 4.7 Opus 及以上支持max:Claude 4.6 Opus 及以上支持
常见问题
Q: temperature 和 top_p 能同时设置吗?
A: 可以,但建议只调整其中一个。同时修改两个参数效果难以预测,通常选一个调整即可。
Q: 设置 seed 后是否能保证完全相同的输出?
A: 不一定。部分模型不支持确定性输出,即使支持,因底层基础设施差异也可能有微小变化。
Q: 如何知道某个模型支持哪些参数?
A: 通过 Models API 返回的 supported_parameters 字段查看。