核心用法
llm-eval-router 是一个生产级影子评估路由系统,通过并行运行本地Ollama模型与云端基线(Anthropic Claude),利用多维度评分体系(结构/语义/事实/完成度/工具/延迟)进行质量验证。当本地模型在特定任务类型上积累200+次运行且滚动平均分≥0.95时,自动晋升至生产流量,实现成本优化。
工作流程:
1. 影子测试阶段:每个任务同时发送至本地候选模型(如qwen2.5、phi4)和云端基线(Claude Sonnet)
2. 多层验证:Layer 1(JSON有效性/格式检查)→ Layer 2(漂移检测)→ 法官采样(15%运行触发Claude+GPT-4o-mini评分,分歧>0.20时Gemini仲裁)
3. 统计晋升:置信度追踪器按任务类型独立累积,达到阈值后自动切换路由策略
4. 降级保护:7天滚动通过率<92%时自动降级,control floor模型(phi4)作为质量底线
关键配置:支持6类任务(summarize/classify/extract/format/analyze/RAG)的权重覆盖——分析类任务需降低结构分至10%、提升语义分至40%,避免difflib对散文的误判。
显著优点
- 证据驱动:拒绝盲切,所有路由决策基于200+次运行的统计显著性
- 成本优化:晋升后90%+流量走本地,日均成本从$0.70降至$0.10
- 零数据外泄:Ollama推理完全本地,仅评估样本(15%)外发至法官API
- 任务级隔离:每个模型-任务组合独立评分,避免"一好百好"的误判
- 渐进式部署:轮询暴露确保公平测试,置信加权路由保障稳定性
潜在局限
- 硬件门槛:需8GB+ RAM/Mac或Linux环境,>9GB模型因延迟维度导致评分骤降
- 时间成本:单模型-任务对需1-2天累积200次运行,完整稳定层需1-2周
- 延迟敏感型任务不适用:本地CPU推理常>2秒,实时场景需保持云端
- 安全高 stakes 任务:需强制
never_local: true,依赖云端安全过滤器 - CoT模型需预处理:deepseek-r1等推理模型必须剥离
<think>块,否则Layer 2漂移误报
适合人群
- 成本敏感型企业:月API账单数千美元、存在大量可降级任务(摘要、分类、结构化提取)
- MLOps/平台工程师:具备Ollama运维经验,能接受1-2周burn-in周期
- 隐私优先场景:金融/医疗/法律领域需最小化数据出境,本地推理满足合规
- 多任务混合负载:任务类型可明确拆分(如60%摘要+30%分类+10%分析)
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| **法官采样偏差** | 15%采样可能遗漏长尾失败模式 | Langfuse全链路观测+人工抽检 |
| **权重配置错误** | 全局权重导致某任务类型天花板异常(如分析类卡在0.59) | 按task_type覆盖权重,早期验证各任务类型分数分布 |
| **Control floor失效** | 底线模型本身质量漂移 | 定期用云端重新标定floor模型 |
| **结构化输出不一致** | GT与候选格式差异导致Layer 2误报 | 为analyze任务强制system_prompt模板 |
| **API密钥泄露** | Anthropic/OpenAI密钥本地存储 | 专用评估环境隔离、短期轮换密钥 |
| **数据残留** | `data/scores/*.json` 本地存储历史 | 定期清理、磁盘加密 |
推荐安全实践:Langfuse自托管版本确保观测数据不出境;生产路由层与评估层物理分离,评估系统 compromise 不影响生产流量。