Los modelos de socios de OpenAI en Gemini Enterprise Agent Platform admiten la
API de OpenAI Responses (publishers/openai/v1/responses) para la generación de texto
a partir de entradas de texto e imagen, llamadas a herramientas, control del esfuerzo de razonamiento
y compactación de conversaciones.
Antes de comenzar
Para usar los modelos de socios de OpenAI con Gemini Enterprise Agent Platform, debes completar
los siguientes pasos. La API de Gemini Enterprise Agent Platform
(aiplatform.googleapis.com) debe estar habilitada en tu proyecto de 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 los pasos de incorporación en Modelos de GPT de OpenAI, lo que incluye comprar el producto a través de Google Cloud Marketplace y habilitar el modelo en Model Garden.
-
Si la política de tu organización restringe el acceso al modelo, permite el modelo en esa política.
Roles obligatorios
Para obtener los permisos que
necesitas para llamar a los modelos de socios de OpenAI,
pídele a tu administrador que te otorgue el rol de IAM de
Usuario de Agent Platform (roles/aiplatform.user) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Extremos
Los modelos de socios de OpenAI se entregan desde las siguientes URLs base de Agent Platform:
- Extremo global (
global):https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1 - Extremo multirregional de EE.UU. (
us):https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1
Reemplaza <var>PROJECT_ID</var> por el ID del proyecto de Cloud de Confiance .
Llama a la API de Responses con el SDK de OpenAI para Python
Puedes usar la biblioteca oficial de Python de openai configurando base_url como tu
extremo de Agent Platform y pasando un token de acceso de Cloud de Confiance by S3NS OAuth 2.0
actualizado como api_key. Establece store=False para las solicitudes sin estado y las cargas de trabajo de 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)
Mostrar respuestas en tiempo real
Para transmitir diferencias de texto incrementales en eventos enviados por el servidor (SSE), configura
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="")
Historial de conversaciones compacto
Para las sesiones de agentes de largo horizonte, llama al extremo de compactación independiente
(POST .../responses/compact) para comprimir los mensajes anteriores en un elemento de compactación
encriptado que se pueda pasar a las llamadas sin estado posteriores de /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)
Llama a la API de Responses con el SDK de OpenAI para Node.js
Puedes usar la biblioteca oficial de Node.js de openai con credenciales de OAuth de 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);
Llama a la API de Responses con el SDK de OpenAI para Go
Puedes usar la biblioteca oficial de openai-go con las credenciales de OAuth de 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()) }
Llama a la API de Responses con curl
Puedes enviar una solicitud de REST directamente a la API de Responses con curl.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID del proyecto de Cloud de Confiance .
Método HTTP y URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses
Cuerpo JSON de la solicitud:
{
"model": "gpt-6.1-sol",
"input": "Summarize the key differences between Cloud de Confiance by S3NS and OpenAI terms.",
"reasoning": {"effort": "medium"},
"store": false
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.
Manejo de errores
Compila una retirada exponencial con Jitter en las respuestas 429 y 5xx en las cargas de trabajo de producción.
| Código de estado | Causa probable | Acción recomendada |
|---|---|---|
401 |
El token de acceso venció o no es válido. | Actualiza tu token de acceso de Cloud de Confiance by S3NS y vuelve a intentar la solicitud. |
403 |
La identidad del emisor no tiene los permisos necesarios, o bien la API, el proyecto o el modelo no están habilitados. | Verifica los roles de IAM, la habilitación de la API, la lista de entidades permitidas del proyecto y la habilitación de Model Garden. |
404 |
La ruta del extremo, la ubicación o el identificador del modelo son incorrectos. | Verifica la URL base, el segmento de ubicación y el nombre del modelo. |
429 |
Se alcanzó el límite de frecuencia, cuota o capacidad disponible. | Retírate de forma exponencial y vuelve a intentarlo. Comunícate con tu equipo de cuentas si el problema persiste. |
5xx |
Condición transitoria del servidor. | Vuelve a intentarlo con una retirada exponencial. |
Conecta Codex a Cloud de Confiance by S3NS
Puedes configurar OpenAI Codex (app para computadoras o CLI) para enrutar las solicitudes
del modelo a través de tu proyecto de Cloud de Confiance con la autenticación de Cloud de Confiance by S3NS .
Para obtener instrucciones de configuración completas, pasos de acceso interactivos y opciones manuales de
config.toml, consulta Conecta OpenAI Codex a
Cloud de Confiance by S3NS.
¿Qué sigue?
- Configura las herramientas para desarrolladores en Conecta OpenAI Codex a Cloud de Confiance by S3NS.
- Revisa las especificaciones del modelo, los procedimientos de ZDR y las condiciones aplicables en Modelos GPT de OpenAI.
- Obtén más información sobre la supervisión de abusos y la retención de datos cero.