I modelli Grok di xAI su Gemini Enterprise Agent Platform supportano l'API Responses per la generazione di risposte.
Questa pagina mostra come effettuare chiamate ai modelli Grok utilizzando l'API Responses.
Prima di iniziare
Per utilizzare i modelli Grok con Gemini Enterprise Agent Platform, devi eseguire i seguenti passaggi. L'API Gemini Enterprise Agent Platform (aiplatform.googleapis.com) deve essere abilitata.
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud 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.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud 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.
Effettua una chiamata stateless all'API Responses
Il valore predefinito di store è false, quindi le richieste sono stateless, a meno che non imposti store su true. I seguenti esempi impostano esplicitamente store su false (o False in Python).
Effettua una chiamata non in streaming all'API Responses
I seguenti esempi mostrano come effettuare una chiamata non in streaming all'API Responses:
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) response = client.responses.create( model="MODEL", input="INPUT", max_output_tokens=MAX_OUTPUT_TOKENS, stream=False, store=False, ) print(response)
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - INPUT: il prompt o l'input per il modello.
- MAX_OUTPUT_TOKENS:
numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - INPUT: il prompt o l'input per il modello.
- MAX_OUTPUT_TOKENS:
numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses
Corpo JSON della richiesta:
{
"model": "MODEL",
"input": "INPUT",
"max_output_tokens": MAX_OUTPUT_TOKENS,
"stream": false,
"store": false
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" | Select-Object -Expand Content
L'esempio seguente mostra una richiesta curl completa:
curl -s -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" \ -d '{ "model": "xai/grok-4.7", "input": "Explain black holes in one short sentence.", "max_output_tokens": 100, "stream": false, "store": false }'
In base alla definizione dell'API Responses, una risposta non in streaming conterrà un ID univoco, i metadati del modello, le statistiche sull'utilizzo e un array di output contenente il testo generato.
{
"background": false,
"completed_at": 1778892918,
"created_at": 1778892916,
"error": null,
"frequency_penalty": 0,
"id": "c8AHavnIMP6UifEPgIfcgAg",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"metadata": {
"system_fingerprint": "fp_39c5j0a3e9"
},
"model": "MODEL",
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"logprobs": [],
"text": "OUTPUT_TEXT",
"type": "output_text"
}
],
"id": "msg_c8AHavnIMP6UifEPgIfcgAg",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": null,
"prompt_cache_key": null,
"reasoning": {
"effort": "medium",
"summary": "detailed"
},
"safety_identifier": null,
"service_tier": "default",
"status": "completed",
"store": false,
"temperature": 0.7,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 0.95,
"truncation": "disabled",
"usage": {
"extra_properties": {
"google": {
"traffic_type": "ON_DEMAND"
}
},
"input_tokens": 335,
"input_tokens_details": {
"cached_tokens": 320
},
"num_server_side_tools_used": 0,
"num_sources_used": 0,
"output_tokens": 305,
"output_tokens_details": {
"reasoning_tokens": 284
},
"total_tokens": 640
},
"user": null
}
Effettua una chiamata in streaming all'API Responses
I seguenti esempi mostrano come effettuare una chiamata in streaming all'API Responses:
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) stream = client.responses.create( model="MODEL", input="INPUT", max_output_tokens=MAX_OUTPUT_TOKENS, stream=True, store=False, ) for event in stream: if event.type == "response.output_text.delta": print(event.delta, end="")
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - INPUT: il prompt o l'input per il modello.
- MAX_OUTPUT_TOKENS:
numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - INPUT: il prompt o l'input per il modello.
- MAX_OUTPUT_TOKENS:
numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses
Corpo JSON della richiesta:
{
"model": "MODEL",
"input": "INPUT",
"max_output_tokens": MAX_OUTPUT_TOKENS,
"stream": true,
"store": false
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" | Select-Object -Expand Content
Effettua una chiamata stateful all'API Responses
Per effettuare richieste stateful, devi configurare il servizio policy dell'organizzazione in modo da consentirle.
In particolare, aggiorna il vincolo constraints/vertexai.allowedPartnerModelFeatures aggiungendo publishers/xai/models/MODEL_NAME:stateful_responses_api ai valori consentiti (ad esempio, publishers/xai/models/grok-4.7:stateful_responses_api). Per saperne di più, consulta Controlla l'accesso ai modelli.
L'API Responses supporta conversazioni multi-turno tramite richieste stateful.
Il valore predefinito di store è false, quindi per effettuare una richiesta stateful devi impostare esplicitamente store su true. In una conversazione stateful, puoi fare riferimento a una risposta precedente fornendo il relativo id nel campo previous_response_id.
Crea una risposta
I seguenti esempi mostrano una conversazione a due turni utilizzando l'API Responses:
Turno 1: richiesta iniziale
Nel primo turno, effettua una richiesta con store impostato su true. Se ometti il parametro store, il valore predefinito è false e la risposta non viene archiviata.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) response = client.responses.create( model="MODEL", input="randomly pick 3 colors, just return the words of the colors", store=True, ) print(response)
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7.
Esempio di risposta per il turno 1:
{ "background": false, "completed_at": 1793834418, "created_at": 1793834418, "error": null, "frequency_penalty": 0, "id": "5f76a045-71d9-45af-8b07-1f2feae0675a", "incomplete_details": null, "instructions": null, "max_output_tokens": null, "max_tool_calls": null, "metadata": { "system_fingerprint": "fp_grok47_0" }, "model": "xai/grok-4.7", "object": "response", "output": [ { "content": [ { "annotations": [], "logprobs": [], "text": "cerulean amber violet", "type": "output_text" } ], "id": "msg_5f76a045-71d9-45af-8b07-1f2feae0675a", "role": "assistant", "status": "completed", "type": "message" } ], "parallel_tool_calls": true, "presence_penalty": 0, "previous_response_id": null, "prompt_cache_key": null, "reasoning": { "effort": "high", "summary": "detailed" }, "safety_identifier": null, "service_tier": "default", "status": "completed", "store": true, "temperature": 0.7, "text": { "format": { "type": "text" } }, "tool_choice": "auto", "tools": [], "top_logprobs": 0, "top_p": 0.95, "truncation": "disabled", "usage": { "context_details": { "input_tokens": 220, "output_tokens": 144 }, "extra_properties": { "google": { "traffic_type": "ON_DEMAND" } }, "input_tokens": 220, "input_tokens_details": { "cached_tokens": 0 }, "num_server_side_tools_used": 0, "num_sources_used": 0, "output_tokens": 144, "output_tokens_details": { "reasoning_tokens": 139 }, "total_tokens": 364 }, "user": null }
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7.
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses
Corpo JSON della richiesta:
{
"model": "MODEL",
"input": "randomly pick 3 colors, just return the words of the colors",
"store": true
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" | Select-Object -Expand Content
L'esempio seguente mostra una richiesta curl completa:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" \ -d '{ "model": "xai/grok-4.7", "input": "randomly pick 3 colors, just return the words of the colors", "store": true }'
Esempio di risposta per il turno 1:
{
"background": false,
"completed_at": 1793834418,
"created_at": 1793834418,
"error": null,
"frequency_penalty": 0,
"id": "5f76a045-71d9-45af-8b07-1f2feae0675a",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"metadata": {
"system_fingerprint": "fp_grok47_0"
},
"model": "xai/grok-4.7",
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"logprobs": [],
"text": "cerulean amber violet",
"type": "output_text"
}
],
"id": "msg_5f76a045-71d9-45af-8b07-1f2feae0675a",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": null,
"prompt_cache_key": null,
"reasoning": {
"effort": "high",
"summary": "detailed"
},
"safety_identifier": null,
"service_tier": "default",
"status": "completed",
"store": true,
"temperature": 0.7,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 0.95,
"truncation": "disabled",
"usage": {
"context_details": {
"input_tokens": 220,
"output_tokens": 144
},
"extra_properties": {
"google": {
"traffic_type": "ON_DEMAND"
}
},
"input_tokens": 220,
"input_tokens_details": {
"cached_tokens": 0
},
"num_server_side_tools_used": 0,
"num_sources_used": 0,
"output_tokens": 144,
"output_tokens_details": {
"reasoning_tokens": 139
},
"total_tokens": 364
},
"user": null
}
Turno 2: richiesta di follow-up
Nel secondo turno, fai riferimento all'ID della risposta precedente nel parametro previous_response_id. Imposta store su true se vuoi memorizzare anche questa risposta, ad esempio per continuare la conversazione o recuperarla in un secondo momento.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) response = client.responses.create( model="MODEL", input="What is the second color?", previous_response_id="PREVIOUS_RESPONSE_ID", store=True, ) print(response)
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - PREVIOUS_RESPONSE_ID: l'ID della risposta precedente per continuare la conversazione.
Esempio di risposta per il turno 2:
{ "background": false, "completed_at": 1793835029, "created_at": 1793835029, "error": null, "frequency_penalty": 0, "id": "ee8b6aa6-777e-4aa2-8db4-46bbfe84491b", "incomplete_details": null, "instructions": null, "max_output_tokens": null, "max_tool_calls": null, "metadata": { "system_fingerprint": "fp_grok47_0" }, "model": "xai/grok-4.7", "object": "response", "output": [ { "content": [ { "annotations": [], "logprobs": [], "text": "amber", "type": "output_text" } ], "id": "msg_ee8b6aa6-777e-4aa2-8db4-46bbfe84491b", "role": "assistant", "status": "completed", "type": "message" } ], "parallel_tool_calls": true, "presence_penalty": 0, "previous_response_id": "5f76a045-71d9-45af-8b07-1f2feae0675a", "prompt_cache_key": null, "reasoning": { "effort": "high", "summary": "detailed" }, "safety_identifier": null, "service_tier": "default", "status": "completed", "store": true, "temperature": 0.7, "text": { "format": { "type": "text" } }, "tool_choice": "auto", "tools": [], "top_logprobs": 0, "top_p": 0.95, "truncation": "disabled", "usage": { "context_details": { "input_tokens": 239, "output_tokens": 41 }, "extra_properties": { "google": { "traffic_type": "ON_DEMAND" } }, "input_tokens": 239, "input_tokens_details": { "cached_tokens": 0 }, "num_server_side_tools_used": 0, "num_sources_used": 0, "output_tokens": 41, "output_tokens_details": { "reasoning_tokens": 40 }, "total_tokens": 280 }, "user": null }
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- MODEL: il nome del modello che vuoi utilizzare, ad esempio
xai/grok-4.7. - PREVIOUS_RESPONSE_ID: l'ID della risposta precedente.
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses
Corpo JSON della richiesta:
{
"model": "MODEL",
"input": "What is the second color?",
"previous_response_id": "PREVIOUS_RESPONSE_ID",
"store": true
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" | Select-Object -Expand Content
L'esempio seguente mostra una richiesta curl completa:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses" \ -d '{ "model": "xai/grok-4.7", "input": "What is the second color?", "previous_response_id": "5f76a045-71d9-45af-8b07-1f2feae0675a", "store": true }'
Esempio di risposta per il turno 2:
{
"background": false,
"completed_at": 1793835029,
"created_at": 1793835029,
"error": null,
"frequency_penalty": 0,
"id": "ee8b6aa6-777e-4aa2-8db4-46bbfe84491b",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"metadata": {
"system_fingerprint": "fp_grok47_0"
},
"model": "xai/grok-4.7",
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"logprobs": [],
"text": "amber",
"type": "output_text"
}
],
"id": "msg_ee8b6aa6-777e-4aa2-8db4-46bbfe84491b",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": "5f76a045-71d9-45af-8b07-1f2feae0675a",
"prompt_cache_key": null,
"reasoning": {
"effort": "high",
"summary": "detailed"
},
"safety_identifier": null,
"service_tier": "default",
"status": "completed",
"store": true,
"temperature": 0.7,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 0.95,
"truncation": "disabled",
"usage": {
"context_details": {
"input_tokens": 239,
"output_tokens": 41
},
"extra_properties": {
"google": {
"traffic_type": "ON_DEMAND"
}
},
"input_tokens": 239,
"input_tokens_details": {
"cached_tokens": 0
},
"num_server_side_tools_used": 0,
"num_sources_used": 0,
"output_tokens": 41,
"output_tokens_details": {
"reasoning_tokens": 40
},
"total_tokens": 280
},
"user": null
}
Ricevi una risposta
Puoi recuperare una risposta generata in precedenza tramite il suo ID.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import json import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) response_id = "RESPONSE_ID" retrieved_response = client.responses.retrieve(response_id) print(json.dumps(retrieved_response.model_dump(), indent=2))
- PROJECT_ID: l'ID progetto Google Cloud .
- RESPONSE_ID: l'ID della risposta da recuperare.
Esempio di risposta:
{ "background": false, "completed_at": 1793834418, "created_at": 1793834418, "error": null, "frequency_penalty": 0, "id": "5f76a045-71d9-45af-8b07-1f2feae0675a", "incomplete_details": null, "instructions": null, "max_output_tokens": null, "max_tool_calls": null, "metadata": { "system_fingerprint": "fp_grok47_0" }, "model": "xai/grok-4.7", "object": "response", "output": [ { "content": [ { "annotations": [], "logprobs": [], "text": "cerulean amber violet", "type": "output_text" } ], "id": "msg_5f76a045-71d9-45af-8b07-1f2feae0675a", "role": "assistant", "status": "completed", "type": "message" } ], "parallel_tool_calls": true, "presence_penalty": 0, "previous_response_id": null, "prompt_cache_key": null, "reasoning": { "effort": "high", "summary": "detailed" }, "safety_identifier": null, "service_tier": "default", "status": "completed", "store": true, "temperature": 0.7, "text": { "format": { "type": "text" } }, "tool_choice": "auto", "tools": [], "top_logprobs": 0, "top_p": 0.95, "truncation": "disabled", "usage": { "context_details": { "input_tokens": 220, "output_tokens": 144 }, "extra_properties": { "google": { "traffic_type": "ON_DEMAND" } }, "input_tokens": 220, "input_tokens_details": { "cached_tokens": 0 }, "num_server_side_tools_used": 0, "num_sources_used": 0, "output_tokens": 144, "output_tokens_details": { "reasoning_tokens": 139 }, "total_tokens": 364 }, "user": null }
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- RESPONSE_ID: l'ID della risposta da recuperare.
Metodo HTTP e URL:
GET https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID" | Select-Object -Expand Content
L'esempio seguente mostra una richiesta curl completa:
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/5f76a045-71d9-45af-8b07-1f2feae0675a"
Esempio di risposta:
{
"background": false,
"completed_at": 1793834418,
"created_at": 1793834418,
"error": null,
"frequency_penalty": 0,
"id": "5f76a045-71d9-45af-8b07-1f2feae0675a",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"metadata": {
"system_fingerprint": "fp_grok47_0"
},
"model": "xai/grok-4.7",
"object": "response",
"output": [
{
"content": [
{
"annotations": [],
"logprobs": [],
"text": "cerulean amber violet",
"type": "output_text"
}
],
"id": "msg_5f76a045-71d9-45af-8b07-1f2feae0675a",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": null,
"prompt_cache_key": null,
"reasoning": {
"effort": "high",
"summary": "detailed"
},
"safety_identifier": null,
"service_tier": "default",
"status": "completed",
"store": true,
"temperature": 0.7,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 0.95,
"truncation": "disabled",
"usage": {
"context_details": {
"input_tokens": 220,
"output_tokens": 144
},
"extra_properties": {
"google": {
"traffic_type": "ON_DEMAND"
}
},
"input_tokens": 220,
"input_tokens_details": {
"cached_tokens": 0
},
"num_server_side_tools_used": 0,
"num_sources_used": 0,
"output_tokens": 144,
"output_tokens_details": {
"reasoning_tokens": 139
},
"total_tokens": 364
},
"user": null
}
Elimina una risposta
Puoi eliminare una risposta generata in precedenza in base al suo ID.
Dopo aver eliminato una risposta, non puoi recuperarla o utilizzare il suo ID come previous_response_id in una nuova richiesta. L'eliminazione di una risposta non rimuove i suoi contenuti dalle risposte successive nella stessa conversazione: ogni risposta che vi fa riferimento tramite previous_response_id mantiene i contenuti come contesto finché non elimini anche quella risposta. Per rimuovere un'intera conversazione, elimina tutte le risposte memorizzate al suo interno.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Prima di eseguire questo esempio, assicurati di impostare la variabile di ambiente OPENAI_BASE_URL o di configurare le credenziali OAuth.
Per saperne di più, consulta Autenticazione e credenziali.
import google.auth import google.auth.transport.requests from openai import OpenAI credentials, _ = google.auth.default( scopes=["https://www.googleapis.com/auth/cloud-platform"] ) credentials.refresh(google.auth.transport.requests.Request()) client = OpenAI( base_url="https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi", api_key=credentials.token, ) response_id = "RESPONSE_ID" delete_response = client.responses.delete(response_id) print(delete_response)
- PROJECT_ID: l'ID progetto Google Cloud .
- RESPONSE_ID: l'ID della risposta da eliminare.
Esempio di risposta:
{ "deleted": true, "id": "5f76a045-71d9-45af-8b07-1f2feae0675a", "object": "response" }
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud .
- RESPONSE_ID: l'ID della risposta da eliminare.
Metodo HTTP e URL:
DELETE https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/RESPONSE_ID" | Select-Object -Expand Content
L'esempio seguente mostra una richiesta curl completa:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/endpoints/openapi/responses/5f76a045-71d9-45af-8b07-1f2feae0675a"
Esempio di risposta:
{
"deleted": true,
"id": "5f76a045-71d9-45af-8b07-1f2feae0675a",
"object": "response"
}
Passaggi successivi
- Scopri di più sui modelli Grok.
- Scopri come utilizzare la chiamata di funzione con l'API Responses.
- Scopri come utilizzare l'output strutturato con l'API Responses.