参数

采样参数塑造模型的令牌生成过程。您可以向 OpenRoute AI 发送以下列表中的任何参数以及其他参数。

如果您的请求中缺少某些参数(例如,temperature 为 1.0),OpenRoute AI 将使用下面列出的默认值。我们还将一些提供商特定的参数(如 Mistral 的 safe_prompt 或 Hyperbolic 的 raw_mode)直接传输给相应的提供商(如果指定)。

请参考模型的提供商部分以确认支持哪些参数。

API 参数参考

本综合指南涵盖了 OpenRoute AI API 请求的所有可用参数,按功能类别组织,以帮助开发人员快速找到和配置他们需要的参数。

核心参数

所有 API 请求所需的基本参数。

必需参数

模型

  • 键:model

  • 必需,字符串

  • 要使用的模型 ID。有关哪些模型与 Chat API 兼容的详细信息,请参考模型端点兼容性表。

消息

  • 键:messages

  • 必需,数组

  • 构成到目前为止对话的消息列表。

messages 的属性

数组中的每个消息包含以下属性:

  • role:字符串 - 消息作者的角色。角色可以是:system、user、assistant、function 或 tool。

  • content:字符串或 list[dict] 或 null - 消息的内容。所有消息都需要,但对于带有函数调用的助手消息可能为 null。

  • name:字符串(可选) - 消息作者的名称。如果角色是"function",则必需。名称应与内容中表示的函数名称匹配。它可以包含字符(a-z、A-Z、0-9)和下划线,最大长度为 64 个字符。

  • function_call:对象(可选) - 应该调用的函数的名称和参数,由模型生成。

  • tool_call_id:字符串(可选) - 此消息响应的工具调用。

生成控制参数

控制模型如何生成响应的参数,包括采样方法和输出约束。

采样参数

温度

  • 键:temperature

  • 可选,浮点数,0.0 到 2.0

  • 默认值:1.0

  • 解释视频:观看

此设置影响模型响应的多样性。较低的值导致更可预测和典型的响应,而较高的值鼓励更多样化和不常见的响应。在 0 时,模型总是对给定输入给出相同的响应。

Top P

  • 键:top_p

  • 可选,浮点数,0.0 到 1.0

  • 默认值:1.0

  • 解释视频:观看

此设置将模型的选择限制为可能令牌的百分比:只有概率加起来为 P 的顶级令牌。较低的值使模型的响应更可预测,而默认设置允许完整的令牌选择范围。将其视为动态 Top-K。

Top K

  • 键:top_k

  • 可选,整数,0 或以上

  • 默认值:0

  • 解释视频:观看

这限制了模型在每一步的令牌选择,使其从较小的集合中选择。值为 1 意味着模型总是选择最可能的下一个令牌,导致可预测的结果。默认情况下此设置被禁用,使模型考虑所有选择。

Min P

  • 键:min_p

  • 可选,浮点数,0.0 到 1.0

  • 默认值:0.0

表示令牌被考虑的最小概率,相对于最可能令牌的概率。(该值根据最可能令牌的置信度而变化。)如果您的 Min-P 设置为 0.1,这意味着它只允许至少与最佳选项一样可能的令牌。

Top A

  • 键:top_a

  • 可选,浮点数,0.0 到 1.0

  • 默认值:0.0

仅考虑基于最可能令牌概率具有"足够高"概率的顶级令牌。将其视为动态 Top-P。较低的 Top-A 值基于最高概率令牌集中选择,但范围更窄。较高的 Top-A 值不一定影响输出的创造性,而是基于最大概率完善过滤过程。

种子

  • 键:seed

  • 可选,整数

如果指定,推理将确定性采样,使得具有相同种子和参数的重复请求应返回相同结果。某些模型不保证确定性。

惩罚参数

控制响应中重复和令牌频率的参数。

频率惩罚

  • 键:frequency_penalty

  • 可选,浮点数,-2.0 到 2.0

  • 默认值:0.0

  • 解释视频:观看

此设置旨在根据令牌在输入中出现的频率来控制令牌的重复。它试图较少使用那些在输入中出现更多的令牌,与其出现频率成比例。令牌惩罚随出现次数缩放。负值将鼓励令牌重用。

存在惩罚

  • 键:presence_penalty

  • 可选,浮点数,-2.0 到 2.0

  • 默认值:0.0

  • 解释视频:观看

调整模型重复输入中已使用的特定令牌的频率。较高的值使这种重复不太可能,而负值则相反。令牌惩罚不随出现次数缩放。负值将鼓励令牌重用。

重复惩罚

  • 键:repetition_penalty

  • 可选,浮点数,0.0 到 2.0

  • 默认值:1.0

  • 解释视频:观看

有助于减少输入中令牌的重复。较高的值使模型不太可能重复令牌,但过高的值可能使输出不太连贯(通常带有缺乏小词的连句)。令牌惩罚基于原始令牌的概率缩放。

输出控制参数

控制生成响应的长度、格式和结构的参数。

最大令牌

  • 键:max_tokens

  • 可选,整数,1 或以上

这设置了模型在响应中可以生成的令牌数量的上限。它不会产生超过此限制的内容。最大值是上下文长度减去提示长度。

最大完成令牌

  • 键:max_completion_tokens

  • 可选,整数

完成可以生成的令牌数量的上限,包括可见输出令牌和推理令牌。

停止

  • 键:stop

  • 可选,数组

如果模型遇到停止数组中指定的任何令牌,立即停止生成。

