Gemini Enterprise Agent Platform の OpenAI パートナー モデルは、テキストと画像の入力からのテキスト生成、ツール呼び出し、推論の労力制御、会話の圧縮に OpenAI Responses API(publishers/openai/v1/responses)をサポートしています。
始める前に
Gemini Enterprise Agent Platform で OpenAI パートナー モデルを使用するには、次の手順を完了する必要があります。 Cloud de Confiance プロジェクトで Gemini Enterprise Agent Platform API(aiplatform.googleapis.com)を有効にする必要があります。
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
OpenAI GPT モデルのオンボーディング手順を完了します。これには、Google Cloud Marketplace でプロダクトを購入し、Model Garden でモデルを有効にすることも含まれます。
-
組織のポリシーでモデルへのアクセスが制限されている場合は、そのポリシーでモデルを許可します。
必要なロール
OpenAI パートナー モデルを呼び出すために必要な権限を取得するには、プロジェクトに対する Agent Platform ユーザー(roles/aiplatform.user)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
エンドポイント
OpenAI パートナー モデルは、次の Agent Platform ベース URL から提供されます。
- グローバル エンドポイント(
global):https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1 - 米国マルチリージョン エンドポイント(
us):https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1
<var>PROJECT_ID</var> は、実際の Cloud de Confiance プロジェクト ID に置き換えます。
OpenAI Python SDK を使用して Responses API を呼び出す
公式の openai Python ライブラリを使用するには、base_url を Agent Platform エンドポイントに設定し、更新された Cloud de Confiance by S3NS OAuth 2.0 アクセス トークンを api_key として渡します。ステートレス リクエストと ZDR ワークロードに store=False を設定します。
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) response = client.responses.create( model="gpt-6.1-sol", input="Explain how Zero Data Retention works on Agent Platform.", reasoning={"effort": "medium"}, store=False, ) print(response.output_text)
レスポンスをストリーミングする
サーバー送信イベント(SSE)を介して増分テキスト デルタをストリーミングするには、stream=True を設定します。
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) stream = client.responses.create( model="gpt-6-luna", input="Write a short Python function to validate a JSON schema.", stream=True, store=False, ) for event in stream: if event.type == "response.output_text.delta": print(event.delta, end="")
会話履歴をコンパクトに表示
長期的なエージェント セッションの場合は、スタンドアロンの圧縮エンドポイント(POST .../responses/compact)を呼び出して、以前のメッセージを暗号化された圧縮アイテムに圧縮します。このアイテムは、後続のステートレス /responses 呼び出しに渡すことができます。
import google.auth from google.auth.transport.requests import Request from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(Request()) project_id = "PROJECT_ID" base_url = ( f"https://aiplatform.googleapis.com/v1/projects/{project_id}" "/locations/global/publishers/openai/v1" ) client = OpenAI( base_url=base_url, api_key=credentials.token, ) compacted = client.responses.compact( model="gpt-6-astra", input=[ {"role": "user", "content": "Audit our multi-region VPC firewall rules."}, {"role": "assistant", "content": "I checked the ingress rules for us-east1 and us-central1."}, ], ) print(compacted.output)
OpenAI Node.js SDK を使用して Responses API を呼び出す
公式の openai Node.js ライブラリを Cloud de Confiance by S3NS OAuth 認証情報で使用できます。
import OpenAI from "openai"; const projectId = "PROJECT_ID"; const client = new OpenAI({ apiKey: process.env.GOOGLE_CLOUD_ACCESS_TOKEN, baseURL: `https://aiplatform.googleapis.com/v1/projects/${projectId}/locations/global/publishers/openai/v1`, }); const response = await client.responses.create({ model: "gpt-6-luna", input: "Write a short summary of how authentication works on Agent Platform.", store: false, }); console.log(response.output_text);
OpenAI Go SDK を使用して Responses API を呼び出す
Cloud de Confiance by S3NS OAuth 認証情報で公式の openai-go ライブラリを使用できます。
package main import ( "context" "fmt" "os" "github.com/openai/openai-go/v3" "github.com/openai/openai-go/v3/option" "github.com/openai/openai-go/v3/responses" ) func main() { ctx := context.Background() projectID := "PROJECT_ID" client := openai.NewClient( option.WithAPIKey(os.Getenv("GOOGLE_CLOUD_ACCESS_TOKEN")), option.WithBaseURL("https://aiplatform.googleapis.com/v1/projects/"+projectID+"/locations/global/publishers/openai/v1"), ) response, err := client.Responses.New(ctx, responses.ResponseNewParams{ Model: "gpt-6-luna", Input: responses.ResponseNewParamsInputUnion{ OfString: openai.String("Write a one-sentence bedtime story about a unicorn."), }, Store: openai.Bool(false), }) if err != nil { panic(err) } fmt.Println(response.OutputText()) }
curl を使用して Responses API を呼び出す
curl を使用して、Responses API に REST リクエストを直接送信できます。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Cloud de Confiance プロジェクト ID。
HTTP メソッドと URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses
リクエストの本文(JSON):
{
"model": "gpt-6.1-sol",
"input": "Summarize the key differences between Cloud de Confiance by S3NS and OpenAI terms.",
"reasoning": {"effort": "medium"},
"store": false
}
リクエストを送信するには、次のいずれかのオプションを展開します。
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
エラー処理
429 レスポンスと 5xx レスポンスにジッターを伴う指数バックオフを本番環境のワークロードに組み込みます。
| ステータス コード | 考えられる原因 | 推奨される対処方法 |
|---|---|---|
401 |
アクセス トークンの有効期限が切れているか、無効です。 | Cloud de Confiance by S3NS アクセス トークンを更新して、リクエストを再試行します。 |
403 |
呼び出し元の ID に必要な権限がないか、API、プロジェクト、モデルが有効になっていません。 | IAM ロール、API の有効化、プロジェクトの許可リストへの登録、Model Garden の有効化を確認します。 |
404 |
エンドポイントのパス、ロケーション、モデル ID が正しくない。 | ベース URL、ロケーション セグメント、モデル名を確認します。 |
429 |
レート、割り当て、または使用可能な容量の上限に達しました。 | 指数バックオフを使用して再試行します。問題が解決しない場合は、アカウント チームにお問い合わせください。 |
5xx |
一時的なサーバーの状態。 | 指数バックオフを使用して再試行する。 |
Codex を Cloud de Confiance by S3NSに接続する
OpenAI Codex(CLI またはデスクトップ アプリ)を構成して、 Cloud de Confiance by S3NS 認証を使用して Cloud de Confiance プロジェクト経由でモデル リクエストをルーティングできます。詳細な設定手順、インタラクティブなログイン手順、手動の config.toml オプションについては、OpenAI Codex をCloud de Confiance by S3NSに接続するをご覧ください。
次のステップ
- OpenAI Codex をCloud de Confiance by S3NSに接続するでデベロッパー ツールを構成します。
- モデルの仕様、ZDR の手順、管理規約については、OpenAI GPT モデルをご覧ください。
- 不正行為のモニタリングとゼロデータ保持について確認する。