跳到主要内容
版本:最新版(未发布)

模型推理

推理家族告诉 Router 模型如何表示思考控制。它描述原生参数、支持的 mode、可选的 effort 阶梯、默认值和禁用值。所选 Provider 映射随后将该模型契约投影到 Provider 的请求协议上。

选择谁拥有家族​

模型类型配置所有者
目录支持仅设置 catalog。内置 Model Card 和 Provider 映射。
使用已知家族的自定义模型设置 reasoning.family。内置推理家族目录。
使用新家族的自定义模型在 reasoning 下设置内联字段。此模型声明。
自定义透传省略 reasoning。上游请求和后端行为。

目录支持的 Model 不能覆盖推理。自定义 Model 必须选择内置家族引用或内联定义,二者不能同时使用。

复用内置家族​

providers:
models:
- name: private-qwen
provider_model_id: Qwen3-32B
reasoning:
family: qwen3
backend_refs:
- provider: vllm
endpoint: host.docker.internal:8000
protocol: http

在控制面板中,打开 Build → Routing → Models → Add Model,选择 Provider,然后选择 Advanced settings → Reasoning family。Models 页面上的 Built-in Reasoning Families 表显示可用 ID 及其原生参数。

内联定义自定义家族​

当没有匹配的内置家族时,将完整契约附加到自定义 Model:

providers:
models:
- name: private-reasoner
provider_model_id: private-reasoner-v2
reasoning:
type: reasoning_effort
parameter: reasoning_effort
activation_parameter: enable_thinking
levels: [low, medium, high]
default: medium
modes: [enabled, disabled]
default_mode: enabled
disabled: none
backend_refs:
- provider: vllm
endpoint: host.docker.internal:8000
protocol: http

Canonical v0.3 没有用户编写的全局家族注册表。旧的 providers.defaults.reasoning_families 加上按模型的 reasoning_family 组合会迁移到 providers.models[].reasoning:内置 ID 变为 family 引用,而自定义定义会被内联复制到每个使用它们的自定义 Model 上。

在控制面板中使用 Manual setup 编写内联家族。将 Built-in Catalog Model 和 Reasoning Family 留空,然后填写 Inline Reasoning 字段。

理解内联字段​

字段必需行为
typechat_template_kwargs、reasoning_effort、reasoning_mode 或 top_level_reasoning_effort 之一。
parameter该家族控制的原生请求参数。与 type 一起必需。
levels允许的 effort 名称。基于 effort 的类型必需。
default默认 effort;设置时必须出现在 levels 中。
modes来自 enabled、disabled 和 adaptive 的任何受支持值。
default_mode设置 modes 时必需,并且必须出现在该列表中。
disabled用于禁用推理的原生值;必须支持 disabled mode。
activation_parameterreasoning_effort 的单独开关参数;必须与 parameter 不同。
effort_flags从 effort 名称到布尔参数的高级映射。它需要 activation_parameter,并且每个键都必须出现在 levels 中。

对于 top_level_reasoning_effort,parameter 必须是 reasoning_effort。仅 mode 的家族在决策中不接受 reasoning_effort。始终开启的家族不能用 use_reasoning: false 选择。

在决策中选择推理​

Model 拥有家族后,配置其决策引用:

routing:
decisions:
- name: complex-request
rules:
operator: AND
conditions:
- type: complexity
name: needs_reasoning:hard
modelRefs:
- model: private-reasoner
use_reasoning: true
reasoning_mode: enabled
reasoning_effort: high

effort 必须由家族列出,并且被该 Model 的每个 Provider 绑定允许。reasoning_mode 必须与 use_reasoning 一致。省略 effort 以使用家族默认值,或在需要一个有效的部署级默认值优先时设置 providers.defaults.reasoning_effort。

在控制面板决策编辑器中,先选择 Model。UI 从其有效家族派生 mode 和 effort 选项,并禁用 Model 或 Provider 不支持的控件。没有家族的自定义 Model 保持为透传模型,并且没有控制面板推理控件。