Sie können die Data Engineering Agent API, auf die über geminidataanalytics.googleapis.com zugegriffen wird, verwenden, um Datenpipelines zum Laden und Verarbeiten von Daten in BigQuery zu erstellen, zu ändern und zu verwalten. Die API verwendet das A2A-Protokoll, mit dem Sie Datenpipelines für Ihre Data-Engineering-Anforderungen mithilfe von Prompts in natürlicher Sprache generieren und bearbeiten können.
Weitere Informationen zum Data-Engineering-Agenten finden Sie unter Data-Engineering-Agenten zum Erstellen und Ändern von Datenpipelines verwenden.
Weitere Informationen dazu, wie und wann Gemini for Google Cloud Ihre Daten verwendet
Hinweis
Bevor Sie die Data Engineering Agent API verwenden, müssen Sie die Schritte in den folgenden Abschnitten ausführen.
APIs aktivieren
Prüfen Sie, ob Sie die erforderlichen APIs aktiviert haben und die erforderlichen Berechtigungen besitzen. 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 zugreift. 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 aus einem vorherigen Zustand fortzusetzen. Kopieren Sie den Wert des Konversationstokens im Metadatenfeld der vorherigen Antwort des Agenten und fügen Sie ihn in das Metadatenfeld der nächsten Anfrage an den Agenten ein. |
https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1 |
MessageLevel |
Optional | Die Nachrichtenebene für die Client-Sichtbarkeitssteuerung von Nachrichtenaktualisierungen. Der Agent, der diese Erweiterung unterstützt, fügt jedem message das messageLevel hinzu, um die Sichtbarkeit für den Kunden zu steuern. |
https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1 |
Finish Reason |
Optional | Eine Erweiterung, die den Grund für das Anhalten des KI-Agenten angibt. Wenn DEADLINE_EXCEEDED zurückgegeben wird, setzt der Client die Aufgabe an der Stelle fort, an der sie unterbrochen wurde. Das Konversationstoken, das in der Antwort zurückgegeben wird, befindet sich in den Metadaten. |
https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 |
Instruction |
Optional | Vom Nutzer definierte Agent-Anweisung. Der Agent, der diese Erweiterung unterstützt, akzeptiert eine Liste von Agent-Anweisungen als zusätzlichen Kontext mit dem Schlüssel agentInstructions. Die Anweisung für den KI-Agenten wird durch das folgende Schema definiert:
|
https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1 |
A2A-Erweiterung aktivieren
Damit die A2A-Erweiterung aktiviert wird, muss Ihr Client den Header A2A-Extensions in die HTTP-Anfrage an den Agent aufnehmen. Der Wert ist eine durch Kommas getrennte Liste von Erweiterungs-URIs für die Aktivierung.
Die GcpResource-Erweiterung muss aktiviert sein, damit Sie mit der Data Engineering Agent A2A API interagieren können.
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/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/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 Agent-Karte ab. |
| Streamingnachricht senden | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:stream |
Eine Streamingmethode zum Senden eines Prompts an den Agenten und zum Empfangen von Streamingantworten. 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 Agenten und zum Empfangen einer synchronen Antwort. Das kann für eine schnelle Validierung oder Fragen mit nur einer Antwort hilfreich 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.