A2A-Agenten registrieren und verwalten

Agent-to-Agent (A2A) ist ein offenes Kommunikationsprotokoll und eine universelle Sprache für Agenten. So können Agenten von verschiedenen Entwicklern und Plattformen einander finden, zusammenarbeiten und Aufgaben sicher delegieren. In diesem Dokument wird beschrieben, wie Gemini Enterprise-Administratoren Agenten, die mit A2A erstellt wurden und auf einer beliebigen Plattform gehostet werden, mit Gemini Enterprise verbinden und so für Nutzer in der Gemini Enterprise Web-App verfügbar machen können.

Hinweis

Sie benötigen Folgendes:

  • Die Rolle Discovery Engine Admin.

  • Aktivieren Sie die Discovery Engine API. Wenn Sie die Discovery Engine API für das Google Cloud-Projekt aktivieren möchten, rufen Sie in der Google Cloud Console die Seite Discovery Engine API auf.

    Zur Discovery Engine API

  • Eine vorhandene Gemini Enterprise-App. Informationen zum Erstellen einer App finden Sie unter App erstellen.

  • Ein Agent, der das A2A-Protokoll verwendet.

Autorisierungsdetails konfigurieren

Erstellen Sie OAuth 2.0-Anmeldedaten für den Agenten, damit er im Namen eines Nutzers auf Ressourcen von Google Cloud wie BigQuery-Tabellen zugreifen kann.

Details zur Autorisierung abrufen

So rufen Sie die Autorisierungsdetails ab:

  1. Rufen Sie in der Google Cloud Console auf der Seite APIs & Dienste die Seite Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Wählen Sie das Projekt von Google Cloud aus, in dem sich die Datenquelle befindet, auf die der Agent zugreifen soll. Wählen Sie beispielsweise das Projekt aus, das das BigQuery-Dataset enthält, das der Agent abfragen soll.

  3. Klicken Sie auf Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.

  4. Wählen Sie unter Anwendungstyp die Option Webanwendung aus.

  5. Fügen Sie im Abschnitt Autorisierte Weiterleitungs-URIs die folgenden URIs hinzu:

    • https://vertexaisearch.cloud.google.com/oauth-redirect
    • https://vertexaisearch.cloud.google.com/static/oauth/oauth.html
  6. Klicken Sie auf Erstellen.

  7. Klicken Sie im Bereich OAuth-Client erstellt auf JSON herunterladen. Die heruntergeladene JSON-Datei enthält die Client ID, Authorization URI, Token URI und Client secret für das ausgewählteGoogle Cloud -Projekt. Sie benötigen diese Informationen, um eine Autorisierungsressource zu erstellen:

Autorisierungsressource zu Gemini Enterprise hinzufügen

Führen Sie den folgenden Befehl aus, um eine Autorisierungsressource bei Gemini Enterprise zu registrieren:

REST

curl -X POST \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -H "Content-Type: application/json" \
   -H "X-Goog-User-Project: PROJECT_ID" \
   "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/authorizations?authorizationId=AUTH_ID" \
   -d '{
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizations/AUTH_ID",
      "serverSideOauth2": {
         "clientId": "OAUTH_CLIENT_ID",
         "clientSecret": "OAUTH_CLIENT_SECRET",
         "authorizationUri": "OAUTH_AUTH_URI",
         "tokenUri": "OAUTH_TOKEN_URI"
      }
   }'

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die Projekt-ID.
  • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • LOCATION: die Multiregion Ihres Datenspeichers: global, us oder eu
  • AUTH_ID: die ID der Autorisierungsressource. Dies ist eine beliebige alphanumerische ID, die Sie definieren. Sie müssen später auf diese ID verweisen, wenn Sie einen Agenten registrieren, der OAuth-Unterstützung erfordert.
  • OAUTH_CLIENT_ID: die OAuth 2.0-Client-ID, die Sie beim Erstellen der OAuth-Anmeldedaten erhalten haben.
  • OAUTH_CLIENT_SECRET: der OAuth 2.0-Clientschlüssel, den Sie beim Erstellen der OAuth-Anmeldedaten erhalten haben.
  • OAUTH_AUTH_URI: der Autorisierungs-URI, den Sie beim Erstellen der OAuth-Anmeldedaten erhalten haben. Er hat folgendes Format: https://accounts.google.com/o/oauth2/v2/auth?client_id=CLIENT_ID&redirect_uri=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fstatic%2Foauth%2Foauth.html&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbigquery&include_granted_scopes=true&response_type=code&access_type=offline&prompt=consent
  • OAUTH_TOKEN_URI: Der Token-URI, den Sie beim Erstellen der OAuth-Anmeldedaten erhalten haben.

