プロバイダールーティング
OfoxAIはマルチプロバイダーアーキテクチャをサポートしており、同じモデルを異なるプロバイダーノードから提供できます。ルーティング戦略でリクエストの分散方法を制御できます。
ルーティング戦略
| 戦略 | 説明 | 適用シナリオ |
|---|---|---|
priority | 優先度順に分配(デフォルト) | 安定性重視 |
cost | 最低コスト優先 | バッチ処理、コスト重視 |
latency | 最低レイテンシ優先 | リアルタイム対話、ユーザーインタラクション |
balanced | ロードバランシング | 高並行シナリオ |
使い方
provider.routing 拡張パラメータでルーティング戦略を設定します:
routing.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": {
"routing": "cost" # 最低コスト優先
}
}
)routing.ts
const response = await client.chat.completions.create({
model: 'openai/gpt-4o',
messages: [{ role: 'user', content: 'こんにちは' }],
// @ts-ignore OfoxAI 拡張パラメータ
provider: {
routing: 'cost'
}
})戦略の詳細
priority — 優先度ルーティング(デフォルト)
OfoxAI が事前設定したプロバイダーの優先度順にリクエストを分配します。最も安定性の高いノードが優先的に使用されます。
cost — コスト優先
現在最もコストの低いプロバイダーノードを自動選択します。バッチ処理やデータアノテーションなど、レイテンシに敏感でないシナリオに適しています。
latency — レイテンシ優先
レスポンスレイテンシが最も低いプロバイダーノードを選択します。高速なレスポンスが求められるリアルタイム対話シナリオに適しています。
balanced — ロードバランシング
リクエストをすべての利用可能なプロバイダーノードに均等に分配します。高並行シナリオに適しており、単一ノードへの過負荷を回避します。
ベストプラクティス
- リアルタイム対話には
latencyを使用 — ユーザーの待ち時間が短縮されます - バッチタスクには
costを使用 — 全体的なコストを削減します - 本番環境ではデフォルトの
priorityを使用 — 安定性を確保します - フォールバックとの併用 — ルーティング戦略は
fallbackパラメータと組み合わせて使用できます
OfoxAI コンソールでグローバルデフォルトルーティング戦略を設定することもできます。リクエストごとに指定する必要はありません。
Last updated on