Agent-to-Agent (A2A) ist ein offenes Kommunikationsprotokoll und eine universelle Sprache für KI-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, 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.
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:
Rufen Sie in der Google Cloud Console auf der Seite APIs & Dienste die Seite Anmeldedaten auf.
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.
Klicken Sie auf Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
Wählen Sie unter Anwendungstyp die Option Webanwendung aus.
Fügen Sie im Abschnitt Autorisierte Weiterleitungs-URIs die folgenden URIs hinzu:
https://vertexaisearch.cloud.google.com/oauth-redirecthttps://vertexaisearch.cloud.google.com/static/oauth/oauth.html
Klicken Sie auf Erstellen.
Klicken Sie im Bereich OAuth-Client erstellt auf JSON herunterladen. Die heruntergeladene JSON-Datei enthält die
Client ID,Authorization URI,Token URIundClient secretfü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/loca
tions/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
LOCATION: die Multiregion Ihres Datenspeichers:global,usodereuAUTH_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=consentOAUTH_TOKEN_URI: der Token-URI, den Sie beim Erstellen der OAuth-Anmeldedaten erhalten haben.
Agent bei Gemini Enterprise registrieren
Console
Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.
Klicken Sie auf den Namen der App, für die Sie den Agenten registrieren möchten.
Klicken Sie auf Agenten > Agenten hinzufügen.
Klicken Sie im Bereich Agenttyp auswählen für Benutzerdefinierter Agent über A2A auf Hinzufügen.
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" ] }Klicken Sie auf Agent importieren > Weiter.
Geben Sie die Autorisierungsdetails ein und klicken Sie auf Fertigstellen.
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_NUMBER/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": "{\"name\":\"AGENT_NAME\",\"description\":\"AGENT_DESCRIPTION\",\"url\":\"AGENT_URL\",\"version\":\"AGENT_VERSION\",\"defaultInputModes\":[\"INPUT_MODE\"],\"defaultOutputModes\":[\"OUTPUT_MODE\"],\"capabilities\":{ CAPABILITIES },\"skills\":[SKILLS]}"
}
}
'
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
LOCATION: der multiregionale Standort Ihres Datenspeichers:global,usodereu.PROJECT_NUMBER: Die Nummer Ihres Projekts von Google Cloud .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.AGENT_URL: die Endpunkt-URL des Agenten.AGENT_VERSION: die Version des Agenten.INPUT_MODE: der Standard-Eingabemedientyp. Zum Beispielapplication/jsonodertext/plain.OUTPUT_MODE: der Standard-Ausgabemedientyp. Zum Beispieltext/plain"oderimage/png.CAPABILITIES: ein JSON-Objekt mit unterstützten A2A-Funktionen. Beispiel:\"streaming\": trueoder\"pushNotifications\": falseSKILLS: eine Liste derAgentSkill-Objekte, die der Agent anbietet.
Wenn Sie die Autorisierungsdetails erhalten haben und der KI-Agent im Namen des Nutzers auf Ressourcen vonGoogle Cloud zugreifen soll, fügen Sie das Feld authorization_config so in Ihre JSON-Ressource ein:
"authorization_config"{
"agent_authorization": "projects/PROJECT_NUMBER/locations/LOCATION/authorizations/AUTH_ID"
}
Ersetzen Sie AUTH_ID durch den Wert, den Sie für AUTH_ID im Abschnitt Autorisierungsressource zu Gemini Enterprise hinzufügen verwendet haben.
Mit einer App verbundene Agenten auflisten
Im folgenden Codebeispiel wird gezeigt, wie Sie die Details aller mit Ihrer App verbundenen Agenten abrufen können:
curl
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
- PROJECT_ID: die ID Ihres Projekts in Google Cloud .
- LOCATION: die Multiregion Ihres Datenspeichers:
global,usodereu - APP_ID: die ID Ihrer Gemini Enterprise-App.
Nächste Schritte
- Verwenden Sie den Agenten, den Sie bei Gemini Enterprise in der Web-App registriert haben.