Multi-Agent-App mit der MCP Toolbox for AlloyDB und dem ADK erstellen

1. Übersicht

Ein Agent ist ein autonomes Programm, das mit einem KI-Modell kommuniziert, um eine zielbasierte Operation mit den ihm zur Verfügung stehenden Tools und dem Kontext auszuführen. Es ist in der Lage, autonome Entscheidungen auf der Grundlage von Fakten zu treffen.

Wenn Ihre Anwendung mehrere KI-Agenten hat, die autonom sind und bei Bedarf zusammenarbeiten, um ihren übergeordneten Zweck zu erfüllen, und jeder Agent unabhängig über Wissen verfügt und für einen bestimmten Schwerpunktbereich zuständig ist, dann ist Ihre Anwendung ein Multi-Agenten-System.

Agent Development Kit (ADK)

Das Agent Development Kit (ADK) ist ein flexibles und modulares Framework zum Entwickeln und Bereitstellen von KI-Agenten. Das ADK unterstützt das Erstellen komplexer Anwendungen, indem mehrere unterschiedliche Agenteninstanzen zu einem Multi-Agenten-System (MAS) zusammengefasst werden.

Im ADK ist ein Multi-Agenten-System eine Anwendung, in der verschiedene KI-Agenten, oft in einer Hierarchie, zusammenarbeiten oder sich koordinieren, um ein größeres Ziel zu erreichen. Diese Strukturierung Ihrer Anwendung bietet erhebliche Vorteile, darunter verbesserte Modularität, Spezialisierung, Wiederverwendbarkeit, Wartbarkeit und die Möglichkeit, strukturierte Steuerungsabläufe mithilfe dedizierter Workflow-Agenten zu definieren.

Wichtige Hinweise für Multi-Agenten-Systeme

Zuerst ist es wichtig, die Spezialisierung jedes KI-Agenten richtig zu verstehen und zu begründen. – „Wissen Sie, warum Sie für etwas einen bestimmten Sub-Agenten brauchen?“ Finden Sie das zuerst heraus.

Zweitens: Wie Sie die Sub-Agenten mit einem Root-Agenten zusammenführen, um ihre Ausgaben zu verarbeiten und die Antworten zu interpretieren.

Drittens gibt es verschiedene Arten der Weiterleitung zwischen Agenten. Informationen dazu finden Sie in dieser Dokumentation. Wählen Sie die Methode aus, die am besten zum Ablauf Ihrer Anwendung passt. Außerdem sollten Sie sich überlegen, welche verschiedenen Kontexte und Zustände Sie für die Ablaufsteuerung Ihres Multi-Agenten-Systems benötigen.

Aufgaben

Wir erstellen ein Multi-Agenten-System für Küchenrenovierungen mit der MCP Toolbox for AlloyDB und dem ADK.

  1. Agent für Renovierungsangebote
  2. Agent für Genehmigungs- und Complianceprüfung
  3. Bestellstatus prüfen (Tool mit MCP Toolbox for Databases)

Der Agent für Renovierungsangebote erstellt das Angebot für die Küchenrenovierung.

Der Agent für Genehmigungs- und Complianceprüfung kümmert sich um die nötigen Genehmigungen und die Einhaltung der Vorschriften.

Order Status Check Agent, um den Bestellstatus von Materialien zu prüfen. Dazu wird die Datenbank für die Auftragsverwaltung verwendet, die wir in AlloyDB eingerichtet haben. Für diesen Datenbankteil verwenden wir jedoch die MCP Toolbox for AlloyDB, um die Logik zum Abrufen des Status für Bestellungen zu implementieren.

2. MCP

MCP steht für Model Context Protocol, einen offenen Standard, der von Anthropic entwickelt wurde und eine einheitliche Möglichkeit für KI-Agents bietet, sich mit externen Tools, Diensten und Daten zu verbinden. Im Wesentlichen fungiert er als gemeinsamer Standard für KI-Anwendungen, sodass diese nahtlos mit verschiedenen Datenquellen und Tools interagieren können.

  1. Es wird ein Client-Server-Modell verwendet, bei dem KI-Anwendungen (die Hosts) den MCP-Client ausführen, der mit MCP-Servern kommuniziert.
  2. Wenn ein KI-Agent auf ein bestimmtes Tool oder bestimmte Daten zugreifen muss, sendet er eine strukturierte Anfrage an den MCP-Client, der sie an den entsprechenden MCP-Server weiterleitet.
  3. Ermöglicht KI-Modellen den Zugriff auf externe Daten und Tools, ohne dass für jede Integration benutzerdefinierter Code erforderlich ist.
  4. Vereinfacht die Entwicklung von Agents und komplexen Workflows auf Basis von Large Language Models (LLMs).

MCP Toolbox for Databases

Die MCP Toolbox for Databases von Google ist ein Open-Source-MCP-Server für Datenbanken. Sie wurde für den Einsatz in Unternehmen und für die Produktion entwickelt. Damit können Sie Tools einfacher, schneller und sicherer entwickeln, da Komplexitäten wie Connection Pooling und Authentifizierung abgedeckt werden.

KI‑Agenten den Zugriff auf Daten in Ihrer Datenbank erlauben Wie?

Vereinfachte Entwicklung:Sie können Tools mit weniger als 10 Zeilen Code in Ihren Agenten einbinden, Tools für mehrere Agenten oder Frameworks wiederverwenden und neue Versionen von Tools einfacher bereitstellen.

Bessere Leistung:Best Practices wie Verbindungs-Pooling, Authentifizierung usw.

Erweiterte Sicherheitsfunktionen:Integrierte Authentifizierung für einen sichereren Zugriff auf Ihre Daten

End-to-End-Beobachtbarkeit:Sofort einsatzbereite Messwerte und Tracing mit integrierter Unterstützung für OpenTelemetry.

Das muss vor MCP passiert sein!!!

Die MCP Toolbox for Databases befindet sich zwischen dem Orchestrierungs-Framework Ihrer agentischen Anwendung und Ihrer Datenbank und bietet eine Steuerungsebene, die zum Ändern, Verteilen oder Aufrufen von Tools verwendet wird. Es vereinfacht die Verwaltung Ihrer Tools, da Sie Tools zentral speichern und aktualisieren können. So können Sie Tools zwischen Agents und Anwendungen freigeben und aktualisieren, ohne Ihre Anwendung neu bereitstellen zu müssen.

9a9018b8596bd34e.png

Wir haben einen Root-Agenten, der diese Agenten je nach Anforderung orchestriert.

Voraussetzungen

  • Ein Browser, z. B. Chrome oder Firefox
  • Google Cloud-Projekt mit aktivierter Abrechnungsfunktion.

3. Hinweis

Projekt erstellen

  1. Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist .
  3. Aktivieren Sie Cloud Shell, indem Sie auf diesen Link klicken. Sie können zwischen dem Cloud Shell-Terminal (zum Ausführen von Cloud-Befehlen) und dem Editor (zum Erstellen von Projekten) wechseln, indem Sie in der Cloud Shell auf den entsprechenden Button klicken.
  4. Sobald die Verbindung mit der Cloud Shell hergestellt ist, können Sie mit dem folgenden Befehl prüfen, ob Sie bereits authentifiziert sind und für das Projekt schon Ihre Projekt-ID eingestellt ist:
gcloud auth list
  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt.
gcloud config list project
  1. Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
  1. Aktivieren Sie die folgenden APIs mit den folgenden Befehlen:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com \alloydb.googleapis.com
  1. Verwenden Sie Python 3.9 oder höher.
  2. Informationen zu gcloud-Befehlen und deren Verwendung finden Sie in der Dokumentation.

4. ADK-Einrichtung

  1. Erstellen Sie eine virtuelle Umgebung und aktivieren Sie sie (empfohlen).

Erstellen Sie im Cloud Shell-Terminal eine virtuelle Umgebung:

python -m venv .venv

Aktivieren Sie die virtuelle Umgebung:

source .venv/bin/activate
  1. ADK installieren
pip install google-adk

5. Projektstruktur

  1. Führen Sie im Cloud Shell-Terminal die folgenden Befehle nacheinander aus, um Stamm- und Projektordner zu erstellen:
mkdir agentic-apps
cd agentic-apps
mkdir renovation-agent
  1. Rufen Sie den Cloud Shell-Editor auf und erstellen Sie die folgende Projektstruktur, indem Sie die Dateien anlegen (zuerst leer):
renovation-agent/
        __init__.py
        agent.py
        .env

6. Quellcode

  1. Öffnen Sie init.py und fügen Sie den folgenden Inhalt ein:
from . import agent
  1. Rufen Sie „agent.py“ auf und aktualisieren Sie die Datei mit dem folgenden Inhalt aus dem folgenden Pfad:
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/agent.py

In „agent.py“ importieren wir die erforderlichen Abhängigkeiten, rufen Konfigurationsparameter aus der Datei „.env“ ab und definieren den „root_agent“, der ein Tool zum Aufrufen des Toolbox-Tools verwendet.

  1. Rufen Sie „requirements.txt“ auf und aktualisieren Sie die Datei mit dem Inhalt des folgenden Speicherorts:
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/requirements.txt

7. Datenbank einrichten

In einem der vom ordering_agent verwendeten Tools namens „check_status“ greifen wir auf die AlloyDB-Bestelldatenbank zu, um den Status von Bestellungen abzurufen. In diesem Abschnitt richten wir einen AlloyDB-Datenbankcluster und eine AlloyDB-Instanz ein.

Cluster und Instanz erstellen

  1. Rufen Sie in der Cloud Console die AlloyDB-Seite auf. Die meisten Seiten in der Cloud Console lassen sich ganz einfach über die Suchleiste der Console finden.
  2. Wählen Sie auf dieser Seite CLUSTER ERSTELLEN aus:

f76ff480c8c889aa.png

  1. Sie sehen dann einen Bildschirm wie den folgenden. Erstellen Sie einen Cluster und eine Instanz mit den folgenden Werten. Achten Sie darauf, dass die Werte übereinstimmen, wenn Sie den Anwendungscode aus dem Repository klonen:
  • Cluster-ID: „vector-cluster“
  • password: "alloydb"
  • Kompatibel mit PostgreSQL 16 / Die jeweils aktuelle Version wird empfohlen
  • Region: "us-central1"
  • Netzwerk: „default“

538dba58908162fb.png

  1. Wenn Sie das Standardnetzwerk auswählen, wird ein Bildschirm wie der unten stehende angezeigt.

Wählen Sie VERBINDUNG EINRICHTEN aus.
7939bbb6802a91bf.png

  1. Wählen Sie dort Automatisch zugewiesenen IP-Bereich verwenden aus und klicken Sie auf „Weiter“. Nachdem Sie die Informationen geprüft haben, wählen Sie „VERBINDUNG ERSTELLEN“ aus. 768ff5210e79676f.png

6. WICHTIGER HINWEIS: Achten Sie darauf, die Instanz-ID (die Sie bei der Konfiguration des Clusters / der Instanz finden) in

vector-instance: Wenn Sie sie nicht ändern können, denken Sie daran, in allen anstehenden Verweisen Ihre Instanz-ID zu verwenden.

  1. Zur Vorbereitung auf die Einrichtung von Toolbox aktivieren wir die Verbindung über öffentliche IP-Adressen in unserer AlloyDB-Instanz, damit das neue Tool auf die Datenbank zugreifen kann.
  2. Rufen Sie den Bereich „Öffentliche IP-Verbindung“ auf, setzen Sie ein Häkchen bei „Öffentliche IP-Adresse aktivieren“ und geben Sie die IP-Adresse Ihres Cloud Shell-Computers ein.
  3. Rufen Sie das Cloud Shell-Terminal auf und geben Sie „ifconfig“ ein, um die IP-Adresse Ihres Cloud Shell-Computers zu ermitteln. Suchen Sie im Ergebnis nach der eth0-inet-Adresse und ersetzen Sie die letzten beiden Ziffern durch 0.0 mit der Maskengröße „/16“. Ein Beispiel wäre „XX.XX.0.0/16“, wobei XX für Zahlen steht.
  4. Fügen Sie diese IP-Adresse auf der Seite zum Bearbeiten der Instanz in das Textfeld „Netzwerke“ unter „Autorisierte externe Netzwerke“ ein.

