多模型路由与负载均衡
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read480 words

多模型路由与负载均衡

单一模型是瓶颈:一旦提供商限速或宕机,整个系统即崩溃。多模型路由让你在多个模型和提供商之间动态分流,兼顾成本、性能与可用性。

路由架构总览

graph TB CLIENT[客户端请求] --> ROUTER[智能路由层] ROUTER --> STRATEGY{路由策略} STRATEGY -->|按成本| CHEAP[GPT-4o-mini / Gemini Flash] STRATEGY -->|按能力| CAPABLE[GPT-4o / Claude 3.5] STRATEGY -->|按延迟| FAST[本地部署模型] STRATEGY -->|故障转移| FALLBACK[备用提供商] CHEAP --> LB1[负载均衡器 A] CAPABLE --> LB2[负载均衡器 B] FAST --> LB3[负载均衡器 C] LB1 --> P1[OpenAI] LB1 --> P2[Azure OpenAI] LB2 --> P3[Anthropic] LB2 --> P4[Google Gemini] LB3 --> P5[vLLM 集群] style ROUTER fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style STRATEGY fill:#fff3e0,stroke:#f57c00,stroke-width:2px

路由策略对比

策略 适用场景 优点 缺点
轮询(Round-Robin) 同质模型集群 实现简单、分布均匀 忽略模型差异
加权轮询 不同配额的提供商 按配额分配 权重需手动维护
最低延迟 实时交互场景 用户体验好 可能集中打热点
基于能力路由 混合任务类型 任务与模型匹配 需任务分类
故障转移 高可用要求 自动容灾 不同模型响应不一致
成本优先 批处理任务 显著降低费用 质量可能略低

LiteLLM 路由配置示例

# litellm_config.yaml
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
tpm: 300000   # 每分钟 Token 上限
- model_name: gpt-4o
litellm_params:
model: azure/gpt-4o-prod
api_base: https://my-azure.openai.azure.com
api_key: os.environ/AZURE_API_KEY
tpm: 200000
- model_name: cheap-model
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
tpm: 1000000
router_settings:
routing_strategy: least-busy       # 最低繁忙度
fallbacks:
- gpt-4o: [azure/gpt-4o-prod]   # 故障转移
num_retries: 3
retry_after: 5
timeout: 30

智能任务分类路由

import re
TASK_ROUTING = {
"simple": "gpt-4o-mini",    # 问答、摘要、简单分类
"complex": "gpt-4o",        # 推理、代码生成、长文档
"realtime": "local-llama",  # 延迟敏感、隐私要求高
}
def classify_and_route(prompt: str, max_tokens: int) -> str:
# 简单任务判断:短 prompt + 少量输出
if len(prompt) < 500 and max_tokens < 200:
return TASK_ROUTING["simple"]
# 含代码或复杂推理关键词
if re.search(r"(代码|算法|推理|分析报告|数学)", prompt):
return TASK_ROUTING["complex"]
# 默认中等任务
return TASK_ROUTING["simple"]

健康检查与熔断

stateDiagram-v2 [*] --> 正常 正常 --> 半开 : 错误率 > 阈值 / 超时累积 半开 --> 正常 : 探测请求成功 半开 --> 熔断 : 探测请求失败 熔断 --> 半开 : 冷却时间(30s)到期

关键参数参考值:

行动清单


下一章:03 - 成本与缓存 → 成本优化策略