故障回復

诺玛AI 的故障回復機制在主模型不可用時,自動切換到備選模型,確保你的服務不中斷。

工作原理#

  • 請求傳送到主模型
  • 如果主模型回傳錯誤(5xx、超時、限流等)
  • 自動按順序嘗試 fallback 清單中的模型
  • 回傳第一個成功的回應

單請求回復#

透過 `provider.fallback` 引數為單個請求設定回復:

程式碼
from openai import OpenAI
 
client = OpenAI(
    base_url="https://as.apinoma.com/v1",
    api_key="<你的 APINOMA_API_KEY>"
)
 
response = client.chat.completions.create(
    model="openai/gpt-4o",  # 主模型
    messages=[{"role": "user", "content": "你好"}],
    extra_body={
        "provider": {
            "fallback": [
                "anthropic/claude-sonnet-4.6",  # 第一備選
                "google/gemini-pro-compatible-flash-lite-preview"              # 第二備選
            ]
        }
    }
)
 
# 檢視實際使用的模型
print(response.model)

回復觸發條件#

以下情況會觸發回復:

條件

說明

HTTP 5xx

伺服器錯誤

請求超時

模型響應超時

429 限流

上游模型達到速率限制

模型不可用

供應商維護或下線

以下情況不會觸發回復:

條件

說明

HTTP 4xx(非 429)

客戶端錯誤需要修正請求

內容過濾

模型拒絕生成的內容

配合路由使用#

回復機制可以和供應商路由組合:

程式碼
response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "你好"}],
    extra_body={
        "provider": {
            "routing": "latency",    # 延遲優先路由
            "fallback": [             # 回退列表
                "anthropic/claude-sonnet-4.6",
                "google/gemini-pro-compatible-flash-lite-preview"
            ]
        }
    }
)

推薦回復方案#

推薦模型請參考 模型廣場 。

最佳實踐#

  • 選擇能力相近的備選模型 — 確保回復後輸出質量一致
  • 跨廠商回復 — 避免同一廠商的模型同時不可用
  • 設定 2-3 個備選 — 足以應對大部分故障場景
  • 監控回復頻率 — 如果頻繁回復,可能需要更換主模型

最後更新於 2026 年 6 月 23 日