Tworzenie agentów AI za pomocą pakietu ADK: agent analityka danych

1. Zanim zaczniesz

Witamy w czwartej części serii „Tworzenie agentów AI z użyciem pakietu ADK”. W tym praktycznym ćwiczeniu wykorzystasz wiedzę zdobytą podczas poprzednich sesji, aby utworzyć agenta analityka danych. Ten agent będzie analizować dane, generować cenne statystyki i automatyzować kluczowe aspekty przepływu pracy związanego z analizą danych.

Umożliwisz agentowi przeglądanie przesłanych plików i łączenie się z bazami danych na poziomie firmy, takimi jak Google Cloud BigQuery, za pomocą zaawansowanych narzędzi zawartych w ADK.

To ćwiczenie z programowania jest też dostępne pod tym skróconym adresem URL: goo.gle/adk-data-analyst

Wymagania wstępne

  • Podstawowa wiedza o koncepcjach generatywnej AI
  • podstawowa znajomość programowania w Pythonie i wygoda w korzystaniu z wiersza poleceń;
  • Znajomość koncepcji z poprzednich samouczków z tej serii: „Podstawy” i „Wspomaganie za pomocą narzędzi”.

Czego się nauczysz

  • Jak utworzyć działającego agenta analityka danych za pomocą platformy ADK.
  • Metody umożliwiające agentowi analizowanie danych z przesłanych dokumentów.
  • Jak połączyć agenta z bazą danych BigQuery, aby przeprowadzać analizy danych na poziomie przedsiębiorstwa.
  • Techniki definiowania podstawowej logiki agenta, w tym jego celu i instrukcji.

Czego potrzebujesz

  • działający komputer i stabilne połączenie z internetem.
  • przeglądarka, np. Chrome, do otwierania konsoli Google Cloud;
  • ciekawość i chęć do nauki;

2. Wprowadzenie

W dzisiejszym świecie opartym na danych umiejętność szybkiego i dokładnego analizowania ogromnych ilości informacji jest ważniejsza niż kiedykolwiek wcześniej. Proces wyodrębniania przydatnych statystyk często wymaga jednak specjalistycznej wiedzy technicznej w zakresie m.in. SQL, co może spowalniać podejmowanie decyzji. A gdyby można było zniwelować tę różnicę i wchodzić w interakcję ze złożonymi zbiorami danych tak łatwo, jak podczas rozmowy?

W tym miejscu pojawiają się agenci AI, którzy zmieniają zasady gry. Działając jako inteligentny interfejs między Tobą a Twoimi danymi, agenty AI mogą rozumieć pytania w języku naturalnym, tłumaczyć je na zapytania techniczne i w ciągu kilku sekund dostarczać przydatne statystyki.

W tym ćwiczeniu poznasz przyszłość analizy danych, tworząc praktycznego agenta analityka danych za pomocą pakietu Agent Development Kit (ADK). Zaczniesz od utworzenia podstawowego agenta, a potem stopniowo będziesz zwiększać jego możliwości. Najpierw nauczysz agenta analizować nieuporządkowane dane z przesłanych dokumentów. Następnie połączysz go z zaawansowaną hurtownią danych klasy korporacyjnej, Google Cloud BigQuery, aby wykonywać zapytania i analizować duży zbiór danych dotyczących opieki zdrowotnej w świecie rzeczywistym.

Po ukończeniu tego samouczka będziesz mieć nie tylko działającego asystenta AI, ale też solidną wiedzę o tym, jak tworzyć agentów, którzy mogą automatyzować rutynowe zadania związane z danymi, przyspieszać analizę i ułatwiać Tobie i Twojemu zespołowi dostęp do kluczowych informacji.

3. Konfigurowanie usług Google Cloud

Tworzenie projektu Google Cloud

Aby zachować porządek i oddzielić pracę wykonaną w ramach tego ćwiczenia od innych projektów, zacznij od utworzenia nowego projektu Google Cloud.

Aby otworzyć stronę tworzenia projektu, kliknij:

Na stronie tworzenia projektu wpisz wymagane informacje:

  • Nazwa projektu: wpisz dowolną nazwę, np. genai-workshop. Musi mieć od 4 do 30 znaków i może zawierać tylko litery, cyfry, pojedyncze cudzysłowy, łączniki, spacje oraz wykrzykniki.
  • Lokalizacja: pozostaw ustawienie Brak organizacji.
  • Konto rozliczeniowe: jeśli pojawi się odpowiedni komunikat, wybierz Próbne konto rozliczeniowe Google Cloud Platform (lub preferowane aktywne konto rozliczeniowe). Jeśli ta opcja nie jest widoczna, po prostu przejdź dalej.