选择数量

  • 键:n

  • 可选,整数

为每个输入消息生成的聊天完成选择的数量。

详细程度

  • 键:verbosity

  • 可选,枚举(low、medium、high)

  • 默认值:medium

控制模型响应的详细程度和长度。较低的值产生更简洁的响应,而较高的值产生更详细和全面的响应。

响应格式参数

控制响应输出格式和结构的参数。

响应格式

  • 键:response_format

  • 可选,映射

强制模型产生特定的输出格式。设置为 { "type": "json_object" } 启用 JSON 模式,这保证模型生成的消息是有效的 JSON。

注意:使用 JSON 模式时,您还应该通过系统或用户消息指示模型自己生成 JSON。

结构化输出

  • 键:structured_outputs

  • 可选,布尔值

模型是否可以使用 response_format json_schema 返回结构化输出。

工具和函数调用参数

使模型能够调用外部工具和函数的参数。

3.1 工具配置

工具

  • 键:tools

  • 可选,数组

工具调用参数,遵循 OpenAI 的工具调用请求形状。对于非 OpenAI 提供商,将相应地进行转换。点击此处了解有关工具调用的更多信息

工具选择

  • 键:tool_choice

  • 可选,数组

控制模型调用哪个(如果有)工具。'none' 意味着模型不会调用任何工具,而是生成消息。'auto' 意味着模型可以在生成消息或调用一个或多个工具之间选择。'required' 意味着模型必须调用一个或多个工具。通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具强制模型调用该工具。

并行工具调用

  • 键:parallel_tool_calls

  • 可选,布尔值

  • 默认值:true

是否在工具使用期间启用并行函数调用。如果为 true,模型可以同时调用多个函数。如果为 false,函数将按顺序调用。仅在提供工具时适用。

调试和日志参数

为调试和分析提供生成过程详细信息的参数。

日志参数

Logit 偏差

  • 键:logit_bias

  • 可选,映射

接受一个 JSON 对象,该对象将令牌(由分词器中的令牌 ID 指定)映射到 -100 到 100 之间的关联偏差值。在数学上,偏差被添加到模型在采样之前生成的 logits 中。确切效果会因模型而异,但 -1 到 1 之间的值应该减少或增加选择的可能性;-100 或 100 等值应该导致相关令牌的禁止或独占选择。

Logprobs

  • 键:logprobs

  • 可选,布尔值

是否返回输出令牌的对数概率。如果为 true,返回每个返回输出令牌的对数概率。

Top Logprobs

  • 键:top_logprobs

  • 可选,整数

0 到 20 之间的整数,指定在每个令牌位置返回的最可能令牌数量,每个都有关联的对数概率。如果使用此参数,必须将 logprobs 设置为 true。

流式参数

控制响应实时流式传输的参数。

流式配置

流

  • 键:stream

  • 可选,布尔值

如果设置为 true,它发送部分消息增量。令牌将在可用时发送,流由 [DONE] 消息终止。

流选项

  • 键:stream_options

  • 可选,字典

流式响应的选项。仅在设置 stream: true 时设置此选项

  • include_usage:布尔值(可选) - 如果设置,在 data: [DONE] 消息之前将流式传输额外的块。此块上的 usage 字段显示整个请求的令牌使用统计信息,choices 字段将始终为空数组。所有其他块也将包含 usage 字段,但值为 null。

用户和元数据参数

用于用户标识、请求元数据和系统配置的参数。

用户标识

用户

  • 键:user

  • 可选,字符串

  • 代表您最终用户的唯一标识符。这可以帮助 OpenAI 监控和检测滥用。

请求配置

超时

  • 键:timeout

  • 可选,整数

  • 完成请求的超时时间(秒)(默认为 600 秒)

头部

  • 键:headers

  • 可选,字典

  • 与请求一起发送的头部字典。

额外头部

  • 键:extra_headers

  • 可选,字典

  • headers 的替代方案,用于在 LLM API 请求中发送额外头部。

高级配置参数

用于高级系统配置、回退和自定义行为的参数。

API 配置

API 基础

  • 键:api_base

  • 可选,字符串

  • 您想要调用模型的 API 端点

API 版本

  • 键:api_version

  • 可选,字符串

  • (Azure 特定)调用的 API 版本

API 密钥

  • 键:api_key

  • 可选,字符串

  • 请求的 API 密钥

模型列表

  • 键:model_list

  • 可选,列表

  • 传入 api_base、密钥等的列表。

回退和重试配置

重试次数

  • 键:num_retries

  • 可选,整数

  • 如果发生 APIError、TimeoutError 或 ServiceUnavailableError 时重试 API 调用的次数

上下文窗口回退字典

  • 键:context_window_fallback_dict

  • 可选,字典

  • 如果由于上下文窗口错误导致调用失败时使用的模型映射

回退

  • 键:fallbacks

  • 可选,列表

  • 如果初始调用失败时要使用的模型名称 + 参数列表

元数据

  • 键:metadata

  • 可选,字典

  • 进行调用时要记录的任何额外数据(发送到日志集成,例如 promptlayer 并通过自定义回调函数访问)

自定义成本参数

用于自定义成本跟踪和计费配置的参数。

成本配置

每令牌输入成本

  • 键:input_cost_per_token

  • 可选,浮点数

  • 完成调用的每输入令牌成本

每令牌输出成本

  • 键:output_cost_per_token

  • 可选,浮点数

  • 完成调用的每输出令牌成本

On this page