Skip to Content

フォールバック

OfoxAIのフォールバック機能は、プライマリモデルが利用できない場合に自動的に代替モデルに切り替え、サービスの中断を防ぎます。

仕組み

  1. リクエストをプライマリモデルに送信
  2. プライマリモデルがエラーを返した場合(5xx、タイムアウト、レート制限など)
  3. フォールバックリストのモデルを順番に自動的に試行
  4. 最初に成功したレスポンスを返す

単一リクエストフォールバック

provider.fallback パラメータで個々のリクエストにフォールバックを設定します:

fallback.py
from openai import OpenAI client = OpenAI( base_url="https://api.ofox.ai/v1", api_key="<あなたの OFOXAI_API_KEY>" ) response = client.chat.completions.create( model="openai/gpt-4o", # プライマリモデル messages=[{"role": "user", "content": "こんにちは"}], extra_body={ "provider": { "fallback": [ "anthropic/claude-sonnet-4.5", # 第1候補 "google/gemini-3-flash-preview" # 第2候補 ] } } ) # 実際に使用されたモデルを確認 print(response.model)
fallback.ts
const response = await client.chat.completions.create({ model: 'openai/gpt-4o', messages: [{ role: 'user', content: 'こんにちは' }], // @ts-ignore OfoxAI 拡張パラメータ provider: { fallback: [ 'anthropic/claude-sonnet-4.5', 'google/gemini-3-flash-preview' ] } })

グローバルフォールバック設定

OfoxAI コンソールでグローバルフォールバック戦略を設定すると、リクエストごとに指定する必要がありません:

  1. OfoxAI コンソール  にログイン
  2. 設定ルーティング戦略 に移動
  3. デフォルトフォールバックモデルリストを設定

単一リクエストレベルの fallback パラメータはグローバル設定を上書きします。

フォールバックトリガー条件

以下の場合にフォールバックがトリガーされます:

条件説明
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.5", "google/gemini-3-flash-preview" ] } } )

推奨フォールバックプラン

汎用対話

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"] }

コード生成

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"] }

コストパフォーマンス重視

"provider": { "fallback": ["openai/gpt-4o-mini", "google/gemini-3-flash-preview", "deepseek/deepseek-chat"] }

ベストプラクティス

  1. 能力が近い代替モデルを選択する — フォールバック後も出力品質の一貫性を確保します
  2. 異なるプロバイダー間でフォールバックを設定する — 同一プロバイダーのモデルが同時に利用不可になるリスクを回避します
  3. 2〜3個の候補を設定する — ほとんどの障害シナリオに対応できます
  4. フォールバック頻度をモニタリングする — 頻繁にフォールバックが発生する場合は、プライマリモデルの変更を検討してください
Last updated on