Les modèles partenaires OpenAI sur Gemini Enterprise Agent Platform sont compatibles avec l'API OpenAI Responses (publishers/openai/v1/responses) pour la génération de texte à partir d'entrées de texte et d'images, l'appel d'outils, le contrôle de l'effort de raisonnement et la compression des conversations.
Avant de commencer
Pour utiliser des modèles partenaires OpenAI avec Gemini Enterprise Agent Platform, vous devez suivre les étapes ci-dessous. L'API Gemini Enterprise Agent Platform (aiplatform.googleapis.com) doit être activée sur votre projet 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.-
Suivez les étapes d'intégration décrites dans Modèles OpenAI GPT, y compris l'achat du produit via Google Cloud Marketplace et l'activation du modèle dans Model Garden.
-
Si la règle de votre organisation limite l'accès au modèle, autorisez le modèle dans cette règle.
Rôles requis
Pour obtenir les autorisations nécessaires pour appeler des modèles partenaires OpenAI, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur Agent Platform (roles/aiplatform.user) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Points de terminaison
Les modèles partenaires OpenAI sont diffusés à partir des URL de base de la plate-forme d'agent suivantes :
- Point de terminaison mondial (
global) :https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1 - Point de terminaison multirégional aux États-Unis (
us) :https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/openai/v1
Remplacez <var>PROJECT_ID</var> par l'ID du projet Cloud de Confiance .
Appeler l'API Responses à l'aide du SDK Python OpenAI
Vous pouvez utiliser la bibliothèque Python openai officielle en définissant base_url sur le point de terminaison de votre plate-forme d'agent et en transmettant un jeton d'accès OAuth 2.0 Cloud de Confiance by S3NS actualisé en tant que api_key. Définissez store=False pour les requêtes sans état et les charges de travail 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)
Diffuser un flux de réponses
Pour diffuser des deltas de texte incrémentiels sur des événements envoyés par le serveur (SSE), définissez 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="")
Historique des conversations compact
Pour les sessions d'agent à long horizon, appelez le point de terminaison de compactage autonome (POST .../responses/compact) pour compresser les messages précédents dans un élément de compactage chiffré qui peut être transmis aux appels /responses sans état suivants :
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)
Appeler l'API Responses à l'aide du SDK OpenAI pour Node.js
Vous pouvez utiliser la bibliothèque Node.js openai officielle avec les identifiants 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);
Appeler l'API Responses à l'aide du SDK OpenAI pour Go
Vous pouvez utiliser la bibliothèque openai-go officielle avec les identifiants 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()) }
Appeler l'API Responses à l'aide de curl
Vous pouvez envoyer une requête REST directement à l'API Responses à l'aide de curl.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance .
Méthode HTTP et URL :
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/openai/v1/responses
Corps JSON de la requête :
{
"model": "gpt-6.1-sol",
"input": "Summarize the key differences between Cloud de Confiance by S3NS and OpenAI terms.",
"reasoning": {"effort": "medium"},
"store": false
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
Gestion des exceptions
Intégrez un intervalle exponentiel entre les tentatives avec gigue sur les réponses 429 et 5xx dans les charges de travail de production.
| Code d'état | Cause probable | Action recommandée |
|---|---|---|
401 |
Le jeton d'accès a expiré ou n'est pas valide. | Actualisez votre jeton d'accès Cloud de Confiance by S3NS et relancez la requête. |
403 |
L'identité de l'appelant ne dispose pas des autorisations requises, ou l'API, le projet ou le modèle n'est pas activé. | Vérifiez les rôles IAM, l'activation de l'API, l'ajout du projet à la liste d'autorisation et l'activation de Model Garden. |
404 |
Le chemin d'accès, l'emplacement ou l'identifiant du modèle du point de terminaison sont incorrects. | Vérifiez l'URL de base, le segment d'emplacement et le nom du modèle. |
429 |
Limite de débit, de quota ou de capacité disponible atteinte. | Réessayez avec un intervalle exponentiel entre les tentatives. Contactez l'équipe chargée de votre compte si le problème persiste. |
5xx |
Condition de serveur temporaire. | Réessayer avec un intervalle exponentiel entre les tentatives |
Connecter Codex à Cloud de Confiance by S3NS
Vous pouvez configurer OpenAI Codex (CLI ou application de bureau) pour acheminer les requêtes de modèle via votre projet Cloud de Confiance à l'aide de l'authentification Cloud de Confiance by S3NS .
Pour obtenir des instructions de configuration complètes, des étapes de connexion interactives et des options config.toml manuelles, consultez Connecter OpenAI Codex àCloud de Confiance by S3NS.
Étapes suivantes
- Configurez les outils pour les développeurs dans Connecter OpenAI Codex àCloud de Confiance by S3NS.
- Consultez les spécifications du modèle, les procédures de ZDR et les conditions applicables dans Modèles OpenAI GPT.
- En savoir plus sur la surveillance des utilisations abusives et la conservation zéro des données