Mit der Data Engineering Agent API, auf die über geminidataanalytics.googleapis.com zugegriffen wird, können Sie Datenpipelines erstellen, ändern und verwalten, um Daten in BigQuery zu laden und zu verarbeiten. Die API verwendet das A2A
Protokoll, mit dem Sie Prompts in natürlicher Sprache verwenden können
, um Datenpipelines für Ihre Data-Engineering-Anforderungen zu generieren und zu bearbeiten.
Weitere Informationen zum Data Engineering Agent finden Sie unter Data Engineering-Agenten zum Erstellen und Ändern von Daten pipelines verwenden.
Weitere Informationen dazu, wie und wann Gemini forIhre Daten verwendet. Google Cloud
Hinweis
Führen Sie die Schritte in diesen Abschnitten aus, bevor Sie die Data Engineering Agent API verwenden.
APIs aktivieren
Prüfen Sie, ob die erforderlichen APIs aktiviert sind und Sie die erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Erforderliche APIs aktivieren.
Clientbibliotheken installieren
Installieren Sie die folgenden Clientbibliotheken:
Weitere Informationen finden Sie unter Agent2Agent-Protokoll (A2A).
Unterstützte A2A-Erweiterungen
Der Data Engineering Agent unterstützt die folgenden A2A-Erweiterungen. Einige davon sind für die Interaktion mit dem Data Engineering Agent erforderlich.
| Name der Erweiterung | Anforderung | Beschreibung | URI |
|---|---|---|---|
GcpResource |
Erforderlich | Die Google Cloud Ressourcen-ID für die Ressource, auf die der Agent angewendet wird. Dies ist für jede Anfrage erforderlich. | https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1 |
ConversationToken |
Optional | Eine Erweiterung für den Multi-Turn-Unterhaltungsverlauf als undurchsichtiges Unterhaltungstoken. Diese Erweiterung ist für Multi-Turn-Unterhaltungen erforderlich, um die Unterhaltung ab einem vorherigen Zustand fortzusetzen. Kopieren Sie dazu den Wert des Unterhaltungstokens im Metadatenfeld der vorherigen Antwort des Agents und fügen Sie ihn in das Metadatenfeld der nächsten Anfrage an den Agent ein. |
https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1 |
MessageLevel |
Optional | Die Nachrichtenebene für die Sichtbarkeitskontrolle von Nachrichtenaktualisierungen durch den Client. Der Agent, der diese Erweiterung unterstützt, fügt jeder message die messageLevel für die Sichtbarkeitskontrolle durch den Client hinzu. |
https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1 |
Finish Reason |
Optional | Eine Erweiterung, die den Grund dafür angibt, warum der Agent beendet wurde. Wenn DEADLINE_EXCEEDED zurückgegeben wird, setzt der Client die Aufgabe an der Stelle fort, an der er sie beendet hat. Das Unterhaltungstoken wird in der Antwort in den Metadaten zurückgegeben. |
https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 |
A2A-Erweiterung aktivieren
Um die A2A-Erweiterung zu aktivieren, muss der Client den Header A2A-Extensions in die HTTP-Anfrage an den Agent einfügen. Der Wert ist eine durch Kommas getrennte Liste von Erweiterungs-URIs für die Aktivierung.
Die Erweiterung GcpResource muss aktiviert sein, um mit der Data Engineering Agent A2A API zu interagieren.
Das folgende Beispiel zeigt eine HTTP-Anfrage zum Aktivieren der A2A-Erweiterung.
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/pipelinecontext/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" }
Die Antwort könnte so aussehen:
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/pipelinecontext/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" } } }
Wichtige API-Vorgänge
Die API bietet die folgenden Kernendpunkte für die Verwendung des Data Engineering Agent:
| Vorgang | HTTP-Methode | Endpunkt | Beschreibung |
|---|---|---|---|
| Agentenkarte abrufen | GET | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/card |
Ruft die Informationen der Agentenkarte ab. |
| Streaming-Nachricht senden | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:stream |
Eine Streaming-Methode zum Senden eines Prompts an den Agent und zum Empfangen von Streaming-Antworten. Die folgende Berechtigung ist erforderlich: geminidataanalytics.locations.useDataEngineeringAgent. |
| Nachricht senden | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:send |
Eine unäre Methode zum Senden eines Prompts an den Agent und zum Empfangen einer synchronen Antwort. Dies kann für schnelle Validierungen oder Fragen mit nur einer Antwortrunde nützlich sein. Die folgende Berechtigung ist erforderlich: geminidataanalytics.locations.useDataEngineeringAgent. |
Zusätzliche Ressourcen
Detaillierte Beschreibungen von Methoden, Endpunkten und Typdefinitionen für Anfrage- und Antwortstrukturen finden Sie in der REST-Referenz zur Data Engineering Agent API.