跳到主要内容
Documentation

什么是语义路由器(Semantic Router)?

语义路由器(Semantic Router) 是一层智能路由:根据从请求中提取的多种信号,为每次查询动态选择最合适的语言模型。

版本:最新版

什么是语义路由器(Semantic Router)?

语义路由器(Semantic Router) 是一层智能路由:根据从请求中提取的多种信号,为每次查询动态选择最合适的语言模型。

问题

传统 LLM 部署往往对所有任务使用单一模型:

用户查询 → 单一 LLM → 响应

弊端

  • 简单查询成本过高
  • 专项任务表现不佳
  • 缺少安全与合规控制
  • 资源利用率差

方案

语义路由器采用信号驱动决策,智能路由查询:

用户查询 → 信号提取 → 投影协调 → 决策引擎 → 插件 + 模型分发 → 响应

收益

  • 成本更优(简单任务用小模型)
  • 质量更好(强项任务用专用模型)
  • 内置安全(越狱检测、PII 过滤等)
  • 灵活可扩展(投影 + 插件架构)

工作流程

1. 信号提取

路由器从每次请求中提取 14 类维护中的信号族

信号族分组示例作用
启发式authzcontextkeywordlanguagestructure低成本策略、请求形态与区域门禁
学习型complexitydomainembeddingmodalityfact-checkjailbreakpiipreferenceuser-feedback语义、安全与响应质量理解

2. 投影协调

投影将原始信号匹配协调为可复用的路由事实:

routing:
projections:
partitions:
- name: support_intents
semantics: exclusive
members: [technical_support, account_management]
default: technical_support
scores:
- name: request_difficulty
method: weighted_sum
inputs:
- type: complexity
name: hard
weight: 0.4
mappings:
- name: difficulty_band
source: request_difficulty
method: threshold_bands
outputs:
- name: balance_reasoning
gte: 0.6

3. 决策

信号与投影输出通过逻辑规则组合,形成路由决策:

decisions:
- name: math_routing
rules:
operator: "AND"
conditions:
- type: "domain"
name: "mathematics"
- type: "projection"
name: "balance_reasoning"
modelRefs:
- model: qwen-math
weight: 1.0

含义:若查询被归类为数学投影层标记为偏重推理,则路由到数学模型。

4. 模型选择

根据决策选择最合适的模型:

  • 数学查询 → 数学专用模型(如 Qwen-Math)
  • 代码查询 → 代码专用模型(如 DeepSeek-Coder)
  • 创意查询 → 创意向模型(如 Claude)
  • 简单查询 → 轻量模型(如 Llama-3-8B)

5. 插件链

在模型执行前后,插件处理请求/响应:

routing:
decisions:
- name: "guarded-route"
plugins:
- type: "semantic-cache" # 先查缓存
- type: "jailbreak" # 对抗性提示检测
- type: "pii" # 敏感数据过滤
- type: "system_prompt" # 添加上下文
- type: "hallucination" # 事实核验

关键概念

模型混合(Mixture of Models, MoM)

与在单个模型内部工作的 Mixture of Experts(MoE)不同,MoM 在系统层面运作:

方面Mixture of Experts(MoE)Mixture of Models(MoM)
范围单模型内部跨多个模型
路由内部门控网络外部语义路由器
模型共享架构彼此独立
灵活性训练时固定运行时动态
场景模型效率系统级智能

信号驱动决策

传统路由常用简单规则:

# 传统:简单关键词
if "math" in query: route_to_math_model()

信号驱动路由组合多种信号:

# 信号驱动:多信号组合
if (has_math_keywords AND is_math_domain) OR has_high_math_embedding: route_to_math_model()

收益

  • 路由更准确
  • 更好处理边界情况
  • 能适应上下文
  • 降低误报

实例

用户查询:「证明根号 2 是无理数」

信号提取

  • keyword:["prove", "square root", "irrational"] ✓
  • embedding:与数学查询相似度 0.89 ✓
  • domain:"mathematics" ✓

决策:路由到 qwen-math(数学相关信号一致)

插件:semantic-cache 未命中;jailbreak 无威胁;system_prompt 增加「给出严格数学证明」;hallucination 用于核验

结果:由专用数学模型给出高质量证明

下一步