跳到主要内容
版本:v0.1(draft)

基于关键词的路由 (Keyword Based Routing)

本指南向您展示如何使用显式关键词规则和正则表达式模式来路由请求。关键词路由提供透明、可审计的路由决策,这对于合规性、安全性和需要可解释 AI 的场景至关重要。

关键优势

  • 透明:路由决策完全可解释且可审计
  • 合规:确定性行为满足监管要求(GDPR, HIPAA, SOC2)
  • 快速:亚毫秒级延迟,无机器学习推理开销
  • 可解释:清晰的规则使调试和验证变得简单直接

它解决了什么问题?

基于机器学习的分类是一个难以审计和解释的黑盒。关键词路由提供:

  • 可解释的决策:确切知道为什么一个查询被路由到特定类别
  • 监管合规性:审计人员可以验证路由逻辑是否符合要求
  • 确定性行为:相同的输入始终产生相同的输出
  • 零延迟:无需模型推理,瞬时分类
  • 精确控制:针对安全、合规和业务逻辑的显式规则

何时使用

  • 需要审计追踪的受监管行业(金融、医疗、法律)
  • 需要确定性 PII 检测的安全/合规场景
  • 亚毫秒级延迟至关重要的高吞吐量系统
  • 具有清晰关键词指示的紧急/优先路由
  • 匹配正则表达式模式的结构化数据(电子邮件、ID、文件路径)

配置

在您的 config.yaml 中添加关键词信号:

# 定义关键词信号
signals:
keywords:
- name: "urgent_keywords"
operator: "OR" # 匹配任意关键词
keywords: ["urgent", "immediate", "asap", "emergency", "紧急"]
case_sensitive: false

- name: "sensitive_data_keywords"
operator: "OR"
keywords: ["SSN", "social security", "credit card", "password", "身份证"]
case_sensitive: false

- name: "spam_keywords"
operator: "OR"
keywords: ["buy now", "free money", "click here", "免费领取"]
case_sensitive: false

# 使用关键词信号定义决策
decisions:
- name: urgent_request
description: "路由紧急请求"
priority: 100 # 高优先级
rules:
operator: "OR"
conditions:
- type: "keyword"
name: "urgent_keywords"
modelRefs:
- model: "openai/gpt-oss-120b"
use_reasoning: false
plugins:
- type: "system_prompt"
configuration:
system_prompt: "你是一位响应迅速的助手,专门处理紧急请求。"

- name: sensitive_data
description: "路由敏感数据查询"
priority: 90
rules:
operator: "OR"
conditions:
- type: "keyword"
name: "sensitive_data_keywords"
modelRefs:
- model: "openai/gpt-oss-120b"
use_reasoning: false
plugins:
- type: "system_prompt"
configuration:
system_prompt: "你是一位具有安全意识的助手,专门处理敏感数据。"

- name: filter_spam
description: "拦截垃圾查询"
priority: 95
rules:
operator: "OR"
conditions:
- type: "keyword"
name: "spam_keywords"
modelRefs:
- model: "openai/gpt-oss-120b"
use_reasoning: false
plugins:
- type: "system_prompt"
configuration:
system_prompt: "此查询似乎是垃圾信息。请提供礼貌的回复。"

运算符

  • OR:如果找到任何一个关键词则匹配
  • AND:仅当找到所有关键词时才匹配
  • NOR:仅当未找到任何关键词时才匹配(排除)

请求示例

# 紧急请求(匹配 "urgent")
curl -X POST http://localhost:8801/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MoM",
"messages": [{"role": "user", "content": "I need urgent help with my account"}]
}'

# 敏感数据(匹配所有关键词)
curl -X POST http://localhost:8801/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MoM",
"messages": [{"role": "user", "content": "My SSN and credit card were stolen"}]
}'

真实世界用例

1. 金融服务(透明合规)

问题:监管机构要求为审计追踪提供可解释的路由决策 解决方案:关键词规则为每个路由决策提供清晰的 "原因"(例如,"SSN" 关键词 → 安全处理器) 影响:通过了 SOC2 审计,实现了决策的完全透明

2. 医疗平台(合规的 PII 检测)

问题:HIPAA 要求确定性的、可审计的 PII 检测 解决方案:AND 运算符通过记录的规则检测多个 PII 指示符 影响:100% 确定性,提供符合合规要求的完整审计追踪

3. 高频交易(亚毫秒级路由)

问题:实时市场数据路由需要 <1ms 的分类延迟 解决方案:关键词匹配提供即时分类,无机器学习开销 影响:0.1ms 延迟,可处理 100K+ 次请求/秒

4. 政府服务(可解释的规则)

问题:公民需要了解为什么请求被路由或拒绝 解决方案:清晰的关键词规则可以用通俗易懂的语言进行解释 影响:减少了投诉,实现了决策制定的透明化

5. 企业安全(透明的威胁检测)

问题:安全团队需要了解为什么查询被标记 解决方案:针对威胁模式使用显式的关键词/正则表达式规则,并附带清晰的文档 影响:安全团队可以自信地验证和更新规则

性能优势

  • 亚毫秒级延迟:无机器学习推理开销
  • 高吞吐量:单核可处理 100K+ 次请求/秒
  • 成本可预测:无需 GPU 或嵌入模型
  • 零冷启动:首个请求即可实现即时分类

参考

完整配置请参见 keyword.yaml