このガイドは Oracle のベータ版 Python サンプルに沿って、 アプリケーション管理のプロビジョニングを使用します。アプリケーションが Agents API セッションと OCI サンドボックスの両方を作成・削除します。
OpenAI Cookbook のアプリケーション管理のサンプルを参照してください。
プロビジョニングモードと接続時の動作については、サンドボックスのライフサイクルを参照してください。
OCI GenAI Sandbox はベータ版です。アカウントでの利用を申請するには、Oracle のアカウント担当者にお問い合わせください。
事前準備
サンドボックスを有効にした Generative AI プロジェクトを作成します。プロジェクトのコンパートメント内でプロジェクトとサンドボックスを管理できる権限を、ご利用の OCI アイデンティティに付与します。以下の IAM ポリシーのプレースホルダーを置き換えてください。
allow group <group-name> to manage generative-ai-sandbox in compartment <compartment-name>
allow group <group-name> to manage generative-ai-project in compartment <compartment-name>
Node.js と npm を備えたサンドボックスランタイムを使用します。Oracle のサンプルでは、デフォルトで python-3.11 を指定しています。npm が含まれていない場合は、互換性のあるカスタムランタイムを選択してください。
プロジェクトでアウトバウンドトラフィックを制限している場合は、Codex のインストールに必要な registry.npmjs.org への HTTPS 接続、api.openai.com への HTTPS 接続、codex-cloud-environments.chatgpt.com へのセキュアな WebSocket 接続を許可してください。エグゼキューターのネットワークアクセスを参照してください。
1. OCI CLI とベータ版 SDK のインストール
仮想環境を作成し、OCI CLI をインストールします。
uv venv --python 3.14
source .venv/bin/activate
uv pip install --upgrade oci-cli
次に、オンボーディング時に Oracle から提供されたベータ版 Python SDK をインストールします。
uv pip install "/path/to/oci-<beta-version>-py3-none-any.whl"
ベータ版 SDK は、CLI をインストールした 後に インストールしてください。その後で oci-cli をインストールまたはアップグレードすると、ベータ版 SDK が PyPI の oci パッケージに置き換わることがあります。その場合は、ベータ版の wheel を再インストールしてください。ベータ版 SDK には oci.generative_ai_sandbox が含まれている必要があります。
2. OCI 環境の設定
アカウントで有効になっているリージョンで、セキュリティトークンを使用するプロファイルの認証を行います。
oci session authenticate --profile-name Sandbox --region us-chicago-1
プロジェクトの OCID と OpenAI の認証情報を設定します。これらはコミットしないでください。
export OCI_SANDBOX_PROJECT_ID="ocid1.generativeaiproject..."
export OPENAI_API_KEY="..."
export OPENAI_EXECUTOR_API_KEY="..."
アプリケーションからのリクエストには OPENAI_API_KEY を使用します。OPENAI_EXECUTOR_API_KEY に環境キーを設定し、そのキーだけを CODEX_API_KEY としてサンドボックスに渡します。
Oracle のサンプルは Sandbox プロファイルを読み込み、us-chicago-1 を使用します。デフォルト値を上書きするには、次のように設定します。
export OCI_SANDBOX_PROFILE="my-profile"
export OCI_SANDBOX_REGION="us-chicago-1"
このサンプルでは、次のオプション設定も指定できます。
| 設定 | デフォルト |
|---|---|
OCI_SANDBOX_ENDPOINT | https://inference.generativeai.<region>.oci.oraclecloud.com |
OCI_SANDBOX_RUNTIME | python-3.11 |
OCI_SANDBOX_SHAPE | SMALL |
OCI_SANDBOX_EXPIRATION | PT30M(30 分) |
独自のアプリケーションを設定する際は、プロファイルのセキュリティトークンと秘密鍵を oci.auth.signers.SecurityTokenSigner で使用します。選択したリージョンとエンドポイントを指定し、oci.generative_ai_sandbox の GenerativeAiSandboxClient を使ってサンドボックスクライアントを作成します。
3. アプリケーション管理のセッションの実行
Agents API リクエストとエグゼキューターの起動コマンドについては、セルフホスト接続ガイドを参照してください。Oracle のサンプルと同じ流れで進めます。
/workspaceを作業ディレクトリとするセルフホストの Agents API セッションを作成します。セッション ID と環境 ID を保存します。- OCI GenAI Sandbox を作成し、状態が
RUNNINGになるまで待ちます。 - Codex をインストールし、サンドボックス内に
/workspace/brief.txtを書き込みます。 - セッションの環境 ID と環境キーを使用して、
codex exec-serverを起動します。 - セッションのイベントストリームを開き、
brief.txtをもとに移行計画を作成するようエージェントに依頼する入力を送信します。完了を待ち、生成された/workspace/plan.mdを読み込みます。 - OCI サンドボックスを停止して削除し、その後で Agents API セッションを削除します。どちらかのクリーンアップ処理が失敗しても、両方の処理を試みてください。
後続のターンを実行する場合は両方のリソースを維持し、サンドボックスを削除する前にファイルを取得してください。ベータ版 SDK は Oracle が指定するバージョンを使用してください。プレビューリリースでは、サンドボックス API の名前が変更される場合があります。