e4d1045e1255e40f.png

  1. Nachdem Sie Ihr Netzwerk eingerichtet haben, können Sie mit der Erstellung Ihres Clusters fortfahren. Klicken Sie auf CREATE CLUSTER (CLUSTER ERSTELLEN), um die Einrichtung des Clusters abzuschließen (siehe unten):

e06623e55195e16e.png

Die Clustererstellung dauert etwa 10 Minuten. Nach erfolgreicher Ausführung sollte ein Bildschirm mit der Übersicht des gerade erstellten Clusters angezeigt werden.

Datenaufnahme

Jetzt ist es an der Zeit, eine Tabelle mit den Daten zum Geschäft hinzuzufügen. Rufen Sie AlloyDB auf, wählen Sie den primären Cluster und dann AlloyDB Studio aus:

847e35f1bf8a8bd8.png

Möglicherweise müssen Sie warten, bis die Instanz erstellt wurde. Melden Sie sich dann mit den Anmeldedaten in AlloyDB an, die Sie beim Erstellen des Clusters erstellt haben. Verwenden Sie die folgenden Daten für die Authentifizierung bei PostgreSQL:

  • Nutzername: „postgres“
  • Datenbank: „postgres“
  • Passwort: „alloydb“

Nachdem Sie sich erfolgreich in AlloyDB Studio authentifiziert haben, werden SQL-Befehle im Editor eingegeben. Sie können mehrere Editorfenster hinzufügen, indem Sie auf das Pluszeichen rechts neben dem letzten Fenster klicken.

91a86d9469d499c4.png

Sie geben Befehle für AlloyDB in Editorfenstern ein und verwenden bei Bedarf die Optionen „Ausführen“, „Formatieren“ und „Löschen“.

Tabelle erstellen

Sie können eine Tabelle mit der folgenden DDL-Anweisung in AlloyDB Studio erstellen:

-- Table DDL for Procurement Material Order Status

CREATE TABLE material_order_status (
    order_id VARCHAR(50) PRIMARY KEY,
    material_name VARCHAR(100) NOT NULL,
    supplier_name VARCHAR(100) NOT NULL,
    order_date DATE NOT NULL,
    estimated_delivery_date DATE,
    actual_delivery_date DATE,
    quantity_ordered INT NOT NULL,
    quantity_received INT,
    unit_price DECIMAL(10, 2) NOT NULL,
    total_amount DECIMAL(12, 2),
    order_status VARCHAR(50) NOT NULL, -- e.g., "Ordered", "Shipped", "Delivered", "Cancelled"
    delivery_address VARCHAR(255),
    contact_person VARCHAR(100),
    contact_phone VARCHAR(20),
    tracking_number VARCHAR(100),
    notes TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    quality_check_passed BOOLEAN,  -- Indicates if the material passed quality control
    quality_check_notes TEXT,        -- Notes from the quality control check
    priority VARCHAR(20),            -- e.g., "High", "Medium", "Low"
    project_id VARCHAR(50),          -- Link to a specific project
    receiver_name VARCHAR(100),        -- Name of the person who received the delivery
    return_reason TEXT,               -- Reason for returning material if applicable
    po_number VARCHAR(50)             -- Purchase order number
);

Einträge einfügen

Kopieren Sie die insert-Abfrageanweisung aus dem oben erwähnten database_script.sql-Skript in den Editor.

Klicken Sie auf Ausführen.

