プロバイダーとモデル
管理者は Models → Providers、Model Marketplace、Model Definitions、Group Pricing で上流のモデルサービスに接続し、呼び出し可能なモデルを管理し、リクエストの振り分けと課金価格を設定します。
初めて接続する場合は、「モデル定義を確認 → プロバイダーを作成してモデルを選択 → モデルマーケットプレイスとルーティングを確認 → 呼び出しで検証」の順に操作することをおすすめします。既存のプロバイダーがある場合は、モデルを直接検索し、提供関係、ルーティング、料金を調整できます。
| ページ | 管理対象 | 主な操作 |
|---|---|---|
| Providers | 上流モデルサービスの接続設定 | 接続タイプ、API URL、キー、グループ料金、サポートするモデルを設定し、有効・無効の状態を管理 |
| Model Marketplace | モデルごとに集約された利用可能状況 | モデル ID の検索とコピー、提供プロバイダーと直近 24 時間の状態の確認、モデルの有効化・無効化、ルーティングの調整 |
| Model Definitions | モデルの基本情報と課金設定 | 名前、表示名、説明、コンテキスト、各種価格を管理 |
| Group Pricing | 呼び出しに適用される課金倍率の設定 | グループ料金の新規作成と管理、料金倍率とユーザーが選択可能な範囲の設定 |
プロバイダー
1 つのプロバイダーは複数のモデルを提供でき、同じモデルを複数のプロバイダーが提供することもできます。たとえば「本番プライマリ」と「本番バックアップ」は同じ種類のサービスに接続しつつ、それぞれ異なる上流 URL やアカウントキーを使用できます。
接続情報の準備
接続前に、上流サービスの API URL、API キー、実際にサポートされているモデル名を用意し、このサービスに適用するグループ料金を決めておきます。
ここで入力するのは上流プロバイダーの API キーです。アプリケーションが OneGateway を呼び出す際に使用する API Keys は別途作成する必要があります。
プロバイダーの作成
- Models → Providers を開き、New をクリックします。
- 上流のインターフェースに合った接続タイプを選択します。よく使う選択肢に見つからない場合は、More access types を展開して検索します。
- 接続情報を入力し、自動入力された API URL を確認します。
| フィールド | 入力内容 |
|---|---|
| Provider name | 用途を区別しやすい名前を使用します(例:「本番プライマリ」「本番バックアップ」)。重複する名前は避けてください |
| API key | 上流サービスが発行した有効なキーを入力します |
| Group Pricing | このプロバイダーに適用するグループ料金を選択します。複数選択できます |
| API URL | 接続タイプが要求するサービスのベース URL を入力します。フィールドのヒントに従ってパスを確認し、チャットリクエストの完全な URL を直接入力しないでください |
接続タイプは上流が提供するインターフェースプロトコルに合わせてください。互換インターフェースやプロキシサービス経由で接続する場合も、要求される接続タイプ、URL、キーを確認してください。
接続テストとモデルの選択
接続情報を入力したら、Test connection をクリックします。システムは上流のモデル一覧 API へのアクセスを試み、接続を確認して利用可能なモデルを検出します。
- テストが成功し、選択可能なモデルがある場合:同期対象のモデルを確認し、今回接続するモデルを残してプロバイダーを作成します。
- テストは成功したが、選択可能なモデルがない場合:現在のゲートウェイインスタンスのモデル定義を確認します。選択可能なモデルには、そのインスタンス内に同名の定義が存在する必要があります。必要に応じて先にモデル定義を追加し、改めて作成フローに入ってください。
- テストが失敗またはタイムアウトした場合:まず接続タイプ、URL、キー、ネットワークを確認します。ページでは既存のモデル定義から手動でモデルを選択して作成を続行できますが、作成に成功しても、サービスが利用可能かどうかは実際の呼び出しで検証する必要があります。
モデルとグループ料金をそれぞれ 1 つ以上選択したら、Create provider をクリックします。一覧に戻り、レコードの状態とサポートされるモデルを確認します。
接続テストは主にモデル一覧 API を検証するものであり、すべてのモデルが正常に応答を生成できることや、ユーザーのグループ料金と API Key の制限が正しく設定されていることを証明するものではありません。
日常のメンテナンス
プロバイダー一覧で名前検索やフィルター条件を使ってレコードを特定し、名前をクリックして設定を表示・編集します。
| 一覧の情報 | 使い方 |
|---|---|
| タイプとグループ料金 | インターフェースの接続方式と、プロバイダーに適用されるグループ料金を確認します |
| ステータス | プロバイダーが有効かどうかを確認します。無効にすると、そのプロバイダーが提供するモデルの呼び出しに影響します |
| 優先度と重み | プライマリ/バックアップの順序と同一階層内の振り分け比率を確認します。モデルマーケットプレイスのルーティングビューからも調整できます |
| 使用済み / 残り | 返送された実行データを確認し、上流アカウントの状況と合わせてクォータの補充が必要かどうかを判断します。データの更新には遅延がある場合があります |
URL やキーを更新した後は、再テストして実際の呼び出しで検証してください。特定のプロバイダーの使用を一時的に停止する場合は、関連するモデルに他の利用可能なプロバイダーがあるかを先に確認してから無効化してください。
モデルマーケットプレイス
モデルマーケットプレイスは、プロバイダー、価格、稼働状態をモデルごとに集約して表示し、モデルの有効化・無効化とルーティング設定の入口も提供します。
モデルの利用可能状況の確認
Models → Model Marketplace を開き、モデル名、モデル ID、プロバイダーで検索し、モデルタイプ、プロバイダー、有効状態(All、Enabled、Disabled)で絞り込んで目的のモデルを特定します。
| カードの内容 | 意味 |
|---|---|
| 表示名とモデル ID | 表示名は読みやすさのためのものです。モデル ID はアプリケーションのリクエストの model フィールドに使用し、コピーボタンから取得できます |
| Providers | このモデルを提供するプロバイダーの数を表示します。クリックすると提供状況の詳細を確認できます |
| Context | モデル定義に設定されたコンテキスト情報を表示します |
| 価格 | 現在のモデルに設定された価格を表示します。従量課金か回数課金かの課金単位に注意してください |
| Health - Last 24 Hours と可用性 | 最近の稼働状況の把握に役立ちます。灰色のステータスブロックや -- は表示できるデータがないことを示すため、それだけでモデルの障害と判断することはできません |
一覧の「Enabled」は、モデルにプロバイダーの提供関係が存在することを示します。呼び出しが成功するかどうかは、プロバイダーの状態、上流サービス、グループ料金の設定、API Key の制限も確認する必要があります。
モデルの有効化と無効化
モデルカード上のスイッチでモデルの有効・無効を管理します。無効化する前に確認メッセージを読み、このモデルに依存するアプリケーションの調整が済んでいることを確認してください。
モデルを無効化すると、現在のゲートウェイインスタンス内の関連プロバイダーのサポートモデル範囲からそのモデルが除外されますが、復元用に元の提供関係は保持されます。再度有効化すると、システムはこれらの関係の復元を試みます。復元後も、プロバイダーが有効になっているか、設定の同期が成功したかを確認する必要があります。
モデルルーティング
モデルマーケットプレイスで対象モデルの routing visualization を開き、そのモデルに対応するプロバイダー、応答時間、優先度、重みを確認します。
ここで扱うのは同じモデルのプロバイダー選択です
このセクションの優先度と重みは、同じモデルをどのプロバイダーで処理するかを決めます。リクエストの複雑度に応じて異なるモデルを選ぶ、あるモデルを別のモデルに段階的に置き換える、モデルが利用できないときに別のモデルへ切り替える、といった場合はインテリジェントルーティングプラグインを使用してください。プラグインがモデルを書き換えた後も、各リクエストはここで説明するプロバイダー選択を経由します。プラグインのルールで使う対象モデルと候補モデルは、すべてここで接続し、価格を設定しておく必要があります。
プライマリ/バックアップと振り分けの理解
| 設定または表示 | 意味 |
|---|---|
| Priority(優先度) | 値が大きいほど優先的に選択されます。低い優先度はバックアップ用です |
| Weight(重み) | 同一優先度内での相対的な振り分けの重みです。固定のパーセンテージではありません |
| 実線 | プライマリ優先度層のプロバイダーで、同一層内で重みに従って振り分けられます |
| 破線 | バックアップ優先度層で、プライマリ層が失敗した場合にリトライポリシーと組み合わせて使用が試みられます |
| 灰色の破線 | 除外済みで、スケジューリングに参加しないプロバイダー |
たとえば、同じモデルを 3 つのプロバイダーが提供している場合:
| プロバイダーの例 | 優先度 | 重み | 想定される用途 |
|---|---|---|---|
| 本番プライマリ A | 10 | 3 | プライマリ層で約 3/4 の選択確率を担います |
| 本番プライマリ B | 10 | 1 | プライマリ層で約 1/4 の選択確率を担います |
| 本番バックアップ | 0 | 1 | プライマリ層が失敗した場合のバックアップ候補です |
上記の比率は重み付き振り分けを理解するためのもので、少数のリクエストがちょうど 3:1 に分配されることを保証するものではありません。実際のスケジューリングは、グループ料金の設定、プロバイダーの利用可能状態、リトライポリシーの影響も受けます。バックアッププロバイダーを設定した後は、実際のリトライ設定と合わせて切り替え効果を検証してください。
ルーティング調整の保存
- 対象モデルを提供するプロバイダーと、現在のプライマリ/バックアップの関係を確認します。
- 編集可能なプロバイダーの優先度と重みを調整します。
- Save をクリックし、ルーティングビューを開き直して結果を確認します。
- テスト呼び出しを行い、リクエストログで実際に使用されたプロバイダーとリクエスト結果を確認します。
調整はプロバイダーが提供するすべてのモデルに影響します
優先度と重みはプロバイダーの設定です。あるモデルのルーティングビューでこれらを変更して保存すると、そのプロバイダーが提供する他のモデルにも新しい値が適用されます。変更前に影響範囲全体を確認してください。
モデル定義
Models → Model Definitions を開き、表示名などの条件でモデルを検索します。レコードをクリックすると既存の定義を編集できます。新しいモデル名を接続する場合は、New をクリックして定義を追加します。
一般的なモデルを自分で管理する必要はありません。プラットフォームには主要なモデルの定義(基本情報と価格)が組み込まれており、表示名、コンテキスト、説明は自動的に更新されます。公開モデルライブラリにないモデルの場合のみ、New から手動で追加する必要があります。
基本情報
| フィールド | 説明 |
|---|---|
| Name | モデルの識別子です。接続設定で使用するモデル名と一致させる必要があります。アプリケーションのリクエストでは対応するモデル ID を使用します |
| Display name | 一覧などのページに表示される読みやすい名前です。変更しても、アプリケーションのリクエストで使うモデル ID は自動的には変わりません |
| Icon | モデルの表示に使用されます。プロバイダーの接続プロトコルやリクエストのルーティングは変わりません |
| Context | モデルのコンテキスト情報です。実際の能力に合わせて入力してください。ここを変更しても上流モデルの能力は拡張されません |
| Description | 用途、能力、利用上の制限を説明し、ユーザーがモデルを選びやすくします |
モデル定義は表示と課金の情報を担い、モデルの実際の接続はプロバイダーの設定で行います。定義を作成した後、そのモデルを対応するプロバイダーのサポート範囲に追加する必要があります。
課金方式と価格項目
per-token(従量課金)または per-request(回数課金)を選択します。従量課金は Token 使用量で精算し、回数課金は 1 回の呼び出しごとの固定価格を使用します。サービスの実際の課金方式に合わせて選択してください。
従量課金の場合は、設定が必要な価格項目を先に有効にしてから価格を入力します。ページ上の $/1M tokens は、100 万 Token あたりの米ドル価格を表します。
| 価格項目 | 対応する使用量 |
|---|---|
| Input price | 入力 Token |
| Output price | モデルが生成した出力 Token |
| Cache read price | 上流が報告したキャッシュ読み取り Token |
| Cache creation price | 上流が報告したキャッシュ作成 Token |
| Image input price | 対応する画像入力の使用量 |
| Audio input price | 対応する音声入力の使用量 |
| Audio completion price | 対応する音声出力の使用量。設定前に Audio input price の項目を有効にする必要があります |
業務要件に従って実際の価格を入力したら、レコードを送信または更新し、モデルマーケットプレイスでの価格表示を確認します。
価格項目のスイッチは課金設定を管理するためのもので、モデルの機能スイッチではありません。ある価格項目を無効にしても、その種類の呼び出しが無料になるわけではありません。実際の費用は、ゲートウェイの課金ルール、料金倍率、上流が報告した使用量にも左右されます。
グループ料金
Group Pricing は、呼び出しに料金倍率を設定するために使用します。たとえば standard、discount などのグループ料金を作成し、メンバーや API Key ごとに異なる倍率を適用し、プロバイダー側で適用するグループ料金を選択できます。
グループ料金の作成と管理
OneGateway の Group Pricing を開き、レコードを新規作成して設定を入力します。
| 設定項目 | 説明 |
|---|---|
| Name | インスタンス内で一意で、最大 50 文字です。識別しやすい小文字の英字、数字、アンダースコア、ハイフンの使用をおすすめします。作成後は変更できません |
| Description | このグループ料金の適用シーンをメンバーに説明するために使用します |
| Pricing Ratio | 0 以上の数値で、デフォルトは 1 です。たとえば 0.8 は、適用される課金ルールに 0.8 を乗じることを意味します |
| User-selectable | このグループ料金をユーザーの選択肢として提供するかどうかを制御します。オフにした場合は、既存の API Key のグループ料金設定もあわせて確認してください |
| Sort order | グループ料金の表示順を調整します |
作成後、プロバイダーで適用するプロバイダーにこのグループ料金を選択し、プロバイダーのサポートモデルと有効状態を確認します。グループ料金を作成しただけでは、自動的にモデルサービスが接続されることはありません。
グループ料金が API Key やプロバイダーなどのレコードから参照されている場合は削除できません。先に参照を解除する必要があります。
ユーザーのグループ料金の設定
新しいユーザーの OneGateway アカウントを初期化する際、システムは現在の組織で条件を満たすグループ料金のうち、作成日時が最も早いものをデフォルトのグループ料金として選択します。
ユーザーのグループ料金を調整するには:
- Users 一覧で対象ユーザーを開きます。
- Edit Group Pricing からユーザーのグループ料金を選択します。
- ページに Selectable Group Pricing が表示される場合は、ユーザーが API Key を作成する際に追加で選択できる他のグループ料金を必要に応じて設定します。
- Save をクリックし、更新後のグループ料金と選択可能なグループ料金を確認します。
ユーザー自身のグループ料金はデフォルトで選択可能です。アカウントが未初期化であると表示された場合は、ユーザーが有効化されていること、OneGateway のロールを持っていること、関連するアカウント設定が完了していることを確認してください。
API Key へのグループ料金の指定
API Keys を作成または編集する際に、Group Pricing でそのキーに適用する料金を選択します。設定しない場合は、ユーザーのグループ料金が使用されます。
API Key で呼び出せるモデルは、キーの available models によって制限されます。呼び出しでモデルが利用できないと表示された場合は、そのモデルを提供するプロバイダーが有効になっており、かつそのキーが使用するグループ料金が選択されていることも確認してください。
ユーザーのグループ料金または選択可能なグループ料金を調整した後は、使用中の API Key を 1 つずつ確認してください。特に、グループ料金を明示的に指定しているキーに注意が必要です。調整が完了したら、対応する API Key で 1 回呼び出しを行い、リクエストログでモデル、プロバイダー、費用が想定どおりであることを確認します。
検証とトラブルシューティング
クイック検証
接続または変更が完了したら、1 回の実際の呼び出しで設定を一通り確認します。
- プロバイダーで接続情報、サポートモデル、グループ料金を確認し、プロバイダーが有効になっていることを確認します。
- モデルマーケットプレイスで対象モデルを見つけ、利用可能な提供プロバイダーが存在することを確認し、モデル ID をコピーします。
- グループ料金がプロバイダーと一致し、利用可能なモデルにそのモデルが含まれる API Key を使い、クイックスタートに従って「あなた自身を一文で紹介してください」などの簡単な質問を送信します。リクエストの
modelはコピーした ID に置き換えます。 - リクエストログで、リクエスト結果、モデル、プロバイダー、Token 使用量、費用を確認します。
- ルーティングや価格を調整した場合は、ダッシュボードと分析で以降の呼び出しの分布と費用の変化も確認します。
設定が反映されない場合の確認
保存したのに呼び出し結果が変わらない場合は、次の順序で確認します。
- 同期結果を確認する:同期状態とエラーメッセージを確認して失敗原因に対処し、設定が同期されたことを確認してから再テストします。
- モデルとプロバイダーを照合する:現在のゲートウェイインスタンス、モデル ID、プロバイダーのサポートモデル範囲が一致しており、プロバイダーが有効になっていることを確認します。
- 呼び出し権限を確認する:API Key のグループ料金、モデルの制限、利用可能なクォータを確認します。
- リクエストログと照合する:新しいリクエストを送信し、実際に使用されたモデル、プロバイダー、エラー情報を確認します。ルーティングや価格の変更後は、新しいリクエストの結果で調整を検証します。