Tworzenie aplikacji wieloagentowej za pomocą narzędzia MCP dla AlloyDB i ADK

Tworzenie aplikacji wieloagentowej za pomocą zestawu narzędzi MCP dla AlloyDB i ADK

Informacje o tym ćwiczeniu (w Codelabs)

subjectOstatnia aktualizacja: cze 17, 2025
account_circleAutorzy: Author: Abirami Sukumaran

1. Omówienie

Agent to autonomiczny program, który komunikuje się z modelem AI, aby wykonywać operacje oparte na celach, korzystając z dostępnych narzędzi i kontekstu. Jest też zdolny do autonomicznego podejmowania decyzji opartych na prawdzie.

Gdy aplikacja ma wielu agentów, którzy współpracują ze sobą autonomicznie i wspólnie, aby realizować jej szerszy cel, a każdy z nich ma niezależną wiedzę i odpowiada za określoną dziedzinę, aplikacja staje się systemem wieloagentowym.

Pakiet SDK agenta

Pakiet narzędzi do tworzenia agentów (ADK) to elastyczna i modułowa platforma do tworzenia i wdrażania agentów AI. ADK umożliwia tworzenie zaawansowanych aplikacji przez łączenie wielu różnych instancji agenta w system wieloagentowy (MAS).

W ADK system wieloagentowy to aplikacja, w której różne elementy, często tworzące hierarchię, współpracują lub koordynują swoje działania w celu osiągnięcia większego celu. Takie ustrukturyzowanie aplikacji niesie ze sobą wiele korzyści, w tym większą modularność, specjalizację, możliwość ponownego użycia, łatwość konserwacji oraz możliwość definiowania uporządkowanych przepływów sterowania za pomocą dedykowanych agentów przepływu pracy.

O czym należy pamiętać w przypadku systemu z wieloma agentami

Po pierwsze ważne jest, aby dobrze rozumieć specjalizację każdego agenta i wiedzieć, na czym polega. – „Czy wiesz, dlaczego potrzebujesz konkretnego podrzędnego agenta?” Najpierw odpowiedz na to pytanie.

Po drugie, jak połączyć je z usługą root, aby przekierować i zinterpretować każdą z odpowiedzi.

Po trzecie, w tej dokumentacji znajdziesz różne typy routingu agenta. Wybierz odpowiednią metodę dla swojej aplikacji. Dowiesz się też, jakich kontekstów i stanów potrzebujesz do kontroli przepływu w systemie wieloagentowym.

Co utworzysz

Zbudujmy system wieloagentowy do obsługi renowacji kuchni za pomocą narzędzia MCP Toolbox dla AlloyDB i ADK.

  1. Agent ds. propozycji renowacji
  2. Agent ds. zezwoleń i zgodności
  3. Sprawdzanie stanu zamówienia (narzędzie korzystające z narzędzia MCP Toolbox for Databases)

Renovation Proposal Agent (agent ds. propozycji renowacji), aby wygenerować dokument propozycji renowacji kuchni.

Agent ds. zezwoleń i zgodności, który zajmuje się zadaniami związanymi z zezwoleniami i zgodnością.

Agent sprawdzania stanu zamówienia, który umożliwia sprawdzanie stanu zamówienia materiałów za pomocą bazy danych zarządzania zamówieniami skonfigurowanej w AlloyDB. W przypadku tej części bazy danych użyjemy MCP Toolbox for AlloyDB do zaimplementowania logiki pobierania stanu zamówień.

2. MCP

MCP to skrót od Model Context Protocol, czyli otwartego standardu opracowanego przez firmę Anthropic, który zapewnia spójny sposób łączenia się agentów AI z zewnętrznymi narzędziami, usługami i danymi. Jest to w podstawie wspólny standard dla aplikacji AI, który umożliwia im płynną współpracę z różnymi źródłami danych i narzędziami.

  1. Korzysta on z modelu klient-serwer, w którym aplikacje AI (hosty) uruchamiają klienta MCP, który komunikuje się z serwerami MCP.
  2. Gdy agent AI potrzebuje dostępu do określonego narzędzia lub danych, wysyła ustrukturyzowane żądanie do klienta MCP, który przekazuje je do odpowiedniego serwera MCP.
  3. Umożliwia modelom AI dostęp do zewnętrznych danych i narzędzi bez konieczności tworzenia niestandardowego kodu dla każdej integracji.
  4. Upraszcza proces tworzenia agentów i złożonych przepływów pracy na podstawie dużych modeli językowych (LLM).

