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 Google Cloud Anda.

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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

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

  9. 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 Google Cloud 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 Google Cloud 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 Google Cloud :

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 Google Cloud :

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 Google Cloud 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 Google Cloud 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 Google Cloud 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 Google Cloud

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

Langkah berikutnya