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.
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/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
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.
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:
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 Agentendetails ansehen > Weiter.
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:
Geben Sie die Client-ID, den Clientschlüssel, den Autorisierungs-URI und den Token-URI ein, die Sie im Abschnitt Autorisierungsdetails abrufen generiert haben.
Geben Sie die Bereiche ein.
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
LOCATION: Der multiregionale Standort Ihres Datenspeichers:global,usodereu.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 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.authorizationConfig: Wenn Sie die Autorisierungsdetails erhalten haben und der Agent im Namen des Nutzers auf Google Cloud -Ressourcen zugreifen soll, fügen Sie das Feldauthorization_configin Ihre JSON-Ressource ein.AUTH_ID: Der 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:
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
- PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
- LOCATION: Der multiregionale Standort Ihrer Anwendung:
global,usodereu. - 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
- PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
- LOCATION: Der multiregionale Standort Ihrer Anwendung:
global,usodereu. - 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:
Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.
Klicken Sie auf den Namen der App, die den Agenten enthält, den Sie aktualisieren möchten.
Klicken Sie auf Agenten.
Klicken Sie auf den Namen des (benutzerdefinierten) A2A-Agenten, den Sie aktualisieren möchten, und dann auf Bearbeiten.
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" ] }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
LOCATION: Der multiregionale Standort Ihres Datenspeichers:global,usodereu.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 Beispielapplication/jsonodertext/plain.OUTPUT_MODE: der Standard-Ausgabemedientyp. Zum Beispieltext/plainoderimage/png.CAPABILITIES: ein JSON-Objekt mit unterstützten A2A-Funktionen. Beispiel:\"streaming\": trueoder\"pushNotifications\": falseSKILLS: eine Liste derAgentSkill-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 Feldauthorization_configin Ihre JSON-Ressource ein.AUTH_ID: Der Wert, den Sie für AUTH_ID im Abschnitt Autorisierungsressource zu Gemini Enterprise hinzufügen verwendet haben.
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
- PROJECT_ID: Die ID Ihres Projekts in Google Cloud .
- LOCATION: Der multiregionale Standort Ihrer Anwendung:
global,usodereu. - 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.