核心用法
llm-eval-router 是一套生产级影子评估流水线,用于在本地Ollama模型与云端基线(Claude/GPT)之间建立统计驱动的路由决策。系统并行执行候选任务:本地模型生成响应,云端模型提供ground truth,经多层验证与裁判集成评分后,累计200+次运行且滚动均值≥0.95时自动晋升该模型至生产路由,反之则降级。
显著优点
- 证据驱动的成本优化:非盲目路由,以0.95均值门槛确保质量等价后再切换,典型场景下 burn-in 阶段约$0.70/日,晋升后降至$0.10/日(90%+本地处理)
- 六维度精细化评估:结构/语义/事实/完成度/工具使用/延迟六维加权,支持 per-task 权重覆盖(如分析任务语义权重提升至40%,解决difflib对散文评分失效问题)
- 分层验证降本:Layer 1+2 确定性验证零成本运行,仅15%采样触发 Claude+GPT-4o-mini 裁判,分歧≥0.20时引入Gemini仲裁
- 生产级可观测:内置Langfuse集成,暴露MCP server供智能体查询状态,提供
/status、/report等REST端点 - 安全设计:所有API调用使用用户自有密钥,Ollama推理完全本地,无遥测与数据收集
潜在缺点与局限性
- 硬件门槛:需8GB+ RAM/模型,>9GB模型在24GB统一内存设备上 latency 维度失分严重;CPU推理导致<2秒延迟要求的任务不适用
- 冷启动周期:单模型/任务类型需200次运行(约1-2天)方可晋升,初期仍需承担云API成本
- 任务类型受限:实时网络知识、高安全 stakes(需云端安全过滤器)、严格延迟敏感任务被显式排除
- 配置复杂度:需维护task_types.yaml、routing_policy.yaml、per-task权重覆盖,权重配置错误会导致整类任务静默失败(如analyze任务曾因全局权重封顶0.59)
- Python环境依赖:明确不兼容Chroma 1.5.1+Python 3.14,需转向Qdrant或numpy cosine存储
适合人群
- 已运行Ollama且具备qwen2.5/phi4/mistral等 capable 模型的 macOS/Linux 用户
- 当前为Claude/GPT API支付高额费用、且任务类型明确为summarize/classify/extract/format/analyze/RAG的技术团队
- 具备Python 3.10+开发能力,能配置systemd/launchd定时任务,愿意投入1-2周建立稳定路由层的基础设施工程师
- 接受"以可观测的统计置信度换取成本节约"而非"追求极致零成本"的务实决策者
常规风险
- 权重配置风险:未按任务类型覆盖权重将导致评估失真,analyze任务需显式降低structural_accuracy至10%、提升semantic_similarity至40%
- 模型幻觉传递:CoT模型(deepseek-r1/qwen2.5-coder)需预处理strip思考token块,否则Layer 2漂移检测误报
- 数据污染风险:
None与0.0混用会污染均值计算,未采样运行必须存储为None并排除于统计 - 晋升误判风险:必须以phi4/granite4等作为control_floor模型,防止"集体平庸"导致的错误晋升
- API密钥泄露:ANTHROPIC_API_KEY、OPENAI_API_KEY为必需环境变量,需按标准secret管理实践保护