Skip to content

智能模型路由(Router 服务)

版本:v0.13.2+ · 状态:阶段一(容灾与信号底座)+ 阶段二(任务感知与模型池)已落地

Router 是 VeyraOS 的智能模型路由服务,承担模型调用的「路由大脑」与「信号闭环」角色。它把 LiteLLM 从「模型转发器」升级为可观测、可容灾、可审计、按任务自动选模型的智能路由平台。

架构定位

Router 与其专属的 LiteLLM 实例组成独立部署栈(独立 namespace veyra-router),与主系统零耦合:不引用主系统的 Deployment/Service/Secret,不使用主系统的 LiteLLM 实例与数据库。成熟后主系统再以服务方式集成。

调用方(per-key,OpenAI 兼容)


  LiteLLM(:4000,L1 供应适配层 + 数据面;本栈专属 wrapper 实例)
        │  GenericAPILogger 批量上报调用事件(脱敏,不带对话内容)

  Router 服务(:8005,L4 路由大脑 + L2 信号闭环)


  PostgreSQL(栈内两个独立 database:router / router_litellm)
  • 数据面自包含:调用方直连本栈 LiteLLM /v1/chat/completions;模型注册、key 签发、计费归因全部在本栈 LiteLLM 实例内完成(Admin API + master key)。
  • 控制面独立:Router 不查询 manager 或其他服务,只依赖本栈 LiteLLM(其 L1 适配层)与自身 PG 库。
  • 归属反解自包含:签发方在创建 LiteLLM key 时把 {instance_id, group_id} 写入 key metadata;Router 周期同步 LiteLLM /key/listapi_key_registry 表,事件摄入时按 user_api_key_hash(= key 的 sha256,与 key list 的 token 一致)精确反解归属。

阶段一能力清单

能力说明
自动容灾LiteLLM Router 失败重试 + 连续失败冷却(num_retries=2allowed_fails=3cooldown=60s),上游 429/5xx 自动重试并隔离故障通道;降级链(fallbacks)为可配置项,默认关闭
健康画像每 (模型组, 通道) 5min 滚动窗口聚合:错误率 / p50 / p99 / 三态(正常·恢复中·不可用),model_health 表快照
决策日志每次 LLM 调用一行 routing_decisions(7 天 TTL),含错误三问分类(配置/客户端/上游)、fallback 链标记、成本与 token 用量
审计存证决策日志日级链式 sha256 锚(routing_decision_anchors 长青表),支持重放校验与篡改/断链检测
权重再平衡普通模型组多上游按 健康×延迟×成本 动态调权(热写回 LiteLLM,默认关闭,UA_ROUTING_WEIGHT_ENABLED=true 开启)
Wrapper 钩子engines/litellm/veyra_hooks.py:路由决策响应头回传(x-veyra-routing-*/x-veyra-cls-*)、per-key 质量阈值注入、RPO 风险定价信号、G2 健康画像软转移、空回复保险——全部默认 shadow 观察模式,环境变量翻牌,任何异常一律放行(绝不影响请求路径)

阶段二能力清单

能力说明
任务语义分类器engines/litellm/veyra_classifier.py:BGE 嵌入原型(19 任务类型 × SIMPLE/MEDIUM/COMPLEX/REASONING 四档)+ 难度信号修正(长度/代码块/轮次深度/工具密度升档,高风险关键词地板 COMPLEX);ONNX INT8 进程内推理,prompt 不出网关;UA_CLASSIFIER_MODE=off/shadow/active 三态
智能模型组(模型池)POST /api/router/model-groups 创建即渲染为 LiteLLM 池部署(热生效):smart 智能路由(成员画像自动推导难度阶梯)/ tiered 按难度选择 / cost_first 成本优先 / quality_first 质量优先(后两者走 bandit 从真实反馈学习);支持关键词分档规则与成本↔质量偏好权重
分类粘性会话短续轮(「继续」等)继承首轮分类结果,同会话语义连贯
级联观测(N5 shadow)低置信偏低档分类记录「假设级联复核」(不调二次模型,零成本收集触发率数据)
飞轮聚合面板数据GET /api/router/routing-flywheel/summary:决策量/环比、分类覆盖率、shadow 分歧率、日×档位趋势、任务类型分布、按 LiteLLM 实时定价估算的节省额
训练语料采样POST /api/router/internal/prompt-samples(默认关,UA_PROMPT_SAMPLE_RATE 显式开启),分类器校准/重训语料,30 天 TTL

