レート制限やブロックされた?マルチモデルのフェイルオーバー設計

## 単一プロバイダーのリスク
製品全体が単一のモデルエンドポイントに依存していると、レート制限、障害、地域ブロックのいずれかが起きただけでアプリも一緒に落ちてしまいます。解決策は英雄的なものではなく、フォールバックのリストです。
## パターン:順序付きフォールバック
まず主要なモデルを試し、レート制限やエラーが出たら次のモデルにフォールバックします。ClaudeN AI は 1 つのキーで Claude、GPT、Gemini を公開しているので、フェイルオーバーはモデル名のリストにすぎません。
``python``
from openai import OpenAI
client = OpenAI(api_key="YOUR_CLAUDEN_KEY", base_url="https://clauden.ai/v1")
FALLBACKS = ["claude-3-5-sonnet", "gpt-4o", "gemini-1.5-pro"]
def ask(prompt: str) -> str:
last_err = None
for model in FALLBACKS:
try:
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
except Exception as e:
last_err = e
continue
raise RuntimeError(f"All models failed: {last_err}")
print(ask("CAP 定理を二文で要約して。"))
## フェイルオーバーを確実にするコツ
- 能力順、次にコスト順で並べる:最良のモデルを先頭に、最安のフォールバックを最後に。
- 短いタイムアウトを設けて、遅いプロバイダーがチェーン全体をブロックしないようにする。
- どのモデルが実際に各リクエストを処理したかをログに残し、順序を調整できるようにする。
## リレーが役立つ理由
これを 3 つの個別プロバイダーに対して行うと、3 つのキー、3 種類の SDK、3 つの課金システムが必要になります。1 つのゲートウェイを通せば、それは単一のリストと単一の残高だけ——運用コストを払わずに回復力が得られます。