Nachdem das Dataset fertig ist, richten wir die MCP Toolbox for Databases als Steuerungsebene für alle unsere Interaktionen mit der Bestelldatenbank in AlloyDB ein.

8. Einrichtung der MCP Toolbox for Databases

Toolbox befindet sich zwischen dem Orchestrierungs-Framework Ihrer Anwendung und Ihrer Datenbank und bietet eine Steuerungsebene, die zum Ändern, Verteilen oder Aufrufen von Tools verwendet wird. Sie vereinfacht die Verwaltung Ihrer Tools, da Sie Tools zentral speichern und aktualisieren können. So können Sie Tools für mehrere Agents und Anwendungen freigeben und aktualisieren, ohne Ihre Anwendung neu bereitstellen zu müssen.

Eine der von der MCP-Toolbox für Datenbanken unterstützten Datenbanken ist AlloyDB. Da wir diese bereits im vorherigen Abschnitt bereitgestellt haben, können wir jetzt die Toolbox einrichten.

  1. Rufen Sie das Cloud Shell-Terminal auf und prüfen Sie, ob Ihr Projekt ausgewählt ist und im Prompt des Terminals angezeigt wird. Führen Sie den folgenden Befehl im Cloud Shell-Terminal aus, um das Projektverzeichnis zu öffnen:
cd adk-renovation-agent
  1. Führen Sie den folgenden Befehl aus, um die Toolbox in Ihren neuen Ordner herunterzuladen und zu installieren:
# see releases page for other versions
export VERSION=0.7.0
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
  1. Rufen Sie den Cloud Shell-Editor (für den Codebearbeitungsmodus) auf und fügen Sie im Stammordner des Projekts eine Datei mit dem Namen „tools.yaml“ hinzu.
sources:
    alloydb-orders:
        kind: "alloydb-postgres"
        project: "<<YOUR_PROJECT_ID>>"
        region: "us-central1"
        cluster: "<<YOUR_ALLOYDB_CLUSTER>>"
        instance: "<<YOUR_ALLOYDB_INSTANCE>>"
        database: "<<YOUR_ALLOYDB_DATABASE>>"
        user: "<<YOUR_ALLOYDB_USER>>"
        password: "<<YOUR_ALLOYDB_PASSWORD>>"

tools:
  get-order-data:
    kind: postgres-sql
    source: alloydb-orders
    description: Get the status of an order based on the material description.
    parameters:
      - name: description
        type: string
        description: A description of the material to search for its order status.
    statement: |
      select order_status from material_order_status where lower(material_name) like lower($1) 
      LIMIT 1;

Im Abfrageteil (siehe Parameter „statement“ oben) rufen wir nur den Wert für das Feld „order_status“ ab, wenn der Materialname mit dem Suchtext des Nutzers übereinstimmt.

tools.yaml

Quellen stellen die verschiedenen Datenquellen dar, mit denen ein Tool interagieren kann. Eine Quelle ist eine Datenquelle, mit der ein Tool interagieren kann. Sie können Quellen als Map im Abschnitt „sources“ Ihrer Datei „tools.yaml“ definieren. Normalerweise enthält eine Quellkonfiguration alle Informationen, die für die Verbindung mit und die Interaktion mit der Datenbank erforderlich sind.

Tools definieren Aktionen, die ein Agent ausführen kann, z. B. das Lesen und Schreiben in einer Quelle. Ein Tool stellt eine Aktion dar, die Ihr Agent ausführen kann, z. B. eine SQL-Anweisung. Sie können Tools als Map im Abschnitt „tools“ Ihrer Datei „tools.yaml“ definieren. Normalerweise ist für ein Tool eine Quelle erforderlich, auf die es sich beziehen kann.

Weitere Informationen zum Konfigurieren von „tools.yaml“ finden Sie in dieser Dokumentation.

MCP Toolbox for Databases-Server ausführen

Führen Sie den folgenden Befehl aus dem Ordner „mcp-toolbox“ aus, um den Server zu starten:

./toolbox --tools-file "tools.yaml"

Wenn Sie den Server jetzt in einem Webvorschau-Modus in der Cloud öffnen, sollte der Toolbox-Server mit dem neuen Tool „get-order-data“ ausgeführt werden.

Der MCP Toolbox-Server wird standardmäßig auf Port 5000 ausgeführt. Wir verwenden Cloud Shell, um dies zu testen.

Klicken Sie in Cloud Shell auf „Webvorschau“, wie unten dargestellt:

f990712162e8e924.png

Klicken Sie auf „Port ändern“, legen Sie den Port auf 5000 fest (siehe unten) und klicken Sie auf „Ändern und Vorschau“.

d1b9de0c46ecef8a.png

Dies sollte die folgende Ausgabe liefern:

2fdcdac326034d41.png

Das MCP Toolkit for Databases enthält ein Python SDK, mit dem Sie die Tools validieren und testen können. Die Dokumentation dazu finden Sie hier. Wir überspringen das und gehen im nächsten Abschnitt, in dem diese Tools verwendet werden, direkt zum Agent Development Kit (ADK) über.

Toolbox in Cloud Run bereitstellen

Zuerst können wir den MCP Toolbox-Server erstellen und in Cloud Run hosten. Dadurch erhalten wir einen öffentlichen Endpunkt, den wir in jede andere Anwendung und/oder die Agent-Anwendungen einbinden können. Eine Anleitung zum Hosten in Cloud Run finden Sie hier. Wir gehen jetzt die wichtigsten Schritte durch.

  1. Starten Sie ein neues Cloud Shell-Terminal oder verwenden Sie ein vorhandenes. Wechseln Sie zum Projektordner, in dem sich die Toolbox-Binärdatei und „tools.yaml“ befinden, in diesem Fall „adk-renovation-agent“.
  2. Legen Sie die Variable PROJECT_ID auf Ihre Google Cloud-Projekt-ID fest.
export PROJECT_ID="<<YOUR_GOOGLE_CLOUD_PROJECT_ID>>"
  1. Diese Google Cloud-Dienste aktivieren
gcloud services enable run.googleapis.com \
                       cloudbuild.googleapis.com \
                       artifactregistry.googleapis.com \
                       iam.googleapis.com \
                       secretmanager.googleapis.com
  1. Erstellen wir ein separates Dienstkonto, das als Identität für den Toolbox-Dienst dient, den wir in Google Cloud Run bereitstellen.
gcloud iam service-accounts create toolbox-identity
  1. Wir sorgen auch dafür, dass dieses Dienstkonto die richtigen Rollen hat, d. h. auf Secret Manager zugreifen und mit AlloyDB kommunizieren kann.
gcloud projects add-iam-policy-binding $PROJECT_ID \
   --member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
   --role roles/secretmanager.secretAccessor

gcloud projects add-iam-policy-binding $PROJECT_ID \
   --member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
   --role roles/alloydb.client

gcloud projects add-iam-policy-binding $PROJECT_ID \
   --member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
   --role roles/serviceusage.serviceUsageConsumer
  1. Wir laden die Datei „tools.yaml“ als Secret hoch:
gcloud secrets create tools --data-file=tools.yaml

Wenn Sie bereits ein Secret haben und die Secret-Version aktualisieren möchten, führen Sie Folgendes aus:

gcloud secrets versions add tools --data-file=tools.yaml

Legen Sie eine Umgebungsvariable für das Container-Image fest, das Sie für Cloud Run verwenden möchten:

export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest
  1. Der letzte Schritt im bekannten Bereitstellungsbefehl für Cloud Run:
gcloud run deploy toolbox \
--image $IMAGE \
--service-account toolbox-identity \
--region us-central1 \
--set-secrets "/app/tools.yaml=tools:latest" \
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \
--allow-unauthenticated

Dadurch sollte der Prozess zum Bereitstellen des Toolbox-Servers mit unserer konfigurierten tools.yaml in Cloud Run gestartet werden. Bei erfolgreicher Bereitstellung wird eine Meldung wie die folgende angezeigt:

Deploying container to Cloud Run service [toolbox] in project [YOUR_PROJECT_ID] region [us-central1]
OK Deploying new service... Done.                                                                                                                                                                                     
  OK Creating Revision...                                                                                                                                                                                             
  OK Routing traffic...                                                                                                                                                                                               
  OK Setting IAM Policy...                                                                                                                                                                                            
Done.                                                                                                                                                                                                                 
Service [toolbox] revision [toolbox-00001-zsk] has been deployed and is serving 100 percent of traffic.
Service URL: https://toolbox-<SOME_ID>.us-central1.run.app

Sie können das neu bereitgestellte Tool jetzt in Ihrer Agent-Anwendung verwenden.

Verbinden wir das Toolbox-Tool mit unserem KI-Agenten.

Wir haben die Quelle für unsere Agent-Anwendung bereits erstellt. Wir aktualisieren das Diagramm, um ein neues Tool der MCP Toolbox for Databases einzufügen, das wir gerade in Cloud Run bereitgestellt haben.

  1. Sehen Sie sich die Datei „requirements.txt“ mit dem Quellcode aus dem Repository an:

Wir fügen die Abhängigkeit für die MCP Toolbox for Databases in „requirements.txt“ ein.

https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/requirements.txt

  1. Beobachten Sie die Datei „agent.py“ mit dem Code aus dem Repository:

Wir fügen das Tool hinzu, mit dem der Toolbox-Endpunkt aufgerufen wird, um Bestelldaten für ein bestimmtes bestelltes Material abzurufen.

https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/agent.py

9. Modelleinrichtung

Die Fähigkeit Ihres KI-Agenten, Nutzeranfragen zu verstehen und Antworten zu generieren, basiert auf einem Large Language Model (LLM). Ihr Agent muss sichere Aufrufe an diesen externen LLM-Dienst ausführen. Dazu sind Authentifizierungsanmeldedaten erforderlich. Ohne gültige Authentifizierung lehnt der LLM-Dienst die Anfragen des Agents ab und der Agent kann nicht funktionieren.

  1. Rufen Sie einen API-Schlüssel von Google AI Studio ab.
  2. Ersetzen Sie im nächsten Schritt, in dem Sie die .env-Datei einrichten, <<your API KEY>> durch den tatsächlichen Wert Ihres API-Schlüssels.

10. Umgebungsvariablen einrichten

  1. Legen Sie die Werte für die Parameter in der .env-Vorlagendatei fest. In meinem Fall enthält die Datei „.env“ die folgenden Variablen:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=<<your API KEY>>
GOOGLE_CLOUD_LOCATION=us-central1 <<or your region>>
GOOGLE_CLOUD_PROJECT=<<your project id>>
PROJECT_ID=<<your project id>>
GOOGLE_CLOUD_REGION=us-central1 <<or your region>>

Ersetzen Sie die Platzhalter durch Ihre Werte.

11. Agent ausführen

  1. Wechseln Sie im Terminal zum übergeordneten Verzeichnis Ihres Agent-Projekts:
cd renovation-agent
  1. Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
  1. Sie können den folgenden Befehl in Ihrem Cloud Shell-Terminal ausführen, um den KI-Agenten auszuführen:
adk run .
  1. Sie können Folgendes ausführen, um es in einer mit dem ADK bereitgestellten Web-UI auszuführen:
adk web
  1. Testen Sie mit den folgenden Prompts:
user>> 

Hello. Check order status for Cement Bags.

12. Ergebnis

3e74f6f757e2db2c.png

13. Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Herunterfahren, um das Projekt zu löschen.

14. Glückwunsch

Glückwunsch! Sie haben erfolgreich eine Multi-Agenten-Anwendung mit dem ADK und der MCP Toolbox for Databases erstellt. Weitere Informationen finden Sie in der Produktdokumentation: Agent Development Kit und MCP Toolbox for Databases.