Skip to main content

provider/model フォーマット

OpenAI 互換エンドポイント(/v1/chat/completions/v1/embeddings)を使用する場合、 provider/model フォーマットでモデルを指定します:
ARouter はプロバイダープレフィックスを解析し、正しいアップストリームにリクエストをルーティングし、 転送前に model フィールドをプロバイダーのネイティブフォーマットに書き換えます。

プロバイダープレフィックスを省略すると、ARouter はデフォルトで OpenAI を使用します。 つまり "model": "gpt-5.4""model": "openai/gpt-5.4" と同等です。

ネイティブ SDK エンドポイント

独自の SDK フォーマットを持つプロバイダーには、ネイティブエンドポイントを直接使用します。 プロバイダーは model フィールドではなくエンドポイントパスで決定されます:
ネイティブエンドポイントは provider/model プレフィックスを使用しません——エンドポイントパスでプロバイダーが既に特定されているため、プロバイダーのオリジナルモデル名を使用します。

汎用プロバイダープロキシ

どのプロバイダーでも、汎用プロキシフォーマットを使用できます:
例:
  • POST /openai/v1/chat/completions → OpenAI にプロキシ
  • POST /deepseek/v1/chat/completions → DeepSeek にプロキシ
  • POST /anthropic/v1/messages → Anthropic にプロキシ
model フィールドの解析をバイパスし、どのプロバイダーがリクエストを受け取るかを明示的に制御したい場合に便利です。

自動ルーティング

model"auto" に設定すると、ARouter がプロンプトに最適なモデルを自動的に選択します。モデルの設定は不要です。

仕組み

  1. ARouter のルーティングサービスがリクエストを分析します(プロンプトの複雑さ、タスクタイプ、必要なモダリティなど)
  2. コスト効率と品質に基づいて、利用可能な正常なプロバイダーから最適なモデルを選択します
  3. リクエストを選択されたモデルに転送します
  4. レスポンスには、実際に使用されたモデルを示す model フィールドが含まれます

許可モデルの制限

auto-router プラグインを使用して、ワイルドカードパターンで auto が選択できるモデルを制限します:
パターン構文:
実際に使用されたモデルを確認するために、常に response.model を確認してください。

コード例

ユースケース

  • 汎用アプリ — ユーザーがどのようなプロンプトを送るか不明な場合
  • コスト最適化 — シンプルなタスクを効率的なモデルに自動ルーティング
  • ゼロ設定プロトタイピング — 特定のモデルを選択せずに即座に開始
  • アダプティブルーティング — まず ARouter に任せ、明示的な制御が必要な場合のみ候補リストに切り替え

制限事項

  • 自動ルーティングは標準の messages リクエストフォーマットを使用します
  • 自動ルーティングはアカウントで利用可能なモデルから選択します
  • ストリーミングは "model": "auto" で完全にサポートされています
  • ARouter が選択したモデルの通常料金をお支払いいただきます。追加のルーティング料金はありません
  • 選択されたモデルは常にレスポンスの model フィールドに反映されます

候補モデルリスト

models 配列と route を組み合わせて、ARouter が優先順位付き候補リストを順番に処理するようにします。

仕組み

  1. ARouter はリスト内の最初のモデルを試みます
  2. リクエストを処理できない場合(プロバイダーエラー、レート制限、キー使用不可)、次のモデルに移ります
  3. 全てのモデルが失敗した場合、ARouter は最後の失敗理由を含むエラーを返します

ルーティング動作

パーティション動作の制御

デフォルトでは、候補リストを使用する場合、エンドポイントはモデルごとにグループ化されます——最初のモデルのエンドポイントは常に2番目のモデルより先に試みられます。provider.sort.partition でこの動作を変更できます:
partition: "none" を設定すると、全候補モデルにわたってエンドポイントをグローバルに並べ替えます——リスト順に関わらず、現在最も速いモデルを使用したい場合に便利です。完全なリファレンスはプロバイダールーティングを参照してください。

OpenAI SDK での候補リストの使用

OpenAI SDK にはネイティブの models パラメータがありません。extra_body を使用して渡します:

アシスタントプリフィル

ARouter は、モデルに部分的なレスポンスの続きを生成させる機能をサポートしています。messages 配列の末尾に role: "assistant" のメッセージを追加することで、中断した箇所から継続できます:
モデルはプリフィルされたアシスタントメッセージから続きを生成します。このテクニックは以下に役立ちます:
  • 特定の出力フォーマットを強制する
  • マルチターン補完を再開する
  • モデルを特定のレスポンス構造に誘導する
全てのモデルがアシスタントプリフィルをサポートしているわけではありません。Anthropic Claude とほとんどのオープンソースモデルはサポートしています。OpenAI モデルのサポートは限定的です。

ルーティングの内部動作

ARouter はプロバイダー API key の注入、ヘルスチェック、フェイルオーバーを 完全に透過的に処理します。アプリケーションがアップストリームプロバイダーの認証情報を 見ることはありません。