A2A-Agenten bei Gemini Enterprise registrieren

Sie können Ihren A2A-Agenten bei Gemini Enterprise entweder über dieGoogle Cloud Console oder die REST API registrieren. Dadurch wird der Agent für Nutzer in einer Gemini Enterprise-App verfügbar.

Console

So registrieren Sie einen A2A-Agenten über die Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.

    Gemini Enterprise

  2. Klicken Sie auf den Namen der App, für die Sie den Agenten registrieren möchten.

  3. Klicken Sie auf Agenten > Agenten hinzufügen.

  4. Klicken Sie im Bereich Agenttyp auswählen für Benutzerdefinierter Agent über A2A auf Hinzufügen.

  5. Geben Sie im Feld JSON-Agentenkarte die Details der Agentenkarte im JSON-Format ein. Eine vollständige Liste der verfügbaren Felder finden Sie in der offiziellen Spezifikation des Agent2Agent-Protokolls (A2A). Im folgenden Beispiel werden nur die erforderlichen Felder verwendet.

    Beispiel:

    {
      "protocolVersion": "v1.0",
      "name": "Hello World Agent",
      "description": "Just a hello world agent",
      "url": "https://example.com/myagent",
      "iconUrl": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTkiIGhlaWdodD0iOTkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmdyYXk7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0zMyAwaDMzdjMzSDMzeiBNMCAzM2gzM3YzM0gweiBNNjYgMzNoMzN2MzNINjZ6IE0zMyA2NmgzM3YzM0gzM3oiIGZpbGw9ImJsdWUiLz48L3N2Zz4=",
      "version": "1.0.0",
      "capabilities": {
      },
      "skills": [
        {
          "id": "data-analysis",
          "name": "Data Analysis",
          "description": "Data analysis",
          "tags": []
        }
      ],
      "defaultInputModes": [
        "text/plain"
      ],
      "defaultOutputModes": [
        "text/plain"
      ]
    }
    
  6. Klicken Sie auf Agentendetails ansehen > Weiter.

  7. Schließen Sie die Einrichtung mit einer der folgenden Methoden ab:

    • Wenn der Agent in Ihrem Namen auf Google Cloud -Ressourcen zugreifen soll, gehen Sie so vor:

      1. Geben Sie die Client-ID, den Clientschlüssel, den Autorisierungs-URI und den Token-URI ein, die Sie im Abschnitt Autorisierungsdetails abrufen generiert haben.

      2. Geben Sie die Bereiche ein.

      3. Klicken Sie auf Beenden.

    • Wenn Sie nicht möchten, dass der Agent in Ihrem Namen auf Google Cloud -Ressourcen zugreift, klicken Sie auf Überspringen und beenden.

REST

Verwenden Sie zum Erstellen und Registrieren eines Agenten mit Gemini Enterprise die Methode agents.create. Im folgenden Befehl werden nur die erforderlichen Felder verwendet. Eine vollständige Liste der verfügbaren Felder finden Sie in der offiziellen Spezifikation des Agent2Agent-Protokolls (A2A).

Führen Sie diesen Befehl aus, um Ihren A2A-Agenten bei Gemini Enterprise zu registrieren:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents \
-d '
{
  "name": "AGENT_NAME",
  "displayName": "AGENT_DISPLAY_NAME",
  "description": "AGENT_DESCRIPTION",
  "a2aAgentDefinition": {
    "jsonAgentCard": "{\"protocolVersion\":\"PROTOCOLVERSION\",\"name\":\"AGENT_NAME\",\"description\":\"AGENT_DESCRIPTION\",\"url\":\"AGENT_URL\",\"version\":\"AGENT_VERSION\",\"defaultInputModes\":[\"INPUT_MODE\"],\"defaultOutputModes\":[\"OUTPUT_MODE\"],\"capabilities\":{ CAPABILITIES },\"skills\":[SKILLS]}"
  },
  "authorizationConfig": {
    "agentAuthorization": "projects/PROJECT_ID/locations/LOCATION/authorizations/AUTH_ID"
  }
}
'

