OCIリージョン間でのモデル・リクエストのルーティング
オンデマンド・モデルのルーティング・プロファイルを作成し、チャット完了およびPythonアプリケーションからのレスポンス・リクエストのルーティング・プロファイルOCIDを使用します。
概要
ルーティング・プロファイルは、サポートされている1つのオンデマンド・モデルと、そのモデルが使用可能な同じレルム内の1つ以上のターゲットOCIリージョンを指定します。アプリケーションは、リージョナルOCI生成AI APIエンドポイントにリクエストを送信し、ルーティング・プロファイルOCIDをmodel値として渡します。生成AIは、プロファイルの適格なリージョンからの各リクエストを処理します。
アプリケーションで同じモデルと承認されたサービス・リージョンのセットが必要な場合は、1つのプロファイルを使用します。各アプリケーションでリージョン・リストを保持するかわりに、OCIでプロファイルの構成を更新できます。複数のターゲット・リージョンを持つプロファイルは、ラウンドロビン・ルーティングまたは固定リージョン優先度を意味しません。
このチュートリアルでは、2つのPythonアプリケーションがシカゴAPIエンドポイントを呼び出します。1つはチャット完了を使用し、もう1つはレスポンスを使用します。どちらも、シカゴ、フランクフルトまたは大阪からの提供を許可するopenai.gpt-oss-120bのルーティング・プロファイルを使用します。
プロファイルを作成し、OpenAI Python SDKをインストールし、両方の例を実行して、x-genai-selected-regionレスポンス・ヘッダーをチェックし、各リクエストを処理したリージョンを確認します。
選択したモデルがOCIチャット完了およびレスポンスAPIの両方をサポートしている場合にのみ、両方のAPIでプロファイルを使用できます。どちらのAPIも、CPUのみのリージョンのルーティング・プロファイルを介して使用できます。CPUのみのリージョンからコールする場合は、そのリージョンのAPIエンドポイントを使用し、モデルが使用可能なターゲット・リージョンを選択します。
始める前に
このチュートリアルを完了するには、次のものが必要です。
- OCI生成AIへのアクセス、選択したコンパートメントにルーティング・プロファイルを作成する権限、および推論に使用する権限。API-Level Permissions for Routing Profilesを参照してください。
- ターゲット・リージョンでテナンシで使用可能な、サポートされているオンデマンド・モデル。両方の例を1つのプロファイルで実行するには、両方のAPIをサポートするモデルを選択します。リージョン別の生成AIモデルを参照してください。
- シカゴ・エンドポイントを介したリクエストに対して認可されたOCI生成AI APIキー。キーをソース・コードに配置したり、リポジトリにコミットしないでください。
- Python 3.11以降、および
uvはmacOS、LinuxまたはWindows Subsystem for Linuxにインストールされます。このチュートリアルのコマンドは、Bash互換のシェルを使用します。
この例では、OpenAI Python SDKをOCIのOpenAI互換エンドポイントとともに使用します。OCI Python SDKやOCI CLIは必要ありません。
1. ルーティング・プロファイルの作成
この例では、US Midwest (Chicago)にプロファイルを作成します。ターゲット・リージョンはAPIエンドポイント・リージョンと異なる場合がありますが、選択したモデルおよび同じレルムで使用可能である必要があります。この例のモデルまたはリージョンがテナンシで使用できない場合は、使用可能なオプションを選択します。
2.Python環境の準備
3. チャット完了の例の実行
4. レスポンスの実行例
この例は、ルーティング・プロファイルで選択されたモデルがレスポンスAPIをサポートする場合にのみ使用します。チャット完了の例と同じプロファイルOCIDおよびリージョン・エンドポイントが使用されます。
結果の確認とトラブルシューティング
どちらのスクリプトでも、Explain model routing in two sentences.などのプロンプトを入力します。アシスタントの応答は端末にストリームされます。OCIがx-genai-selected-regionを返す場合、スクリプトはリクエストを処理したリージョンを表示します。APIエンドポイントのリージョンであるシカゴと異なる場合がありますが、プロファイルのターゲット・リージョンの1つである必要があります。
どちらの例も、空のプロンプトをスキップします。exitまたはquitと入力し、Ctrl+Cを押すか、プロンプトで入力終了を送信して停止します。履歴は、スクリプトの実行中にのみ保持されます。
| 現象 | 確認対象 |
|---|---|
| 認証または認可エラー | OCI生成AI APIキー、そのリージョンとアクセス、ルーティング・プロファイルの読取り権限、および推論操作の権限を確認します。 |
| プロファイルが見つからないか、モデル値が無効です | OCI_ROUTING_PROFILE_OCIDのフル・プロファイルOCIDを使用します。プロファイルが「アクティブ」であり、OCI_REGIONがコールするエンドポイント・リージョンを指していることを確認します。 |
| サポートされていないAPIまたはリクエスト・パラメータ | 選択したプロファイル・モデルが、スクリプトで使用されるAPIをサポートしていることを確認します。このチュートリアルでは、モデル固有のreasoningパラメータは必要ありません。 |
| 要求を処理できません | 選択したモデルがプロファイルのターゲット・リージョンで使用可能であることを確認し、返されたエラーをレビューします。 |
提供リージョンはnot reportedです |
スクリプトでは、レスポンス・ヘッダーにx-genai-selected-regionが見つかりませんでした。レスポンスとサービスの動作を確認し、APIエンドポイントのみからサービング・リージョンを推測しないでください。 |
この例では、プロファイルベースのリクエストとストリーミング・テキストを示します。ルーティング優先度、ロード・バランシング・アルゴリズムまたはフェイルオーバー・ポリシーを定義または検証しません。