AI API 故障回退:一行配置实现 99.9% 可用性

你的 AI 应用上线后,最怕的是什么?模型服务突然挂了。OpenAI 有过宕机,Anthropic 有过限流,任何单一供应商都不能保证 100% 可用。

解法很简单:故障回退(Fallback)。当主模型出问题时,自动切换到备选模型。

工作原理

  1. 请求发到主模型
  2. 主模型返回错误(5xx、超时、限流)
  3. 自动按顺序尝试 fallback 列表中的模型
  4. 返回第一个成功的响应

整个过程对用户透明,几乎零感知。

配置方式

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ofox.ai/v1",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "你好"}],
    extra_body={
        "provider": {
            "fallback": [
                "anthropic/claude-sonnet-4.5",
                "google/gemini-2.5-flash"
            ]
        }
    }
)

就这么简单。主模型 GPT-4o 挂了,自动切 Claude Sonnet,Claude 也挂了就切 Gemini。

什么时候会触发回退?

触发不触发
HTTP 5xx 服务器错误4xx 客户端错误(非 429)
请求超时内容安全拒绝
429 限流
模型不可用

推荐回退策略

通用对话:

"fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-2.5-flash"]

代码生成:

"fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-v3.2"]

高性价比:

"fallback": ["openai/gpt-4o-mini", "google/gemini-2.5-flash", "deepseek/deepseek-v3.2"]

最佳实践

  1. 选能力相近的备选 — 确保切换后质量不会断崖下降
  2. 跨厂商回退 — 避免同厂商同时故障
  3. 2-3 个备选就够 — 太多反而增加延迟
  4. 监控回退频率 — 频繁回退说明主模型需要更换

故障回退是生产环境的必备配置。一行 fallback 参数,就能把你的 AI 应用从”单点故障”升级为”高可用架构”。


相关阅读