Skopiuj wygenerowany identyfikator projektu, będzie Ci potrzebny później. 9cc4a060b8c46fb0.png

Jeśli wszystko się zgadza, kliknij przycisk Utwórz.

Konfigurowanie Cloud Shell

Cloud Shell to wstępnie skonfigurowane środowisko ze wszystkimi narzędziami potrzebnymi do wykonania tych ćwiczeń z programowania. Po utworzeniu projektu wykonaj te czynności, aby skonfigurować Cloud Shell.

Uruchom Cloud Shell

Aby uruchomić Cloud Shell, kliknij .

Jeśli pojawi się wyskakujące okienko z prośbą o autoryzację, kliknij Autoryzuj.

186bc51f8f3ae589.png

Ustawianie identyfikatora projektu

Zastąp replace-with-your-project-id rzeczywistym identyfikatorem projektu z kroku tworzenia projektu powyżej. Aby ustawić prawidłowy identyfikator projektu, wykonaj to polecenie w terminalu Cloud Shell.

gcloud config set project replace-with-your-project-id

W terminalu Cloud Shell powinien być teraz wybrany prawidłowy projekt. Wybrany identyfikator projektu jest wyróżniony na żółto.

479ae540d1828559.png

3. Włącz wymagane interfejsy API

Aby korzystać z usług Google Cloud, musisz najpierw aktywować odpowiednie interfejsy API w swoim projekcie. Aby włączyć usługi na potrzeby tego Codelabu, uruchom w terminalu Cloud Shell te polecenia:

gcloud services enable \
 aiplatform.googleapis.com \
 bigquery.googleapis.com

Jeśli operacja się powiedzie, w terminalu pojawi się komunikat Operation/... finished successfully.

4. Utwórz środowisko wirtualne Pythona

Następnie utwórz izolowane środowisko Pythona, aby zarządzać zależnościami projektu.

1. Utwórz katalog projektu i przejdź do niego:

mkdir -p ai-agents-adk && cd ai-agents-adk

2. Utwórz i aktywuj środowisko wirtualne:

uv venv --python 3.12
source .venv/bin/activate

Przed promptem terminala zobaczysz prefiks (ai-agents-adk), który oznacza, że środowisko wirtualne jest aktywne.

6512ff43e8f5aa04.png

3. Usuwanie istniejącej pamięci podręcznej

rm -rf ~/.cache

4. Strona instalacji pakietu ADK

uv pip install google-adk --no-cache

5. Otwórz folder jako obszar roboczy Cloud Shell

cd ~
cloudshell workspace ai-agents-adk

5. Tworzenie agenta startowego

Gdy środowisko będzie gotowe, możesz utworzyć agenta AI za pomocą prostego polecenia ADK.

1. Tworzenie agenta

W terminalu uruchom to polecenie:

adk create data_analyst_agent

2. Skonfiguruj agenta

Pojawi się prośba o skonfigurowanie agenta. Wybierz te opcje:

  • Wybierz model: wybierz 1. gemini-2.5-flash.
  • Wybierz backend: wybierz 2. Vertex AI.
  • Wpisz identyfikator projektu Google Cloud: naciśnij Enter, aby potwierdzić prawidłowy identyfikator projektu.
  • Wpisz region Google Cloud: naciśnij Enter, aby użyć domyślnego regionu us-central1.

3. Uruchom serwer programisty

Po utworzeniu agenta uruchom serwer programistyczny, wykonując to polecenie:

adk web --allow_origins "regex:https://.*\.cloudshell\.dev"