Ersetzen Sie Folgendes:

  • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.
  • PROJECT_ID: Die Projekt-ID.
  • APP_ID: Die ID der App, mit der Sie den Agenten registrieren möchten.
  • AGENT_NAME: die eindeutige Kennung für den Agenten.
  • AGENT_DISPLAY_NAME: Der Name des Agenten, der in der Web-App angezeigt wird.
  • AGENT_DESCRIPTION: Die Beschreibung der Funktionen des Agenten.
  • PROTOCOLVERSION: Die Version des A2A-Protokolls, die der Agent unterstützt. Weitere Informationen zu den unterstützten Versionen finden Sie in den A2A-Versionshinweisen.
  • AGENT_URL: Die Endpunkt-URL des Agenten.
  • AGENT_VERSION: die Version des Agenten.
  • INPUT_MODE: der Standard-Eingabemedientyp. Zum Beispiel application/json oder text/plain.
  • OUTPUT_MODE: der Standard-Ausgabemedientyp. Zum Beispiel text/plain" oder image/png.
  • CAPABILITIES: ein JSON-Objekt mit unterstützten A2A-Funktionen. Beispiel: \"streaming\": true oder \"pushNotifications\": false
  • SKILLS: Eine Liste der AgentSkill-Objekte, die der Agent anbietet.
  • authorizationConfig: Wenn Sie die Autorisierungsdetails erhalten haben und der Agent im Namen des Nutzers auf Google Cloud -Ressourcen zugreifen soll, fügen Sie das Feld authorization_config in Ihre JSON-Ressource ein.

Mit einer App verbundene Agenten auflisten

Im folgenden Codebeispiel wird gezeigt, wie Sie die Details aller mit Ihrer App verbundenen Agenten abrufen können:

REST

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents"

Ersetzen Sie die Variablen durch folgende Werte:

  • ENDPOINT_LOCATION-: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
  • LOCATION: Der multiregionale Standort Ihrer Anwendung: global, us oder eu.
  • APP_ID: Die ID Ihrer Gemini Enterprise-App.

Wenn Ihr Agent nicht von Google vorab erstellt wurde, enthält die Antwort in den ersten Zeilen das Feld name. Der Wert dieses Felds enthält die Agenten-ID am Ende des Pfads. In der folgenden Antwort lautet die Agenten-ID beispielsweise 12345678901234567890:

{
"name": "projects/123456/locations/global/collections/default_collection/engines/my-app/assistants/default_assistant/agents/12345678901234567890",
...
}

A2A-Agentendetails ansehen

Im folgenden Codebeispiel wird gezeigt, wie Sie die Details eines Agenten abrufen können, der bei Gemini Enterprise registriert wurde:

REST

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"

Ersetzen Sie die Variablen durch folgende Werte:

  • ENDPOINT_LOCATION-: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
  • LOCATION: Der multiregionale Standort Ihrer Anwendung: global, us oder eu.
  • APP_ID: Die ID Ihrer Gemini Enterprise-App.
  • AGENT_ID: Die ID des Agenten. Sie können die Agenten-ID abrufen, indem Sie die mit Ihrer Anwendung verbundenen Agenten auflisten.

A2A-Agenten aktualisieren

Sie können die Details eines vorhandenen A2A-Agenten, der bei Gemini Enterprise registriert ist, entweder über die Google Cloud Console oder die REST API ändern.

Console

So aktualisieren Sie einen A2A-Agenten über die Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.

    Gemini Enterprise

  2. Klicken Sie auf den Namen der App, die den Agenten enthält, den Sie aktualisieren möchten.

  3. Klicken Sie auf Agenten.

  4. Klicken Sie auf den Namen des (benutzerdefinierten) A2A-Agenten, den Sie aktualisieren möchten, und dann auf Bearbeiten.

  5. Aktualisieren Sie im Feld JSON-Agentenkarte die Details der Agentenkarte im JSON-Format. Eine vollständige Liste der verfügbaren Felder finden Sie in der offiziellen Spezifikation des Agent2Agent-Protokolls (A2A). Im folgenden Beispiel werden nur die erforderlichen Felder verwendet.

    Beispiel:

    {
      "protocolVersion": "v3.0",
      "name": "Hello World Agent",
      "description": "Just a hello world agent",
      "url": "https://example.com/myagent",
      "iconUrl": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTkiIGhlaWdodD0iOTkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmdyYXk7IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0zMyAwaDMzdjMzSDMzeiBNMCAzM2gzM3YzM0gweiBNNjYgMzNoMzN2MzNINjZ6IE0zMyA2NmgzM3YzM0gzM3oiIGZpbGw9ImJsdWUiLz48L3N2Zz4=",
      "version": "1.1.0",
      "capabilities": {
      },
      "skills": [
        {
          "id": "data-analysis",
          "name": "Data Analysis",
          "description": "Data analysis",
          "tags": []
        }
      ],
      "defaultInputModes": [
        "text/plain"
      ],
      "defaultOutputModes": [
        "text/plain"
      ]
    }
    
  6. Klicken Sie auf Speichern.

