I modelli partner di OpenAI su Gemini Enterprise Agent Platform supportano l'API OpenAI Responses (publishers/openai/v1/responses) per la generazione di testo da input di testo e immagini, la chiamata degli strumenti, il controllo dello sforzo di ragionamento e la compressione delle conversazioni.
Prima di iniziare
Per utilizzare i modelli partner di OpenAI con Gemini Enterprise Agent Platform, devi completare i seguenti passaggi. L'API Gemini Enterprise Agent Platform (aiplatform.googleapis.com) deve essere abilitata nel tuo progetto Cloud de Confiance .
-
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.-
Completa i passaggi di onboarding in Modelli OpenAI GPT, tra cui l'acquisto del prodotto tramite Google Cloud Marketplace e l'abilitazione del modello in Model Garden.
-
Se la policy della tua organizzazione limita l'accesso ai modelli, consenti il modello in questione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per chiamare i modelli partner di OpenAI, chiedi all'amministratore di concederti il ruolo IAM Agent Platform User (roles/aiplatform.user) sul progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Endpoint
I modelli partner di OpenAI vengono forniti dai seguenti URL di base di Agent Platform:
- Endpoint globale (
global):https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1 - Endpoint multiregionale degli Stati Uniti (
us):https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1
Sostituisci <var>PROJECT_ID</var> con l'ID progetto Cloud de Confiance .
Chiama l'API Responses utilizzando l'SDK Python di OpenAI
Puoi utilizzare la libreria Python ufficiale openai impostando base_url sul tuo endpoint della piattaforma dell'agente e passando un token di accesso OAuth 2.0 Cloud de Confiance by S3NS aggiornato come api_key. Imposta store=False per le richieste stateless e i 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)
Risposte dinamiche
Per trasmettere in streaming delta di testo incrementali su Server-Sent Events (SSE), imposta 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="")
Cronologia delle conversazioni compatta
Per le sessioni degli agenti a lungo termine, chiama l'endpoint di compattazione autonomo (POST .../responses/compact) per comprimere i messaggi precedenti in un elemento di compattazione criptato che può essere passato alle chiamate /responses stateless successive:
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)
Chiama l'API Responses utilizzando l'SDK Node.js di OpenAI
Puoi utilizzare la libreria Node.js ufficiale di openai con le credenziali OAuth di 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);
Chiama l'API Responses utilizzando l'SDK OpenAI Go
Puoi utilizzare la libreria openai-go ufficiale con le credenziali Cloud de Confiance by S3NS OAuth:
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()) }
Chiama l'API Responses utilizzando curl
Puoi inviare una richiesta REST direttamente all'API Responses utilizzando curl.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: l'ID progetto Cloud de Confiance .
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses
Corpo JSON della richiesta:
{
"model": "gpt-6.1-sol",
"input": "Summarize the key differences between Cloud de Confiance by S3NS and OpenAI terms.",
"reasoning": {"effort": "medium"},
"store": false
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Gestione degli errori
Crea un backoff esponenziale con jitter sulle risposte 429 e 5xx nei workload di produzione.
| Codice di stato | Causa probabile | Azione consigliata |
|---|---|---|
401 |
Token di accesso scaduto o non valido. | Aggiorna il token di accesso Cloud de Confiance by S3NS e riprova a inviare la richiesta. |
403 |
L'identità del chiamante non dispone delle autorizzazioni richieste oppure l'API, il progetto o il modello non sono abilitati. | Verifica i ruoli IAM, l'abilitazione delle API, l'inserimento del progetto nella lista consentita e l'abilitazione di Model Garden. |
404 |
Il percorso dell'endpoint, la località o l'identificatore del modello non sono corretti. | Verifica l'URL di base, il segmento della località e il nome del modello. |
429 |
Limite di frequenza, quota o capacità disponibile raggiunto. | Esegui il backoff esponenziale e riprova. Se il problema persiste, contatta il team dedicato al tuo account. |
5xx |
Condizione temporanea del server. | Riprova con un backoff esponenziale. |
Connetti Codex a Cloud de Confiance by S3NS
Puoi configurare OpenAI Codex (app desktop o interfaccia a riga di comando) per instradare le richieste del modello tramite il tuo progetto Cloud de Confiance utilizzando l'autenticazione Cloud de Confiance by S3NS .
Per istruzioni complete sulla configurazione, passaggi di accesso interattivi e opzioni di accesso manuale di config.toml, consulta Connetti OpenAI Codex aCloud de Confiance by S3NS.
Passaggi successivi
- Configura gli strumenti per sviluppatori in Connetti OpenAI Codex a Cloud de Confiance by S3NS.
- Esamina le specifiche dei modelli, le procedure di ZDR e i termini di utilizzo in Modelli OpenAI GPT.
- Scopri di più sul monitoraggio degli abusi e sulla conservazione dei dati pari a zero.