Możesz kliknąć link z wciśniętym klawiszem Ctrl lub kliknąć link z wciśniętym klawiszem Cmd (np. http://localhost:8000) w terminalu lub

  • Kliknij przycisk Podgląd w przeglądarce.
  • Kliknij Zmień port.
  • Wpisz numer portu (np.8000).
  • Kliknij Zmień i wyświetl podgląd.

W przeglądarce pojawi się interfejs podobny do aplikacji do czatu.

4. Czat z agentem

Możesz teraz porozmawiać z agentem w tym interfejsie. Powiedz na przykład „cześć, co potrafisz?”.

6. Analizowanie danych z dokumentu

W tej sekcji prześlesz dokument do agenta i zadasz pytania dotyczące jego treści.

1. Podsumuj dokument

Aby uzyskać podsumowanie dokumentu:

  1. Pobierz plik dotyczący strategii Google w zakresie opieki zdrowotnej.
  2. W interfejsie agenta kliknij przycisk prześlij plikwybierz pobrany przed chwilą plik.
  3. W interfejsie czatu poproś agenta o podsumowanie pliku: „Podsumuj ten plik”.
  4. Naciśnij Enter.

Powinno pojawić się zwięzłe podsumowanie treści dokumentu.

f0784e4dc5d687cb.png

2. Zadawaj bardziej szczegółowe pytania

Teraz zadaj bardziej szczegółowe pytania, aby dowiedzieć się więcej o dokumencie:

  • Jakie choroby są obecnie głównym celem inicjatyw Google w zakresie AI i danych?
  • Jak Google planuje poprawić interoperacyjność danych dotyczących opieki zdrowotnej i zlikwidować silosy danych?
  • Jak Google Cloud pomaga firmom z branży opieki zdrowotnej i naukowcom?
  • Jakie nowe obszary chorób Google może badać w przyszłości (np. POChP, nowotwory, zdrowie psychiczne)?

3. Zadawaj pytania dodatkowe

Możesz też zadawać dodatkowe pytania, np. o numer referencyjny strony, aby dokładniej zbadać problem:

  • Gdzie znalazłeś(-aś) informacje dotyczące cukrzycy?
  • Przekieruj mnie na odpowiednie strony dotyczące chorób.
  • Gdzie znajdę ciekawe wykresy, na które warto zwrócić uwagę?

Zadanie: znajdź dokument, który chcesz, aby agent przeanalizował, i prześlij go. zadawać agentowi pytania dotyczące jego treści,

7. Łączenie informacji o dokumentach z wyszukiwaniem w internecie na żywo

Agent jest teraz ekspertem w zakresie dokumentu, ale skuteczny analityk potrzebuje też dostępu do aktualnych informacji zewnętrznych. Nadajmy agentowi możliwość wyszukiwania w internecie.

  1. W terminalu Cloud Shell naciśnij Ctrl+C, aby zatrzymać serwer WWW.
  2. Otwórz plik data_analyst_agent/agent.py w edytorze Cloud Shell, wykonując to polecenie:
cloudshell edit data_analyst_agent/agent.py
  1. Zmodyfikuj plik, aby zaimportować i dodać narzędzie google_search:
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search

root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    instruction="""
        First, check the uploaded files for an answer. 
        If the information is not in the files, use your tools to search the web. 
        Answer user questions to the best of your ability.
    """,
    tools=[
        google_search
    ]
)
  1. Zapisz plik i ponownie uruchom serwer WWW w terminalu, wpisując w nim to polecenie:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
  1. W interfejsie agenta prześlij ponownie plik GoogleHealthStrategy.pdf.
  2. Teraz zadaj pytanie, które wymaga zarówno kontekstu dokumentu, jak i informacji zewnętrznych:
The document discusses Google's strategy in healthcare. What are three other major tech companies that are also investing heavily in healthcare AI, and what are their primary focus areas?

Agent zsyntetyzuje teraz informacje z dokumentu i wyszukiwania w Google, aby udzielić Ci wyczerpującej odpowiedzi. Możesz zadać kilka pytań:

  • Dokument wspomina o wykorzystaniu AI w przypadku retinopatii cukrzycowej. Jakie najnowsze technologie zatwierdzone przez FDA w tej dziedzinie zostały ogłoszone w ostatnim roku?
  • Plik zawiera wzmianki o partnerstwach. Czy możesz znaleźć najnowsze artykuły lub komunikaty prasowe dotyczące najnowszych współprac Google w sektorze opieki zdrowotnej?

Wyzwanie: Spróbuj zadać podobne pytania dotyczące własnego dokumentu. Coś, co wykorzystuje dokument lokalny i wyniki z internetu.

8. Analizowanie danych dotyczących opieki zdrowotnej za pomocą BigQuery

Przesyłanie pojedynczych dokumentów nie jest skalowalne. W rzeczywistości dane znajdują się w systemach przedsiębiorstwa, takich jak Google Cloud BigQuery.

Obecnie deweloperzy tworzący aplikacje oparte na agentach często muszą tworzyć i utrzymywać własne narzędzia niestandardowe. Ten proces ręczny jest powolny, ryzykowny i generuje znaczne koszty. Zmusza to deweloperów do zajmowania się wszystkim, od uwierzytelniania po obsługę błędów, zamiast skupiać się na innowacjach.

Pakiet Agent Development Kit (ADK) zawiera narzędzia własne do interakcji z BigQuery. Do tej analizy użyjesz publicznie dostępnego zbioru danych Medicare Utilization udostępnionego przez Centers for Medicare & Medicaid Services (CMS).

Najpierw połączmy naszego agenta z ogromnym publicznym zbiorem danych dotyczących opieki zdrowotnej.

  1. W terminalu Cloud Shell naciśnij Ctrl+C, aby zatrzymać serwer WWW.
  2. Otwórz plik data_analyst_agent/agent.py w edytorze Cloud Shell, wykonując w terminalu to polecenie:
cloudshell edit data_analyst_agent/agent.py
  1. Zastąp całą zawartość pliku tym kodem, aby skonfigurować zaawansowany element BigQueryToolset:
import google.auth
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.bigquery import (
    BigQueryToolset,
    BigQueryCredentialsConfig
)
from google.adk.tools.bigquery.config import (
    BigQueryToolConfig,
    WriteMode
)

# Automatically get credentials from the gcloud environment
application_default_credentials, _ = google.auth.default()
credentials_config = BigQueryCredentialsConfig(
    credentials=application_default_credentials
)

# Configure the BigQuery tool
tool_config = BigQueryToolConfig(
    write_mode=WriteMode.ALLOWED,
    application_name='data_analyst_agent'
)

# Create the toolset with the specified configurations
bigquery_toolset = BigQueryToolset(
    credentials_config=credentials_config, bigquery_tool_config=tool_config
)

# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
    model='gemini-2.5-flash',
    name='google_search_agent',
    description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
    instruction='Use google search to answer user questions about real-time, logistical information.',
    tools=[google_search],
)

# Define the final agent with its instructions and tools
root_agent = Agent(
    model="gemini-2.5-flash",
    name="bigquery_agent",
    description=(
        "Agent to answer questions about BigQuery data and execute SQL queries."
    ),
    instruction="""
        You are an expert data analyst agent with access to BigQuery tools.
        When a user asks about a dataset, first use your tools to understand its schema.
        Then, use this knowledge to construct and execute SQL queries to answer the user's questions.
        Always confirm with the user if their question is ambiguous (e.g., for which year?).
    """,
    tools=[
        AgentTool(google_search_agent),
        bigquery_toolset
    ],
)
  1. Zapisz plik i ponownie uruchom serwer WWW w terminalu, wpisując w nim to polecenie:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
  1. Możesz teraz poprosić agenta o przeanalizowanie publicznego zbioru danych Medicare. Zacznij od przeglądania danych:
Look into the cms_medicare dataset in the bigquery-public-data project. What can you tell me about it?

Agent użyje swoich narzędzi, aby sprawdzić zbiór danych i podać listę dostępnych tabel. Następnie możesz zadawać szczegółowe pytania analityczne. Aby mieć pewność, że zapytania są dokładne, agent może zadawać pytania wyjaśniające.

2792f14f62f5b484.png

W przypadku niektórych pytań musisz podać identyfikator projektu, aby agent mógł go użyć do utworzenia zapytania. Na przykład:

503477d9e314575e.png

Oto kilka przykładowych promptów analitycznych, które możesz wypróbować:

  • Korzystając z tabeli inpatient_charges_2015, podaj 5 najczęstszych procedur (definicji DRG) według łącznej liczby wypisów.
  • Jaka jest średnia łączna płatność za „MAJOR JOINT REPLACEMENT” w Kalifornii (CA)?
  • W którym stanie średnie pokryte opłaty za tę samą procedurę są najwyższe?

To już koniec tego ćwiczenia. Zaledwie zarysowaliśmy możliwości, jakie dają agenci danych oparte na systemach danych przedsiębiorstwa. Możesz zadać agentowi pytania dotyczące zbioru danych cms_medicare.

Wyzwanie: znajdź inny publiczny zbiór danych w BigQuery i użyj agenta, aby go zbadać. Możesz też utworzyć własny zbiór danych z własnymi danymi i analizować go prywatnie.

9. Zwalnianie miejsca (opcjonalnie)

Aby uniknąć obciążenia konta opłatami w przyszłości, możesz usunąć zasoby użyte w tym laboratorium.

1. Zatrzymaj agenta

W terminalu Cloud Shell naciśnij Ctrl+C, aby zatrzymać proces adk web.

2. Usuwanie plików projektu

Aby usunąć kod agenta ze środowiska Cloud Shell, uruchom w terminalu to polecenie:

cd ~ && rm -rf ai-agents-adk

3. Wyłączanie interfejsów API

Aby wyłączyć interfejsy API włączone wcześniej, uruchom w terminalu to polecenie:

gcloud services disable \
 aiplatform.googleapis.com \
 bigquery.googleapis.com

4. Wyłączanie projektu

Jeśli chcesz usunąć cały projekt Google Cloud, postępuj zgodnie z instrukcjami w przewodniku zamykania projektów.

10. Podsumowanie

Gratulacje! Udało Ci się utworzyć agenta analityka danych za pomocą platformy Agent Development Kit (ADK). Ten agent potrafi analizować dane z różnych źródeł, generować statystyki i pomagać w automatyzacji części przepływu pracy związanego z analizą danych.

Aby kontynuować naukę, zapoznaj się z tymi materiałami: