1. Hinweis
Was ist Gemini Enterprise?
Gemini Enterprise ist eine fortschrittliche agentische Plattform, die das Beste von Google AI für Unternehmen bietet. Teams können KI-Agenten in einer sicheren Umgebung entdecken, erstellen, gemeinsam nutzen und ausführen.
- Zugriff auf fortschrittliche Modelle:Nutzer erhalten sofortigen Zugriff auf die leistungsstärkste multimodale KI von Google, einschließlich Gemini, um komplexe geschäftliche Herausforderungen zu meistern.
- Spezialisierte Agenten nutzen:Die Suite enthält sofort einsatzbereite Google-Agenten für Recherche, Programmierung und Notizen, die Ihnen vom ersten Tag an einen Mehrwert bieten.
- Alle Mitarbeitenden einbeziehen:Mit No-Code- und Pro-Code-Optionen können Mitarbeitende aus allen Abteilungen ihre eigenen benutzerdefinierten KI-Agenten für die Workflow-Automatisierung erstellen und verwalten.
- Agenten in Daten verankern:Agenten können sicher mit internen Unternehmensdaten und Drittanbieteranwendungen verbunden werden, damit ihre Antworten kontextbezogen sind.
- Zentrale Governance:Administratoren können alle Aktivitäten von KI-Agenten visualisieren und prüfen, um sicherzustellen, dass die Organisation strenge Sicherheits- und Compliance-Standards erfüllt.
- Mit Ökosystemen erweitern:Die Plattform lässt sich in ein breites Netzwerk von Partneranwendungen und ‑dienstanbietern einbinden, um die Automatisierung auf verschiedene Systeme auszuweiten.
Was ist Google Workspace?
Google Workspace ist eine Sammlung cloudbasierter Produktivitäts- und Kollaborationslösungen für Privatpersonen, Schulen und Unternehmen:
- Kommunikation:Professionelle E‑Mail-Dienste (Gmail), Videokonferenzen (Meet) und Team-Messaging (Chat).
- Inhalte erstellen:Tools zum Schreiben von Dokumenten (Docs), Erstellen von Tabellen (Sheets) und Entwerfen von Präsentationen (Präsentationen).
- Organisation:Gemeinsame Kalender (Google Kalender) und digitale Notizen (Google Notizen).
- Speicherplatz:Zentraler Cloud-Speicherplatz zum sicheren Speichern und Freigeben von Dateien (Drive).
- Verwaltung:Administratoreinstellungen zum Verwalten von Nutzern und Sicherheitseinstellungen (Workspace-Admin-Konsole).
Welche Arten von benutzerdefinierten Integrationen gibt es?
Google Workspace und Gemini Enterprise bilden einen leistungsstarken Feedback-Loop, in dem Workspace Echtzeitdaten und Kontext für die Zusammenarbeit bereitstellt, während Gemini Enterprise die Modelle, die agentische Argumentation und die Orchestrierung bietet, die zur Automatisierung intelligenter Workflows erforderlich sind.
- Smarte Konnektivität:Mit von Google verwalteten Datenspeichern, APIs und MCP-Servern (von Google verwaltet und benutzerdefiniert) können Agents sicher und nahtlos auf Workspace-Daten zugreifen und Aktionen im Namen von Nutzern ausführen.
- Benutzerdefinierte Agenten:Mit No-Code-Designern oder Pro-Code-Frameworks können Teams spezialisierte Agenten erstellen, die auf von Administratoren verwalteten Workspace-Daten und ‑Aktionen basieren.
- Native Integration:Workspace-Add‑ons schließen die Lücke zwischen KI-Systemen und Anwendungen wie Chat und Gmail, entweder durch spezielle UI-Komponenten oder Hintergrundprozesse. So können Kundenservicemitarbeiter Nutzer genau dort abholen, wo sie sich befinden, und ihnen sofort kontextbezogene Unterstützung bieten.
Durch die Kombination des robusten Produktivitätsökosystems von Google Workspace mit der fortschrittlichen Agentenleistung von Gemini Enterprise können Unternehmen ihre Abläufe durch benutzerdefinierte, datenbasierte KI-Agenten optimieren, die komplexe Workflows direkt in den Tools automatisieren, die ihre Teams bereits täglich verwenden.
Voraussetzungen
Wenn Sie alle Schritte in Ihrer eigenen Umgebung ausführen möchten, benötigen Sie Folgendes:
- Grundkenntnisse in Google Cloud und Python.
- Ein Google Cloud-Projekt, für das Sie Inhaber sind und für das die Abrechnung aktiviert ist. Informationen dazu, wie Sie prüfen können, ob die Abrechnung für ein bestehendes Projekt aktiviert ist, finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen. Informationen zum Erstellen eines Projekts und Einrichten der Abrechnung finden Sie unter Google Cloud-Projekt erstellen. Informationen zum Ändern des Projektinhabers finden Sie unter Projektmitglieder verwalten oder Projektinhaber ändern.
- Gemini Enterprise Standard / Plus-Versionen aktiviert. Einen Vergleich der Gemini Enterprise-Versionen finden Sie unter Versionen von Gemini Enterprise vergleichen. Wenn Sie keine Lizenz für Gemini Enterprise haben, können Sie im nächsten Schritt eine Testlizenz erstellen.
- Ein Google Workspace-Konto für Unternehmen oder Enterprise mit Zugriff auf Google Chat und aktivierten smarten Funktionen.
- Die Google Cloud CLI ist für Ihr Google Cloud-Projekt installiert und initialisiert.
- Python 3.11 oder höher ist installiert. Eine Anleitung finden Sie auf der offiziellen Python-Website.
Umfang
In diesem Codelab entwickeln wir drei Lösungen mit Gemini Enterprise-KI-Agenten, die eng in Google Workspace eingebunden sind. Sie zeigen Architekturmuster, die für die Interaktion mit Daten, Aktionen und Benutzeroberflächen verwendet werden können.
Benutzerdefinierter No‑Code-Agent
Mit diesem KI-Agenten können Nutzer in ihrer natürlichen Sprache nach Daten suchen und Aktionen für Workspace ausführen. Sie basiert auf den folgenden Elementen:
- Modell:Gemini
- Daten und Aktionen:Gemini Enterprise-Datenspeicher für Google Workspace (Kalender, Gmail, Drive, NotebookLM), Google Suche.
- Tools zum Erstellen von Agenten:Gemini Enterprise Agent Designer.
- Agent-Host:Gemini Enterprise.
- Benutzeroberfläche:Gemini Enterprise Web-App.


Benutzerdefinierter Pro-Code-Agent
Mit diesem KI-Agenten können Nutzer mithilfe von benutzerdefinierten Tools und Regeln in natürlicher Sprache nach Daten suchen und Aktionen für Workspace ausführen. Sie basiert auf den folgenden Elementen:
- Modell:Gemini
- Daten und Aktionen:Gemini Enterprise-Datenspeicher für Google Workspace (Kalender, Gmail, Drive, NotebookLM), Google Suche, der von Google verwaltete MCP-Server (Model Context Protocol) von Agent Search, benutzerdefinierte Tool-Funktion zum Senden von Google Chat-Nachrichten (über die Google Chat API).
- Tools zum Erstellen von Agents:Agent Development Kit (ADK).
- Agent-Host:Agent Runtime.
- Benutzeroberfläche:Gemini Enterprise Web-App.


Standard-Agent als Google Workspace-Add-on
Mit diesem KI-Agenten können Nutzer in der Benutzeroberfläche von Workspace-Apps in natürlicher Sprache nach Workspace-Daten suchen. Sie basiert auf den folgenden Elementen:
- Modell:Gemini
- Daten:Gemini Enterprise-Datenspeicher für Google Workspace (Kalender, Gmail, Drive, NotebookLM), Google Suche.
- Agent-Host:Gemini Enterprise.
- Benutzeroberfläche:Google Workspace-Add-on für Chat und Gmail (lässt sich problemlos auf Google Kalender, Drive, Docs, Sheets und Präsentationen ausweiten).
- Google Workspace-Add-on:Apps Script, Gemini Enterprise-APIs, kontextbezogen (Nutzermetadaten, ausgewählte Gmail-Nachricht).


Lerninhalte
- Die Integrationspunkte zwischen Gemini Enterprise und Google Workspace, die Daten und Aktionen ermöglichen.
- Die No-Code- und Pro-Code-Optionen zum Erstellen benutzerdefinierter Agenten, die in Gemini Enterprise gehostet werden.
- Wie Nutzer über die Gemini Enterprise Web-App und Google Workspace-Anwendungen auf KI-Agenten zugreifen können.
Einfacher Zugriff auf dieses Codelab

