Prompt 分类路由
该提议引入了一个统一的内容扫描和路由框架,通过三个互补的信号源扩展了 vLLM Semantic Router:
- 基于关键字的路由 - 确定性的、快速的、用于精确术语匹配的布尔逻辑 (Boolean Logic)。
- Regex 内容扫描 - 基于模式的检测,用于安全、合规和结构化数据。
- 嵌入相似度扫描 - 对改写具有鲁棒性的语义概念检测。
所有这三个信号都通过信号融合层 (Signal Fusion Layer)与现有的基于 BERT 的分类集成,在保持与当前架构向后兼容的同时,为用户提供强大、灵活的路由控制平面。
关键设计原则
- 互补而非替代:增强现有的 BERT 分类,而不是取代它。
- 双重执行路径:支持树内 (In-Tree)(低延迟)和通过 MCP 实现的树外 (Out-of-Tree)(高灵活性)模式。
- 策略驱动融合:允许用户使用布尔表达式、阈值和加权规则组合信号。
- 性能意识:为常见情况提供快速路径,同时支持复杂场景。
- 安全第一:ReDoS 防护、输入验证和全面的审计日志记录。
问题陈述与动机
当前局限性
vLLM Semantic Router 目前完全依赖 ModernBERT 分类进行语义类别检测。虽然功能强大,但这种方法有几个局限性:
来自 Issue #313:缺乏确定性路由
问题: 无法根据特定关键字或技术术语路由查询。
- 查询:“如何使用 RBAC 保护 Kubernetes 集群?”
- 当前:必须运行 ML 推理(~20-30ms)→ 分类为“计算机科学”→ 路由到通用模型。
- 期望:匹配关键字
["kubernetes", "k8s", "RBAC"]→ 直接路由到[k8s-expert, devops-model]。
影响:
- 对于可以 1-2ms 内确定性路由的查询,产生了不必要的延迟(~20-30ms)。
- 路由精度较低(“计算机科学”类别过于宽泛)。
- 无法利用领域知识(例如,“CVE-”模式总是指向安全模型)。
- 复杂匹配缺乏布尔逻辑(例如,“Kubernetes AND 安全” vs “Kubernetes OR Docker”)。