跳到主要内容
版本:3.10.x

配置多模型路由与自动故障转移

本文介绍如何使用 ai-proxy-multi 插件在多个模型和服务提供方之间分配 AI 流量,并配置加权负载均衡、优先级路由和自动故障转移。

场景概述

只依赖单一模型服务会带来可用性、配额和成本风险。多模型路由可以把业务调用从“绑定某个模型”调整为“面向能力选择模型”,常见场景包括:

  • 成本优化:常规请求优先走低成本模型,复杂请求或失败场景回退到高质量模型。
  • 高可用:当某个模型服务不可用、延迟过高或配额耗尽时自动切换。
  • 容量分摊:在多个模型服务之间分散流量,降低单个服务的配额压力。

前提条件

  • 已安装 DockercURL
  • 已有可用的 API7 企业版网关环境。可参考快速开始完成基础配置。
  • 已准备多个模型服务的访问密钥,例如 OpenAI 和 DeepSeek。

加权负载均衡

以下示例按权重在两个 OpenAI 模型之间分配流量:

curl "http://127.0.0.1:7080/apisix/admin/routes?gateway_group_id=default" -X PUT \
-H "X-API-KEY: $ADMIN_API_KEY" \
-d '{
"id": "multi-model-weighted",
"service_id": "'"$SERVICE_ID"'",
"paths": ["/ai"],
"plugins": {
"ai-proxy-multi": {
"balancer": {
"algorithm": "roundrobin"
},
"instances": [
{
"name": "gpt-4o-mini",
"provider": "openai",
"auth": { "header": { "Authorization": "Bearer '"$OPENAI_API_KEY"'" } },
"options": { "model": "gpt-4o-mini" },
"weight": 8
},
{
"name": "gpt-4o",
"provider": "openai",
"auth": { "header": { "Authorization": "Bearer '"$OPENAI_API_KEY"'" } },
"options": { "model": "gpt-4o" },
"weight": 2
}
]
}
}
}'

自动故障转移

可以为关键模型配置备用模型或备用服务提供方。建议将主模型和备用模型分成不同实例,并结合健康检查、超时和重试策略使用。

{
"instances": [
{
"name": "primary-openai",
"provider": "openai",
"priority": 0
},
{
"name": "fallback-deepseek",
"provider": "deepseek",
"priority": 1
}
]
}

优先级较低的数值通常代表更高优先级。实际生产配置中,请结合插件版本支持的字段和模型服务 SLA 验证行为。

运行建议

  • 先在测试环境用低风险路由验证模型响应格式、延迟和错误处理。
  • 为每个实例记录模型名、服务提供方、延迟、错误率和令牌用量。
  • 将模型切换事件写入日志或告警系统,便于排查质量波动。
  • 对不同业务线使用不同路由或消费者组,避免共享配额互相影响。