2. Einrichten
Konzepte für Rezensionen
Gemini Enterprise-Anwendung
Eine Gemini Enterprise-App bietet Endnutzern Suchergebnisse, Aktionen und KI-Agents. Der Begriff „App“ kann im Zusammenhang mit APIs synonym mit dem Begriff „Engine“ verwendet werden. Eine App muss mit einem Datenspeicher verbunden sein, damit die Daten daraus für die Bereitstellung von Suchergebnissen, Antworten oder Aktionen verwendet werden können.
Gemini Enterprise Web-App
Eine Gemini Enterprise-Web-App ist mit einer Gemini Enterprise-App verknüpft. Sie dient als zentraler KI-Hub, in dem Mitarbeiter über eine einzige Chatoberfläche in isolierten Unternehmensdaten suchen, spezialisierte KI-Agents für komplexe Workflows ausführen und professionelle Inhalte mit Datenschutz auf Unternehmensniveau erstellen können.
Ressourcen initialisieren und darauf zugreifen
In diesem Abschnitt greifen Sie über Ihren bevorzugten Webbrowser auf die folgenden Ressourcen zu und konfigurieren sie.
Gemini Enterprise-App
Öffnen Sie die Google Cloud Console in einem neuen Tab und folgen Sie dieser Anleitung:
- Wählen Sie Ihr Projekt aus.
- Suchen Sie im Google Cloud-Suchfeld nach Gemini Enterprise und wählen Sie die Option aus. Klicken Sie dann auf + App erstellen. Wenn Sie keine Lizenz für Gemini Enterprise haben, werden Sie aufgefordert, eine 30-tägige kostenlose Testlizenz zu aktivieren.
- Legen Sie den App-Namen auf
codelabfest. - Eine ID wird anhand des Namens generiert und unter dem Feld angezeigt. Kopieren Sie sie.
- Legen Sie für Mehrere Regionen den Wert
global (Global)fest. - Klicken Sie auf Erstellen.

- Die App wird erstellt und Sie werden automatisch zu Gemini Enterprise > Übersicht weitergeleitet.
- Klicken Sie unter Vollzugriff erhalten auf Identität einrichten.
- Wählen Sie auf dem neuen Bildschirm Google Identity verwenden aus und klicken Sie auf Mitarbeiteridentität bestätigen.

- Die Konfiguration wird gespeichert und Sie werden automatisch zu Gemini Enterprise > Übersicht weitergeleitet.
- Rufen Sie Konfigurationen auf.
- Aktivieren Sie auf dem Tab Funktionsverwaltung die Option Agent Designer aktivieren und klicken Sie auf Speichern.

Gemini Enterprise Web-App
Öffnen Sie Gemini Enterprise in der Cloud Console auf einem neuen Tab und folgen Sie dieser Anleitung:
- Klicken Sie auf die App mit dem Namen
codelab. - Kopieren Sie die angezeigte URL. Sie wird in den nächsten Schritten verwendet, um zur Gemini Enterprise-Webanwendung zu navigieren.

3. Benutzerdefinierter No-Code-Agent
Mit diesem KI-Agenten können Nutzer in ihrer natürlichen Sprache nach Daten suchen und Aktionen für Workspace ausführen. Sie basiert auf den folgenden Elementen:
- Modell:Gemini
- Daten und Aktionen:Gemini Enterprise-Datenspeicher für Google Workspace (Kalender, Gmail, Drive, NotebookLM), Google Suche.
- Tools zum Erstellen von Agenten:Gemini Enterprise Agent Designer.
- Agent-Host:Gemini Enterprise.
- Benutzeroberfläche:Gemini Enterprise Web-App.
Konzepte für Rezensionen
Gemini
Gemini ist ein multimodales LLM von Google. So können Menschen ihr volles Potenzial entfalten, ihre Fantasie anregen, ihre Neugier wecken und ihre Produktivität steigern.
Gemini Enterprise-Datenspeicher
Ein Gemini Enterprise-Datenspeicher ist eine Entität, die die Daten enthält, die aus einer selbst erhobenen Datenquelle wie Google Workspace oder Drittanbieteranwendungen wie Jira oder Salesforce aufgenommen wurden. Datenspeicher mit Daten aus Drittanbieteranwendungen werden auch Daten-Connectors genannt.
Gemini Enterprise Agent Designer
Der Gemini Enterprise Agent Designer ist eine interaktive No-Code- bzw. Low-Code-Plattform zum Erstellen, Verwalten und Starten von ein- und mehrstufigen KI-Agenten in Gemini Enterprise.
Lösungsarchitektur prüfen

