Responses API

Model partner OpenAI di Gemini Enterprise Agent Platform mendukung OpenAI Responses API (publishers/openai/v1/responses) untuk pembuatan teks dari input teks dan gambar, panggilan alat, kontrol upaya penalaran, dan pemadatan percakapan.

Sebelum memulai

Untuk menggunakan model partner OpenAI dengan Gemini Enterprise Agent Platform, Anda harus menyelesaikan langkah-langkah berikut. Gemini Enterprise Agent Platform API (aiplatform.googleapis.com) harus diaktifkan di project Cloud de Confiance Anda.

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. 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.enable permission. 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.

    Enable the API

  4. Selesaikan langkah-langkah aktivasi di Model GPT OpenAI, termasuk membeli produk melalui Google Cloud Marketplace dan mengaktifkan model di Model Garden.

  5. Jika kebijakan organisasi Anda membatasi akses model, izinkan model dalam kebijakan tersebut.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk memanggil model partner OpenAI, minta administrator untuk memberi Anda peran IAM Agent Platform User (roles/aiplatform.user) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Endpoint

Model partner OpenAI disajikan dari URL dasar Agent Platform berikut:

  • Endpoint global (global): https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1
  • Endpoint multi-region AS (us): https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1

Ganti <var>PROJECT_ID</var> dengan project ID Cloud de Confiance Anda.

Memanggil Responses API menggunakan OpenAI Python SDK

Anda dapat menggunakan library Python openai resmi dengan menetapkan base_url ke endpoint Agent Platform Anda dan meneruskan token akses OAuth 2.0 Cloud de Confiance by S3NS yang diperbarui sebagai api_key. Tetapkan store=False untuk permintaan stateless dan workload ZDR.

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)

Aktifkan respons bertahap

Untuk melakukan streaming delta teks inkremental melalui peristiwa yang dikirim server (SSE), tetapkan 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="")

Histori percakapan ringkas

Untuk sesi agen jangka panjang, panggil endpoint pemadatan mandiri (POST .../responses/compact) untuk mengompresi pesan sebelumnya menjadi item pemadatan terenkripsi yang dapat diteruskan ke panggilan /responses stateless berikutnya:

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)

Memanggil Responses API menggunakan OpenAI Node.js SDK

Anda dapat menggunakan library Node.js openai resmi dengan kredensial OAuth Cloud de Confiance by S3NS :

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);

Memanggil Responses API menggunakan OpenAI Go SDK

Anda dapat menggunakan library openai-go resmi dengan kredensial OAuth Cloud de Confiance by S3NS :

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())
}

Memanggil Responses API menggunakan curl

Anda dapat mengirim permintaan REST langsung ke Responses API menggunakan curl.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Cloud de Confiance Anda.

Metode HTTP dan URL:

POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses

Meminta isi 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
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima kode status berhasil (2xx) dan respons kosong.

Penanganan error

Bangun backoff eksponensial dengan jitter pada respons 429 dan 5xx ke dalam workload produksi.

Kode status Kemungkinan penyebab Tindakan yang disarankan
401 Token akses sudah tidak berlaku atau tidak valid. Perbarui token akses Cloud de Confiance by S3NS Anda dan coba lagi permintaan tersebut.
403 Identitas pemanggil tidak memiliki izin yang diperlukan, atau API, project, atau model tidak diaktifkan. Verifikasi peran IAM, pengaktifan API, daftar yang diizinkan project, dan pengaktifan Model Garden.
404 Jalur endpoint, lokasi, atau ID model salah. Verifikasi URL dasar, segmen lokasi, dan nama model.
429 Batas kapasitas, kuota, atau kapasitas yang tersedia telah tercapai. Lakukan backoff secara eksponensial dan coba lagi. Hubungi tim akun Anda jika masalah berlanjut.
5xx Kondisi server sementara. Coba lagi dengan backoff eksponensial.

Hubungkan Codex ke Cloud de Confiance by S3NS

Anda dapat mengonfigurasi OpenAI Codex (CLI atau Aplikasi Desktop) untuk merutekan permintaan model melalui project Cloud de Confiance Anda menggunakan autentikasi Cloud de Confiance by S3NS . Untuk mengetahui petunjuk penyiapan lengkap, langkah-langkah login interaktif, dan opsi config.toml manual, lihat Menghubungkan OpenAI Codex keCloud de Confiance by S3NS.

Langkah berikutnya