Data Engineering Agent API: Datenpipelines mit einem Agenten erstellen

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.