APIs aktivieren
Für die Gemini Enterprise-Workspace-Datenspeicher müssen APIs aktiviert werden:
- Aktivieren Sie in der Google Cloud Console die Calendar API, die Gmail API und die People API:

- Klicken Sie auf das Menü ☰ > APIs und Dienste > Aktivierte APIs und Dienste und prüfen Sie, ob die Google Calendar API, die Gmail API und die People API in der Liste enthalten sind.
OAuth-Zustimmungsbildschirm konfigurieren
Für die Gemini Enterprise Workspace-Kalender- und Gmail-Aktionen ist eine Konfiguration des Zustimmungsbildschirms erforderlich:
- Klicken Sie in der Google Cloud Console auf das Menü ☰ > Google Auth-Plattform > Branding.
- Klicken Sie auf Jetzt starten.
- Legen Sie unter App-Informationen den App-Namen auf
Codelabfest . - Wählen Sie unter E-Mail-Adresse des Nutzersupports eine Support-E-Mail-Adresse aus, über die Nutzer Sie mit Fragen zu ihrer Einwilligung kontaktieren können.
- Klicken Sie auf Weiter.
- Wählen Sie unter Zielgruppe die Option Intern aus.
- Klicken Sie auf Weiter.
- Geben Sie unter Kontaktdaten eine E-Mail-Adresse ein, unter der Sie über Änderungen an Ihrem Projekt benachrichtigt werden können.
- Klicken Sie auf Weiter.
- Sehen Sie sich unter Abschließen die Nutzerdatenrichtlinie für Google API-Dienste an. Wenn Sie damit einverstanden sind, wählen Sie Ich akzeptiere die Richtlinie zu Nutzerdaten für Google API-Dienste aus.
- Klicken Sie auf Weiter und dann auf Erstellen.

- Die Konfiguration wird gespeichert und Sie werden automatisch zur Google Auth Platform > Übersicht weitergeleitet.
- Rufen Sie Datenzugriff auf.
- Klicken Sie auf Bereiche hinzufügen oder entfernen.
- Kopieren Sie die folgenden Bereiche und fügen Sie sie in das Feld Bereiche manuell hinzufügen ein.
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.calendars
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.readonly
- Klicken Sie auf Zur Tabelle hinzufügen, dann auf Aktualisieren und schließlich auf Speichern.

Weitere Informationen finden Sie im vollständigen Leitfaden OAuth-Zustimmung konfigurieren.
OAuth-Clientanmeldedaten erstellen
So erstellen Sie einen neuen OAuth-Client für Gemini Enterprise, um Nutzer zu authentifizieren:
- Klicken Sie in der Google Cloud Console auf das Menü ☰ > Google Auth-Plattform > Clients.
- Klicken Sie auf + Client erstellen.
- Wählen Sie als Anwendungstyp die Option Webanwendung aus.
- Legen Sie als Name
codelabfest. - Überspringen Sie Autorisierte JavaScript-Quellen.
- Klicken Sie im Abschnitt Autorisierte Weiterleitungs-URIs auf URI hinzufügen und geben Sie
https://vertexaisearch.cloud.google.com/oauth-redirectein. - Klicken Sie auf Erstellen.
- Ein Dialogfeld mit der neu erstellten OAuth-Client-ID und dem neuen Clientschlüssel wird angezeigt. Bewahren Sie diese Informationen an einem sicheren Ort auf.

Datenspeicher erstellen
Sie müssen Datenspeicher erstellen, um Gemini Enterprise mit Ihren Workspace-Daten zu verbinden.
Öffnen Sie Gemini Enterprise in der Cloud Console auf einem neuen Tab und folgen Sie dieser Anleitung:
- Klicken Sie auf die App mit dem Namen
codelab. - Klicken Sie im Navigationsmenü auf Verbundene Datenspeicher.
- Klicken Sie auf + Neuer Datenspeicher.
- Suchen Sie unter Quelle nach Google Kalender und klicken Sie auf Auswählen.
- Geben Sie im Bereich Aktionen die Client-ID und den Clientschlüssel ein, die Sie in den vorherigen Schritten gespeichert haben, klicken Sie auf Authentifizierung bestätigen und folgen Sie der Anleitung, um den OAuth-Client zu authentifizieren und zu autorisieren.
- Aktivieren Sie die Aktionen Kalendertermin erstellen und Kalendertermin aktualisieren.
- Klicken Sie auf Weiter.

- Legen Sie im Abschnitt Konfiguration den Namen des Daten-Connectors auf
calendarfest. - Klicken Sie auf Erstellen.
- Sie werden automatisch zu Verbundene Datenspeicher weitergeleitet, wo Sie den neu hinzugefügten Datenspeicher sehen.
So erstellen Sie den Google Gmail-Datenspeicher:
- Klicken Sie auf + Neuer Datenspeicher.
- Suchen Sie unter Quelle nach Google Gmail und klicken Sie auf Auswählen.
- Geben Sie im Bereich Aktionen die Client-ID und den Clientschlüssel ein, die Sie in den vorherigen Schritten gespeichert haben, und klicken Sie dann auf Authentifizierung bestätigen.
- Aktivieren Sie die Aktion E-Mail senden.
- Klicken Sie auf Weiter.
- Legen Sie im Abschnitt Konfiguration den Namen des Daten-Connectors auf
gmailfest. - Klicken Sie auf Erstellen.
- Sie werden automatisch zu Verbundene Datenspeicher weitergeleitet, wo Sie den neu hinzugefügten Datenspeicher sehen.
Google Drive-Datenspeicher erstellen:
- Klicken Sie auf + Neuer Datenspeicher.
- Suchen Sie unter Quelle nach Google Drive und klicken Sie auf Auswählen.
- Wählen Sie im Abschnitt Daten die Option Alle aus und klicken Sie dann auf Weiter.
- Legen Sie im Abschnitt Konfiguration den Namen des Daten-Connectors auf
drivefest. - Klicken Sie auf Erstellen.
- Sie werden automatisch zu Verbundene Datenspeicher weitergeleitet, wo Sie den neu hinzugefügten Datenspeicher sehen.
NotebookLM-Datenspeicher erstellen:
- Klicken Sie auf + Neuer Datenspeicher.
- Suchen Sie unter Quelle nach NotebookLM und klicken Sie auf Auswählen.
- Legen Sie im Abschnitt Konfiguration den Namen des Daten-Connectors auf
notebooklmfest. - Klicken Sie auf Erstellen.
- Sie werden automatisch zu Verbundene Datenspeicher weitergeleitet, wo Sie den neu hinzugefügten Datenspeicher sehen.
Nach einigen Minuten ist der Status aller verbundenen Datenspeicher (außer NotebookLM) Aktiv. Wenn Fehler angezeigt werden, können Sie auf die Datenquelle klicken, um die Fehlerdetails aufzurufen.

Testdatenspeicher
Prüfen Sie, ob Daten korrekt in Ihre Datenspeicher aufgenommen werden, indem Sie einige Testabfragen ausführen.
Öffnen Sie die Gemini Enterprise-Webanwendungs-URL, die wir zuvor kopiert haben:
- Klicken Sie auf das Dreistrich-Menü ☰ > Neuer Chat.
- Klicken Sie in der Fußzeile des neuen Chatnachrichtenfelds auf das Symbol Connectors und aktivieren Sie alle Connectors.
- Sie können jetzt Prompts ausprobieren, die sich auf die Connectors beziehen. Geben Sie beispielsweise im Chat
Do I have any meetings today?ein und drücken Sieenter. - Gib als Nächstes
How many emails did I receive today?ein und drückeenter. - Geben Sie abschließend
Give me the title of the last Drive file I createdein und drücken Sieenter.

Benutzerdefinierten Agenten erstellen
Erstellen Sie in der Gemini Enterprise-Webanwendung einen neuen Agenten mit dem Agent Designer:
- Klicken Sie auf das Dreistrich-Menü ☰ > + Neuer Agent.
- Geben Sie im Chat
An agent that always sends pirate-themed emails but use normal English otherwiseein und drücken Sieenter.