关键设计约束

  • 错误三问:401/403/404 → 配置错误(不计健康,人工修正);400/422 → 客户端错误(不计健康);429/5xx/408/超时 → 上游错误(计入健康,触发冷却/fallback)。
  • 软偏好硬兜底:Router 与钩子的全部智能都只降优先级、绝不阻断请求;Router 服务自身不可用时 LiteLLM 照常转发(事件上报 fire-and-forget)。
  • 单副本:健康窗口与归属缓存是进程内状态,Router 固定 1 副本(多副本会视角分裂)。
  • 事件端点防伪造:未配置 UA_LITELLM_CALLBACK_TOKEN/api/router/internal/events 拒绝一切写入。

部署

独立部署栈 deploy/router/(独立 namespace veyra-router),主系统部署流程(deploy/ci/deploy.sh)不包含本栈。详细步骤与验证脚本见 deploy/router/README.md

  • 镜像:veyraos/routerservices/router/Dockerfile)与 veyraos/litellm(wrapper,engines/litellm/Dockerfile),构建 make docker-router / make docker-litellm
  • 数据库:栈内两个独立库 router / router_litellm,由 initContainer 幂等创建;PG 实例由栈自己的 Secret 指定(可指向任意 PG,库级隔离)。
  • 配置项(env 前缀 UA_):UA_DATABASE_URLUA_LITELLM_BASE_URLUA_LITELLM_MASTER_KEYUA_LITELLM_CALLBACK_TOKENUA_ROUTING_DECISION_TTL_DAYS(默认 7)、UA_ROUTING_WEIGHT_ENABLED(默认 false)等,完整见 services/router/app/settings.py

查询接口(阶段一:X-Internal-Token 鉴权,集群内访问)

端点说明
GET /api/router/model-health通道健康列表(内存实时窗口覆盖 DB 快照)
GET /api/router/model-health/history通道健康时间条(6h 桶 × 7 天)
GET /api/router/routing-decisions决策明细分页查询(支持实例/模型组/档位/状态过滤)
GET /api/router/routing-decisions/export决策明细 cursor 导出(训练集构建用)
GET /api/router/routing-decisions/anchors日锚存证列表
POST /api/router/routing-decisions/anchors/{day}/verify重放校验某日锚
GET /api/router/routing-flywheel/summary飞轮聚合(覆盖率/分歧率/趋势/类型分布/节省估算)
GET/POST/PUT/DELETE /api/router/model-groups智能模型组(池)管理,保存即渲染热生效
POST /api/router/model-groups/preview-ladder难度阶梯预览(不落库)
POST /api/router/model-groups/{id}/apply手动重新渲染(LiteLLM 侧漂移后恢复对齐)

本地排障示例:kubectl port-forward -n veyra-router svc/router 8005:8005 后携带 X-Internal-Token 访问。

路线图

  • 阶段一:容灾止血(重试/冷却、健康画像、决策日志、审计锚)
  • 阶段二:任务感知路由(语义分类器 + 智能模型组池 + 粘性会话)与飞轮聚合 ✅(分类器当前 shadow 灰度中,观察分歧率达标后翻 active)
  • 阶段三:对外服务能力(external key 自助签发、配额与预算、语义缓存、成本账本与毛利引擎);分类器 v2(LightGBM,用本服务沉淀的语料训练);级联实装(响应后重决策)。

基于内网部署的企业级 AI 智能体平台