多模型路由与负载
第 13 章讲了如何接入多种模型供应商。但「接进来」只是第一步——生产里你希望不同任务用最合适的模型,并且在某个供应商抖动能自动切换。本章讲路由与容灾。
1. 为什么需要路由
- 成本:简单分类用便宜小模型,复杂生成才用大模型
- 质量:中文问答用本土模型,代码用强推理模型
- 可用:单一供应商限流/故障时,有备用通道不中断
2. 按任务类型路由
用工作流的「分类节点 + 条件分支」实现:先判断任务类型,再选模型。
[Start] → [分类 LLM] 输出 task_type
→ IF task_type == "分类" → 用 小模型A(便宜)
→ IF task_type == "创作" → 用 大模型B(强)
→ ELSE → 用 默认模型C# 路由策略示意
routing:
- match: "简单分类"
model: gpt-3.5-equivalent
- match: "长文创作"
model: flagship-large
- match: default
model: flagship-mid💡给每条路由设成本画像
在配置里记录每个模型的单价与延迟,路由时不仅看「能不能做」,也看「划不划算」。高频简单任务尽量下沉到小模型,成本能降一截。
3. 故障转移(Fallback)
主模型调用失败或超时时,自动切到备用模型,对用户无感知。
fallback_chain:
primary: model-b
on_error: [model-c, model-a]
timeout_ms: 8000
retry: 1⚠️Fallback 要验证输出兼容
不同模型的输出格式、语气可能不同。若下游依赖固定结构(如 JSON),切换到备用模型后仍需走同一套解析与兜底,避免格式突变导致流程崩。
4. 负载与限速
多应用共用模型配额时,用中间代理做统一限速与排队,避免互相踩踏:
请求 → 模型网关(限流/排队)→ 具体供应商
↑ 监控各供应商剩余配额,超阈值则优先走有额度的通道🎯动手做
在你的工作流里加一个分类节点,把输入分为「简单/复杂」两类,分别接不同模型节点,运行几条样例,观察是否按预期走了不同模型。
小结
- 路由按任务类型选模型,兼顾质量与成本
- Fallback 链提供故障转移,但要保证输出兼容
- 用模型网关统一限流与配额管理
- 下一步用评估体系量化这些策略的效果 →