- Agent Designer entwirft den Agent basierend auf dem Prompt und öffnet ihn im Editor.
- Klicken Sie auf Erstellen.
Benutzerdefinierten KI-Agenten ausprobieren
Testen Sie Ihren neuen Agenten, um zu sehen, wie er Fragen beantwortet und Aktionen ausführt.
- Chatten Sie in der Gemini Enterprise Web-App mit dem neu erstellten Agenten:
- Klicken Sie auf das Dreistrich-Menü ☰ > Agenten.
- Wählen Sie den Agent unter Meine Agenten aus.
- Klicken Sie in der Fußzeile des neuen Chatnachrichtenfelds auf das Symbol Connectors und dann für Mail auf Aktionen aktivieren. Folgen Sie der Anleitung, um den Agent zu autorisieren.
- Geben Sie im Chat
Send an email to someone@example.com saying I'll see them at Cloud Next, generate some subject and body yourselfein und drücken Sieenter. Sie können die Beispiel-E-Mail durch Ihre E-Mail-Adresse ersetzen. - Klicken Sie auf ✔️, um die E‑Mail zu senden.


4. Benutzerdefinierter Pro-Code-Agent
Mit diesem KI-Agenten können Nutzer mithilfe von benutzerdefinierten Tools und Regeln in natürlicher Sprache nach Daten suchen und Aktionen für Workspace ausführen. Sie basiert auf den folgenden Elementen:
- Modell:Gemini
- Daten und Aktionen:Gemini Enterprise-Datenspeicher für Google Workspace (Kalender, Gmail, Drive, NotebookLM), Google Suche, der von Google verwaltete MCP-Server (Model Context Protocol) von Agent Search, benutzerdefinierte Tool-Funktion zum Senden von Google Chat-Nachrichten (über die Google Chat API).
- Tools zum Erstellen von Agents:Agent Development Kit (ADK).
- Agent-Host:Agent Runtime.
- Benutzeroberfläche:Gemini Enterprise Web-App.
Sie wird über die Bring-Your-Own-Funktion in Gemini Enterprise integriert. Daher müssen wir die Bereitstellung, Registrierung und Konfiguration durchlaufen.
Konzepte für Rezensionen
Gemini Enterprise Agent Platform
Die Gemini Enterprise Agent Platform (früher Vertex AI) ist eine offene und umfassende Plattform, mit der Unternehmen schnell Agenten in Unternehmensqualität erstellen, skalieren, verwalten und optimieren können, die auf Unternehmensdaten basieren.

Agent Development Kit (ADK)
Das Agent Development Kit (ADK) ist eine spezielle Suite von Tools und Frameworks, die die Erstellung autonomer KI-Agenten vereinfachen. Es bietet vorgefertigte Module für Reasoning, Speichermanagement und Tool-Integration.
Model Context Protocol (MCP)
Das Model Context Protocol (MCP) ist ein offener Standard, der die nahtlose, sichere Integration zwischen KI-Anwendungen und verschiedenen Datenquellen oder Tools über eine universelle „Plug-and-Play“-Schnittstelle ermöglicht.
Funktionstool
Ein Funktionstool ist eine vordefinierte ausführbare Routine, die ein KI-Modell auslösen kann, um bestimmte Aktionen auszuführen oder Echtzeitdaten aus externen Systemen abzurufen. Dadurch werden die Funktionen des Modells über die einfache Textgenerierung hinaus erweitert.
Lösungsarchitektur prüfen