Zestaw narzędzi MCP dla baz danych

MCP Toolbox for Databases to serwer MCP typu open source przeznaczony do baz danych. Został on zaprojektowany z myślą o jakości produkcyjnej i użytkowaniu w firmach. Dzięki temu możesz tworzyć narzędzia łatwiej, szybciej i bezpieczniej, ponieważ biblioteka ta obsługuje złożone zadania, takie jak łączenie połączeń i uwierzytelnianie.

Zezwalaj pracownikom na dostęp do danych w Twojej bazie danych. Jak to zrobić?

Uproszczone tworzenie: integracja narzędzi z agentem za pomocą mniej niż 10 wierszy kodu, ponowne wykorzystywanie narzędzi w różnych agentach lub ramach oraz łatwiejsze wdrażanie nowych wersji narzędzi.

Większa wydajność: sprawdzone metody, takie jak grupowanie połączeń, uwierzytelnianie i inne.

Wzmocnione zabezpieczenia: zintegrowana autoryzacja zapewniająca bezpieczniejszy dostęp do danych.

Kompleksowa obserwowalność: gotowe wskaźniki i śledzenie z wbudowanym wsparciem dla OpenTelemetry.

Należy podkreślić, że ta funkcja istniała przed MCP.

MCP Toolbox for Databases znajduje się między frameworkiem orkiestracji aplikacji agentycznej a bazą danych. Zapewnia on płaszczyznę kontrolną, która służy do modyfikowania, rozpowszechniania i wywoływania narzędzi. Ułatwia zarządzanie narzędziami, ponieważ zapewnia scentralizowane miejsce do przechowywania i aktualizowania narzędzi. Umożliwia też udostępnianie narzędzi między pracownikami i aplikacji oraz aktualizowanie tych narzędzi bez konieczności ponownego wdrażania aplikacji.

9a9018b8596bd34e.png

Będziemy mieć agenta głównego, który będzie koordynował te agenty na podstawie wymagań.

Wymagania

  • przeglądarka, np. Chrome lub Firefox;
  • projekt Google Cloud z włączonymi płatnościami;

3. Zanim zaczniesz

Utwórz projekt

  1. W konsoli Google Cloud na stronie selektora projektu wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności .

Jeśli czytasz ten artykuł i chcesz otrzymać środki, które pomogą Ci zacząć korzystać z Google Cloud i z ADK, kliknij ten link, aby je wykorzystać. Aby go wykorzystać, postępuj zgodnie z instrukcjami podanymi tutaj. Pamiętaj, że ten link jest ważny tylko do końca maja.

  1. Aby aktywować Cloud Shell, kliknij ten link. Możesz przełączać się między terminalem Cloud Shell (do uruchamiania poleceń w chmurze) a edytorem (do kompilowania projektów) przez kliknięcie odpowiedniego przycisku w Cloud Shell.
  2. Po połączeniu z Cloud Shell sprawdź, czy jesteś już uwierzytelniony i czy projekt jest ustawiony na identyfikator Twojego projektu, używając tego polecenia:
gcloud auth list
  1. Aby sprawdzić, czy polecenie gcloud zna Twój projekt, uruchom w Cloud Shell to polecenie:
gcloud config list project
  1. Jeśli projekt nie jest ustawiony, użyj tego polecenia:
gcloud config set project <YOUR_PROJECT_ID>
  1. Włącz te interfejsy API, wykonując te polecenia:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com \alloydb.googleapis.com
  1. Upewnij się, że masz zainstalowany Python w wersji 3.9 lub nowszej.
  2. Informacje o poleceniach i użytkowaniu gcloud znajdziesz w dokumentacji.