REST

Verwenden Sie die Methode agents.patch, um die Details eines A2A-Agenten zu aktualisieren, der bei Gemini Enterprise registriert ist. Im folgenden Befehl werden nur die erforderlichen Felder verwendet. Eine vollständige Liste der verfügbaren Felder finden Sie in der offiziellen Spezifikation des Agent2Agent-Protokolls (A2A).

Führen Sie diesen Befehl aus, um Ihren A2A-Agenten bei Gemini Enterprise zu aktualisieren:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID \
-d '
{
  "name": "AGENT_NAME",
  "displayName": "AGENT_DISPLAY_NAME",
  "description": "AGENT_DESCRIPTION",
  "a2aAgentDefinition": {
    "jsonAgentCard": "{\"protocolVersion\":\"PROTOCOLVERSION\",\"name\":\"AGENT_NAME\",\"description\":\"AGENT_DESCRIPTION\",\"url\":\"AGENT_URL\",\"version\":\"AGENT_VERSION\",\"defaultInputModes\":[\"INPUT_MODE\"],\"defaultOutputModes\":[\"OUTPUT_MODE\"],\"capabilities\":{ CAPABILITIES },\"skills\":[SKILLS]}"
  },
  "authorizationConfig": {
    "agentAuthorization": "projects/PROJECT_ID/locations/LOCATION/authorizations/AUTH_ID"
  }
}
'

Ersetzen Sie Folgendes:

  • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.
  • PROJECT_ID: Die Projekt-ID.
  • APP_ID: Die ID der Anwendung, mit der Sie den Agenten registrieren möchten.
  • AGENT_ID: Die ID des Agenten. Sie können die Agenten-ID abrufen, indem Sie die mit Ihrer Anwendung verbundenen Agenten auflisten.
  • AGENT_NAME: Die eindeutige Kennung für den Agenten.
  • AGENT_DISPLAY_NAME: Der Name des Agenten, der in der Web-App angezeigt wird.
  • AGENT_DESCRIPTION: Die Beschreibung der Funktionen des Agenten.
  • PROTOCOLVERSION: Die Version des A2A-Protokolls, die der Agent unterstützt. Weitere Informationen zu den unterstützten Versionen finden Sie in den A2A-Versionshinweisen.
  • AGENT_URL: Die Endpunkt-URL des Agenten.
  • AGENT_VERSION: die Version des Agenten.
  • INPUT_MODE: der Standard-Eingabemedientyp. Zum Beispiel application/json oder text/plain.
  • OUTPUT_MODE: der Standard-Ausgabemedientyp. Zum Beispiel text/plain oder image/png.
  • CAPABILITIES: ein JSON-Objekt mit unterstützten A2A-Funktionen. Beispiel: \"streaming\": true oder \"pushNotifications\": false
  • SKILLS: eine Liste der AgentSkill-Objekte, die der Agent anbietet.
  • authorizationConfig: Wenn Sie die Autorisierungsdetails erhalten haben und der Agent im Namen des Nutzers auf Google Cloud -Ressourcen zugreifen soll, fügen Sie das Feld authorization_config in Ihre JSON-Ressource ein.

A2A-Agenten löschen

Im folgenden Codebeispiel wird gezeigt, wie Sie einen Agenten löschen, der mit Ihrer Anwendung verbunden ist:

REST

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"

Ersetzen Sie die Variablen durch folgende Werte:

  • ENDPOINT_LOCATION-: die Multiregion für Ihre API-Anfrage. Weisen Sie einen der folgenden Werte zu:
    • us- für die multiregionale Option „USA“
    • eu- für die multiregionale Option „EU“
    • global- für den globalen Standort
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
  • LOCATION: Der multiregionale Standort Ihrer Anwendung: global, us oder eu.
  • APP_ID: Die ID Ihrer Gemini Enterprise-App.
  • AGENT_ID: Die ID des Agenten. Sie können die Agenten-ID abrufen, indem Sie die mit Ihrer Anwendung verbundenen Agenten auflisten.

Nächste Schritte

  • Verwenden Sie den Agenten, den Sie bei Gemini Enterprise in der Web-App registriert haben.