Quellcode prüfen
agent.py
Der folgende Code authentifiziert sich bei Gemini Enterprise, initialisiert die Agent Search MCP- und Chat API-Tools und definiert das Verhalten des KI-Agenten.
- Authentifizierung: Es wird eine Hilfsfunktion
_get_access_token_from_contextverwendet, um das Authentifizierungstoken (CLIENT_AUTH_NAME) abzurufen, das von Gemini Enterprise eingefügt wird. Dieses Token ist entscheidend für den sicheren Aufruf von Downstream-Diensten wie Agent Search MCP und Google Chat-Tools. - Tool-Einrichtung: Es wird
vertexai_mcpinitialisiert, ein Toolset, das eine Verbindung zum MCP-Server (Model Context Protocol) des Agent Search-Modells und zum Toolsend_direct_messageherstellt. So kann der Agent Ihre verbundenen Datenspeicher durchsuchen und Google Chat-Nachrichten senden. - Agent Definition (Agent-Definition): Hier wird
root_agentmit dem Modellgemini-2.5-flashdefiniert. Die Anleitung weist den Agenten an, das Suchtool für den Abruf von Informationen und dassend_direct_message-Tool für Aktionen zu priorisieren. So wird der Agent effektiv auf Ihre Unternehmensdaten gestützt.
...
MODEL = "gemini-2.5-flash"
# Gemini Enterprise authentication injects a bearer token into the ToolContext state.
# The key pattern is "CLIENT_AUTH_NAME_<random_digits>".
# We dynamically parse this token to authenticate our MCP and API calls.
CLIENT_AUTH_NAME = "enterprise-ai"
VERTEXAI_SEARCH_TIMEOUT = 15.0
def get_project_id():
"""Fetches the consumer project ID from the environment natively."""
_, project = google.auth.default()
if project:
return project
raise Exception(f"Failed to resolve GCP Project ID from environment.")
def find_serving_config_path():
"""Dynamically finds the default serving config in the engine."""
project_id = get_project_id()
engines = discoveryengine_v1.EngineServiceClient().list_engines(
parent=f"projects/{project_id}/locations/global/collections/default_collection"
)
for engine in engines:
# engine.name natively contains the numeric Project Number
return f"{engine.name}/servingConfigs/default_serving_config"
raise Exception(f"No Discovery Engines found in project {project_id}")
def _get_access_token_from_context(tool_context: ToolContext) -> str:
"""Helper method to dynamically parse the intercepted bearer token from the context state."""
escaped_name = re.escape(CLIENT_AUTH_NAME)
pattern = re.compile(fr"^{escaped_name}_\d+$")
# Handle ADK varying state object types (Raw Dict vs ADK State)
state_dict = tool_context.state.to_dict() if hasattr(tool_context.state, 'to_dict') else tool_context.state
matching_keys = [k for k in state_dict.keys() if pattern.match(k)]
if matching_keys:
return state_dict.get(matching_keys[0])
raise Exception(f"No bearer token found in ToolContext state matching pattern {pattern.pattern}")
def auth_header_provider(tool_context: ToolContext) -> dict[str, str]:
token = _get_access_token_from_context(tool_context)
return {"Authorization": f"Bearer {token}"}
def send_direct_message(email: str, message: str, tool_context: ToolContext) -> dict:
"""Sends a Google Chat Direct Message (DM) to a specific user by email address."""
chat_client = chat_v1.ChatServiceClient(
credentials=Credentials(token=_get_access_token_from_context(tool_context))
)
# 1. Setup the DM space or find existing one
person = chat_v1.User(
name=f"users/{email}",
type_=chat_v1.User.Type.HUMAN
)
membership = chat_v1.Membership(member=person)
space_req = chat_v1.Space(space_type=chat_v1.Space.SpaceType.DIRECT_MESSAGE)
setup_request = chat_v1.SetUpSpaceRequest(
space=space_req,
memberships=[membership]
)
space_response = chat_client.set_up_space(request=setup_request)
space_name = space_response.name
# 2. Send the message
msg = chat_v1.Message(text=message)
message_request = chat_v1.CreateMessageRequest(
parent=space_name,
message=msg
)
message_response = chat_client.create_message(request=message_request)
return {"status": "success", "message_id": message_response.name, "space": space_name}
agentsearch_mcp = McpToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://discoveryengine.googleapis.com/mcp",
timeout=VERTEXAI_SEARCH_TIMEOUT,
sse_read_timeout=VERTEXAI_SEARCH_TIMEOUT
),
tool_filter=['search'],
# The auth_header_provider dynamically injects the bearer token from the ToolContext
# into the MCP call for authentication.
header_provider=auth_header_provider
)
# Answer nicely the following user queries:
# - Please find my meetings for today, I need their titles and links
# - What is the latest Drive file I created?
# - What is the latest Gmail message I received?
# - Please send the following message to someone@example.com: Hello, this is a test message.
root_agent = LlmAgent(
model=MODEL,
name='enterprise_ai',
instruction=f"""
You are a helpful assistant that always uses the MCP search tool to answer the user's message, unless the user asks you to send a message to someone.
If the user asks you to send a message to someone, use the send_direct_message tool to send the message.
You MUST unconditionally use the MCP search tool to find answer, even if you believe you already know the answer or believe the MCP search tool does not contain the data.
The MCP search tool accesses the user's data through datastores including Google Drive, Google Calendar, and Gmail.
Only use the MCP search tool with servingConfig and query parameters, do not use any other parameters.
Always use the servingConfig {find_serving_config_path()} while using the MCP search tool.
""",
tools=[agentsearch_mcp, FunctionTool(send_direct_message)]
)
APIs aktivieren
Für die Lösung müssen zusätzliche APIs aktiviert werden:
- Aktivieren Sie in der Google Cloud Console die Agent Platform, Cloud Resource Manager und Google Chat APIs:

