Puoi utilizzare l'API Data Engineering Agent, a cui si accede tramite
geminidataanalytics.googleapis.com, per creare, modificare e gestire pipeline di dati
per caricare ed elaborare i dati in BigQuery. L'API utilizza il protocollo
A2A che ti consente di utilizzare prompt in linguaggio naturale
per generare e modificare pipeline di dati per le tue esigenze di ingegneria dei dati.
Per saperne di più su Data Engineering Agent, consulta Utilizzare Data Engineering Agent per creare e modificare pipeline di dati.
Scopri come e quando Gemini per Google Cloud utilizza i tuoi dati.
Prima di iniziare
Prima di utilizzare l'API Data Engineering Agent, esegui i passaggi descritti in queste sezioni.
Abilita API
Assicurati di aver attivato le API richieste e di disporre delle autorizzazioni necessarie. Per saperne di più, consulta Abilitare le API richieste.
Installazione delle librerie client
Installa le seguenti librerie client:
Per saperne di più, consulta Protocollo Agent2Agent (A2A).
Estensioni A2A supportate
Data Engineering Agent supporta le seguenti estensioni A2A, alcune delle quali sono necessarie per interagire con Data Engineering Agent.
| Nome estensione | Requisito | Descrizione | URI |
|---|---|---|---|
GcpResource |
Obbligatorio | L'ID risorsa Google Cloud per la risorsa su cui opera l'agente. Questo è obbligatorio per ogni richiesta. | https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1 |
ConversationToken |
Facoltativo | Un'estensione della cronologia delle conversazioni a turni multipli come token di conversazione opaco. Questa estensione è necessaria per le conversazioni multi-turno per continuare la conversazione da uno stato precedente. Per continuare, copia il valore del token di conversazione nel campo dei metadati della risposta precedente dell'agente e includilo nel campo dei metadati della richiesta successiva all'agente. |
https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1 |
MessageLevel |
Facoltativo | Il livello di messaggio per il controllo della visibilità del client sugli aggiornamenti dei messaggi. L'agente che supporta questa estensione allega il messageLevel a ogni message per il controllo della visibilità del client. |
https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1 |
Finish Reason |
Facoltativo | Un'estensione che indica il motivo per cui l'agente si è fermato. Quando viene restituito DEADLINE_EXCEEDED, il client riprende l'attività da dove l'aveva interrotta con il token di conversazione restituito nella risposta nei metadati. |
https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 |
Instruction |
Facoltativo | Istruzione dell'agente definita dall'utente. L'agente che supporta questa estensione accetta un elenco di istruzioni dell'agente come contesto aggiuntivo con la chiave agentInstructions. L'istruzione dell'agente è definita dal seguente schema:
|
https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1 |
Attivare l'estensione A2A
Per attivare l'estensione A2A, il client deve includere l'intestazione A2A-Extensions
nella richiesta HTTP all'agente. Il valore è un elenco separato da virgole di URI di estensione per l'attivazione.
L'estensione GcpResource deve essere attivata per interagire con l'API Data
Engineering Agent A2A.
L'esempio seguente mostra una richiesta HTTP per attivare l'estensione A2A.
POST /v1/a2a/projects/{project}/locations/{location}/agents/dataengineeringagent/v1/message:stream HTTP/1.1 Host: geminidataanalytics.googleapis.com Content-Type: application/json Authorization: Bearer $(gcloud auth print-access-token) A2A-Extensions: https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 Content-Length: 869 { "request": { "messageId": "0ad14bfa-8d17-48ce-8669-52a856129a66", "role": "ROLE_USER", "contextId": "test-context-id", "content": [{ "text": "hi" }] }, "metadata": { "https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1": "cmVxdWVzdGNvbnZlcnNhdGlvbnRva2Vu", "https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1": { "gcpResourceId": "projects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}" }, "https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1": { "agentInstructions": [{ "definition": "Always use uppercase for SQL keywords.", "name": "style_guide.md" }] } }, "tenant": "projects/{project}/locations/{location}/agents/dataengineeringagent" }
La risposta potrebbe essere simile alla seguente.
HTTP/1.1 200 OK Content-Type: application/json A2A-Extensions: https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 Transfer-Encoding: chunked { "statusUpdate": { "status": { "state": "TASK_STATE_COMPLETED", "timestamp": "example-timestamp" }, "final": true, "metadata": { "https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1": "Y29udmVyc2F0aW9udG9rZW4=", "https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1": "FINISHED" } } }
Operazioni API chiave
L'API fornisce i seguenti endpoint principali per l'utilizzo dell'agente di Data Engineering:
| Operazione | Metodo HTTP | Endpoint | Descrizione |
|---|---|---|---|
| Recupera la scheda Agente | GET | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/card |
Recupera le informazioni della scheda dell'agente. |
| Invia messaggio in streaming | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:stream |
Un metodo di streaming per inviare un prompt all'agente e ricevere risposte in streaming. È necessaria la seguente autorizzazione: geminidataanalytics.locations.useDataEngineeringAgent. |
| Invia messaggio | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:send |
Un metodo unario per inviare un prompt all'agente e ricevere una risposta sincrona. Può essere utile per la convalida rapida o per domande a un solo turno. È necessaria la seguente autorizzazione: geminidataanalytics.locations.useDataEngineeringAgent. |
Risorse aggiuntive
Per descrizioni dettagliate di metodi, endpoint e definizioni di tipo per le strutture di richiesta e risposta, consulta il riferimento all'API REST di Data Engineering Agent.