4. Konfiguracja ADK

  1. Tworzenie i aktywowanie środowiska wirtualnego (zalecane)

W terminalu Cloud Shell utwórz środowisko wirtualne:

python -m venv .venv

Aktywowanie środowiska wirtualnego:

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

5. Struktura projektu

  1. Aby utworzyć foldery główny i projektowy, uruchom w terminalu Cloud Shell po kolei te polecenia:
mkdir agentic-apps
cd agentic
-apps
mkdir renovation
-agent
  1. Otwórz edytor Cloud Shell i utwórz następującą strukturę projektu, tworząc pliki (na początku puste):
renovation-agent/
        __init__
.py
        agent
.py
       
.env

6. Kod źródłowy

  1. Otwórz plik init.py i zaktualizuj go, dodając ten kod:
from . import agent
  1. Otwórz plik agent.py i zaktualizuj go, używając tych danych:
https://github.com/AbiramiSukumaran/adk-renovation-agent/blob/main/agent.py

W pliku agent.py importujemy niezbędne zależności, pobieramy parametry konfiguracji z pliku .env i definiujemy root_agent, który koordynuje 3 podrzędne procesy agenta, które tworzymy w ramach tej aplikacji. Istnieje kilka narzędzi, które pomagają w głównych i pomocniczych funkcjach tych podrzędnych usług.

  1. Upewnij się, że masz zasobnik Cloud Storage

Służy do przechowywania dokumentu oferty wygenerowanego przez agenta. Utwórz go i pozwalaj na dostęp do niego systemowi wieloagentowemu utworzonemu za pomocą Vertex AI. Oto jak to zrobić:

https://cloud.google.com/storage/docs/creating-buckets#console
  1. Nazwij zasobnik „next-demo-store” lub dowolnie. Zapisz go, ponieważ musisz zaktualizować wartość zmiennej STORAGE_BUCKET w pliku .env (w kroku konfiguracji zmiennych środowiskowych).
  2. Utwórz go w lokalizacji us-central1.
  3. Aby skonfigurować dostęp do zasobnika, otwórz konsolę Cloud Storage i przejdź do zasobnika Storage (w naszym przypadku jego nazwa to „next-demo-storage”: https://console.cloud.google.com/storage/browser/next-demo-storage).

Kliknij Uprawnienia -> Wyświetl podmioty zabezpieczeń -> Przyznaj dostęp. W polu „Podmioty zabezpieczeń” wybierz „allUsers”, a w polu „Rola” – „Użytkownik obiektów Cloud Storage”.

Make sure to not enable "prevent public access". Since this is a demo/study application we are going with a public bucket. Remember to configure permission settings appropriately when you are building your application.

7. Konfiguracja bazy danych

W jednym z narzędzi używanych przez proces ordering_agent, o nazwie „check_status”, uzyskujemy dostęp do bazy danych zamówień AlloyDB, aby poznać stan zamówień. W tej sekcji skonfigurujemy klaster i instancję bazy danych AlloyDB.

Tworzenie klastra i instancji

  1. Otwórz stronę AlloyDB w konsoli Cloud. Najłatwiej znaleźć większość stron w Cloud Console jest za pomocą paska wyszukiwania w konsoli.
  2. Na tej stronie wybierz UTWÓRZ KLASTER:

f76ff480c8c889aa.png

  1. Zobaczysz ekran podobny do tego poniżej. Utwórz klaster i instancję z tymi wartościami (upewnij się, że wartości są takie same, jeśli klonujesz kod aplikacji z repozytorium):
  • Identyfikator klastra:vector-cluster
  • password: "alloydb"
  • Zgodność z PostgreSQL 16 / zalecane najnowsze wydanie
  • Region: "us-central1"
  • Networking: „default

538dba58908162fb.png

  1. Po wybraniu sieci domyślnej zobaczysz ekran podobny do tego poniżej.

Wybierz SKONFIGUROWANIE POŁĄCZENIA.
7939bbb6802a91bf.png

  1. Następnie wybierz „Użyj automatycznie przydzielonego zakresu adresów IP” i kliknij Dalej. Po sprawdzeniu informacji wybierz UTWÓRZ POŁĄCZENIE. 768ff5210e79676f.png

6. WAŻNA UWAGA: pamiętaj, aby zmienić identyfikator instancji (który możesz znaleźć w momencie konfigurowania klastra lub instancji) na

vector-instance. Jeśli nie możesz go zmienić, pamiętaj, aby użyć identyfikatora instancji we wszystkich kolejnych odwołaniach.

  1. W ramach przygotowań do konfiguracji Toolboxa włączmy łączność z publicznym adresem IP w instancji AlloyDB, aby nowe narzędzie mogło uzyskać dostęp do bazy danych.
  2. Przejdź do sekcji łączności z publicznym adresem IP, zaznacz pole wyboru Włącz publiczny adres IP i wpisz adres IP maszyny Cloud Shell.
  3. Aby uzyskać adres IP maszyny Cloud Shell, otwórz terminal Cloud Shell i wpisz ifconfig. Na podstawie wyników określ adres IPv4 interfejsu eth0 i zastąp 2 ostatnie cyfry 0,0 maską o rozmiarze „/16”. Na przykład „XX.XX.0.0/16”, gdzie XX to cyfry.
  4. Wklej ten adres IP w polu tekstowym „Sieci” w sekcji Autoryzowane sieci zewnętrzne na stronie edycji instancji.

e4d1045e1255e40f.png

  1. Po skonfigurowaniu sieci możesz kontynuować tworzenie klastra. Kliknij UTWÓRZ KLASTER, aby dokończyć konfigurowanie klastra, jak pokazano poniżej:

e06623e55195e16e.png

Pamiętaj, że utworzenie klastra zajmie około 10 minut. Po zakończeniu procesu powinien wyświetlić się ekran z ogólnymi informacjami o kreatorzym utworzonym klastrze.

Pozyskiwanie danych

Teraz dodaj tabelę z danymi o sklepie. Przejdź do AlloyDB, wybierz klaster główny, a następnie AlloyDB Studio:

847e35f1bf8a8bd8.png

Możesz musieć poczekać na utworzenie instancji. Gdy to zrobisz, zaloguj się w AlloyDB, używając danych logowania utworzonych podczas tworzenia klastra. Do uwierzytelniania w PostgreSQL użyj tych danych:

  • Nazwa użytkownika: „postgres
  • Baza danych: „postgres
  • Hasło: „alloydb

Gdy uwierzytelnisz się w AlloyDB Studio, polecenia SQL są wpisywane w Edytorze. Możesz dodać większą liczbę okien Edytora, klikając plus po prawej stronie ostatniego okna.

91a86d9469d499c4.png

Polecenia AlloyDB wpisujesz w oknach edytora, korzystając w razie potrzeby z opcji Uruchom, Formatuj i Wyczyść.

Tworzenie tabeli

W AlloyDB Studio możesz utworzyć tabelę za pomocą poniższego polecenia DDL:

-- 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
);

Wstawianie rekordów

Skopiuj instrukcję zapytania insert ze wspomnianego wyżej skryptu database_script.sql do edytora.

Kliknij Wykonaj.

Teraz, gdy zbiór danych jest gotowy, skonfigurujmy MCP Toolbox for Databases, aby działał jako płaszczyzna kontrolna dla wszystkich interakcji z bazą danych zamówień w AlloyDB.

8. Zestaw narzędzi MCP do konfigurowania baz danych

Toolbox znajduje się między systemem sterowania aplikacji a bazą danych. Zapewnia on płaszczyznę kontrolną, która służy do modyfikowania, rozpowszechniania i wywoływania narzędzi. Ułatwia zarządzanie narzędziami, ponieważ udostępnia scentralizowane miejsce do przechowywania i aktualizowania narzędzi, co pozwala udostępniać je między pracownikami i aplikacji oraz aktualizować bez konieczności ponownego wdrażania aplikacji.

Jak widać, jedną z baz danych obsługiwanych przez MCP Toolbox for Databases jest AlloyDB. Ponieważ ta baza została już utworzona w poprzedniej sekcji, skonfigurujmy Toolbox.

  1. Otwórz terminal Cloud Shell i sprawdź, czy Twój projekt jest wybrany i widoczny w promptach terminala. Aby przejść do katalogu projektu, uruchom to polecenie w terminalu Cloud Shell:
cd adk-renovation-agent
  1. Aby pobrać i zainstalować narzędzia w nowym folderze, uruchom to polecenie:
# see releases page for other versions
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
  1. Otwórz edytor Cloud Shell (tryb edycji kodu) i w katalogu głównym projektu dodaj plik o nazwie „tools.yaml”.
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;

W części zapytania (patrz parametr „statement” powyżej) pobieramy tylko wartość pola order_status, gdy nazwa materiału pasuje do tekstu wyszukiwania użytkownika.

Poznaj plik tools.yaml

Źródła to różne źródła danych, z którymi narzędzie może wchodzić w interakcje. Źródło reprezentuje źródło danych, z którym narzędzie może wchodzić w interakcję. Źródła możesz zdefiniować jako mapę w sekcji źródeł w pliku tools.yaml. Konfiguracja źródła zawiera zwykle wszystkie informacje potrzebne do połączenia z bazą danych i interakcji z nią.

Narzędzia określają działania, które może wykonywać agent, np. odczytywanie i zapisywanie w źródle. Narzędzie reprezentuje działanie, które może wykonać agent, np. uruchomienie instrukcji SQL. Narzędzia możesz zdefiniować jako mapę w sekcji narzędzi w pliku tools.yaml. Zwykle narzędzie wymaga źródła danych.

Więcej informacji o konfigurowaniu pliku tools.yaml znajdziesz w tej dokumentacji.

Uruchomimy zestaw narzędzi MCP dla serwera baz danych.

Aby uruchomić serwer, uruchom to polecenie (z folderu mcp-toolbox):

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

Jeśli otworzysz serwer w trybie podglądu w internecie w chmurze, powinieneś zobaczyć działający serwer Toolbox z nowym narzędziem o nazwie get-order-data.

Serwer MCP Toolbox działa domyślnie na porcie 5000. Zweryfikujmy to za pomocą Cloud Shell.

W Cloud Shell kliknij Podgląd w przeglądarce, jak pokazano poniżej:

f990712162e8e924.png

Kliknij Zmień port i ustaw port na 5000, jak pokazano poniżej, a następnie kliknij Zmień i wyświetl podgląd.

d1b9de0c46ecef8a.png

Powinien pojawić się ten wynik:

2fdcdac326034d41.png

Zestaw narzędzi MCP do obsługi baz danych zawiera pakiet SDK Pythona, który umożliwia sprawdzanie i testowanie narzędzi. Dokumentację znajdziesz tutaj. Pomijamy to i w następnej sekcji przechodzimy bezpośrednio do pakietu narzędzi dewelopera (ADK), który wykorzystuje te narzędzia.

Wdróżmy Toolbox w Cloud Run

Najpierw możemy zacząć od serwera MCP Toolbox i hostować go w Cloud Run. Dzięki temu uzyskamy publiczny punkt końcowy, który można zintegrować z dowolną inną aplikacją lub aplikacjami agenta. Instrukcje dotyczące hostowania w Cloud Run znajdziesz tutaj. Teraz omówimy najważniejsze kroki.

  1. Uruchom nowy terminal Cloud Shell lub użyj istniejącego terminalu Cloud Shell. Otwórz folder projektu, w którym znajdują się pliki binarne narzędzia i plik tools.yaml, w tym przypadku adk-renovation-agent.
  2. Ustaw zmienną PROJECT_ID tak, aby wskazywała na identyfikator projektu Google Cloud.
export PROJECT_ID="<<YOUR_GOOGLE_CLOUD_PROJECT_ID>>"
  1. Włącz te usługi Google Cloud
gcloud services enable run.googleapis.com \
                       cloudbuild.googleapis.com \
                       artifactregistry.googleapis.com \
                       iam.googleapis.com \
                       secretmanager.googleapis.com
  1. Utwórz osobne konto usługi, które będzie pełnić funkcję tożsamości usługi Toolbox, którą będziemy wdrażać w Google Cloud Run.
gcloud iam service-accounts create toolbox-identity
  1. Sprawdzamy też, czy to konto usługi ma odpowiednie role, np.możliwość dostępu do Menedżera obiektów tajnych i komunikacji z AlloyDB.
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. Prześlemy plik tools.yaml jako tajny:
gcloud secrets create tools --data-file=tools.yaml

Jeśli masz już obiekt tajny i chcesz zaktualizować jego wersję, wykonaj te czynności:

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

Ustaw zmienną środowiskową na obraz kontenera, którego chcesz używać w Cloud Run:

export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest
  1. Ostatni krok w znanym już poleceniu wdrażania w 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

Powinien rozpocząć się proces wdrażania serwera Toolbox z skonfigurowanym plikiem tools.yaml do Cloud Run. Po pomyślnym wdrożeniu powinien wyświetlić się komunikat podobny do tego:

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

Możesz teraz korzystać z nowo wdrożonego narzędzia w aplikacji agentycznej.

Połączmy narzędzie Toolbox z naszym agentem.

Źródło dla naszego systemu wieloagentowego zostało już utworzone. Zaktualizujmy to, aby uwzględnić nowe narzędzie MCP Toolbox for Databases, które właśnie wdrożyliśmy w Cloud Run.

  1. Zmodyfikuj plik requirements.txt, korzystając z źródła z repozytorium:

Dodajemy zależność MCP Toolbox for Databases w pliku requirements.txt

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

  1. Zmodyfikuj plik agent.py za pomocą kodu z repozytorium:

Dołączamy narzędzie, które wywołuje punkt końcowy narzędzia, aby pobrać dane zamówienia dotyczące konkretnego zamówionego materiału.

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

9. Konfiguracja modelu

Umiejętność agenta do rozumienia próśb użytkowników i generowania odpowiedzi jest obsługiwana przez duży model językowy (LLM). Twój pracownik musi wykonywać bezpieczne wywołania do tej zewnętrznej usługi LLM, która wymaga danych uwierzytelniających. Bez prawidłowego uwierzytelnienia usługa LLM odrzuca żądania agenta, który nie może wtedy działać.

  1. Uzyskaj klucz interfejsu API w Google AI Studio.
  2. W następnym kroku, w którym skonfigurujesz plik .env, zastąp <<your API KEY>> rzeczywistą wartością klucza API.

10. Konfiguracja zmiennych środowiskowych

  1. Ustaw wartości parametrów w pliku .env szablonu. W moim przypadku plik .env zawiera te zmienne:
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>>
STORAGE_BUCKET=next-demo-store <<or your storage bucket name>>

Zastąp obiekty zastępcze swoimi wartościami.

11. Uruchamianie agenta

  1. W terminalu przejdź do katalogu nadrzędnego projektu agenta:
cd renovation-agent
  1. Zainstaluj zależności:
pip install -r requirements.txt
  1. Aby uruchomić agenta, w terminalu Cloud Shell uruchom to polecenie:
adk run .
  1. Aby uruchomić go w interfejsie internetowym obsługiwanym przez ADK:
adk web
  1. Przeprowadź testy, korzystając z tych promptów:
user>> 

Hello. Check order status for Cement Bags.

13. Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby wykorzystane w tym poście, wykonaj te czynności:

  1. W konsoli Google Cloud otwórz stronę Zarządzanie zasobami.
  2. Na liście projektów wybierz projekt do usunięcia, a potem kliknij Usuń.
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.

14. Gratulacje

Gratulacje! Udało Ci się utworzyć aplikację wieloagentową za pomocą ADK i MCP Toolbox for Databases. Więcej informacji znajdziesz w dokumentacji do tych usług: Agent Development KitMCP Toolbox for Databases.