基于关键词的路由
本指南将向您展示如何使用显式关键词规则和正则表达式模式来路由请求。关键词路由提供了透明、可审计的路由决策,这对于合规性、安全性和需要可解释 AI 的场景至关重要。
主要优势
- 透明:路由决策完全可解释且可审计
- 合规:确定性行为满足监管要求(GDPR、HIPAA、SOC2)
- 快速:亚毫秒级延迟,无机器学习推理开销
- 可解释:清晰的规则使调试和验证变得简单直观
它解决了什么问题?
基于机器学习的分类是一个难以审计和解释的黑盒。关键词路由提供:
- 可解释的决策:确切了解为什么查询被路由到特定类别
- 合规性监管:审计员可以验证路由逻辑是否符合要求
- 确定性行为:相同的输入始终产生相同的输出
- 零延迟:无需模型推理,即时分类
- 精确控制:针对安全、合规和业务逻辑的显式规则
适用场景
- 受监管行业(金融、医疗、法律)需要审计追踪
- 安全/合规场景需要确定性的个人身份信息(PII)检测
- 高吞吐量系统,其中亚毫秒级延迟至关重要
- 具有明确关键词指示的紧急/优先级路由
- 匹配正则表达式模式的结构化数据(电子邮件、ID、文件路径)
配置
将关键词信号添加到您的 config.yaml
# Define keyword signals
signals:
keywords:
- name: "urgent_keywords"
operator: "OR" # Match ANY keyword
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
# Define decisions using keyword signals
decisions:
- name: urgent_request
description: "Route urgent requests"
priority: 100 # High priority
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: "You are a highly responsive assistant specialized in handling urgent requests."
- name: sensitive_data
description: "Route sensitive data queries"
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: "You are a security-conscious assistant specialized in handling sensitive data."
- name: filter_spam
description: "Block spam queries"
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: "This query appears to be spam. Please provide a polite response."
操作符
- OR:如果找到任何关键词则匹配
- AND:仅当找到所有关键词时才匹配
- NOR:仅当未找到任何关键词时才匹配(排除)
示例请求
# Urgent request (matches "urgent")
curl -X POST https://:8801/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MoM",
"messages": [{"role": "user", "content": "I need urgent help with my account"}]
}'
# Sensitive data (matches all keywords)
curl -X POST https://: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 延迟,处理每秒 10 万次以上的请求
4. 政府服务(可解释的规则)
问题:公民需要了解请求被路由/拒绝的原因 解决方案:清晰的关键词规则可以用通俗易懂的语言进行解释 影响:减少了投诉,实现了透明决策
5. 企业安全(透明的威胁检测)
问题:安全团队需要了解查询被标记的原因 解决方案:针对威胁模式的显式关键词/正则规则,并附带清晰的文档说明 影响:安全团队可以放心地验证和更新规则
性能优势
- 亚毫秒延迟:无机器学习推理开销
- 高吞吐量:单核每秒处理 10 万次以上请求
- 可预测的成本:无需 GPU 或嵌入模型
- 零冷启动:首个请求即可实现即时分类
参考资料
完整的配置请参见 keyword.yaml。