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). Zaczniemy od utworzenia podstawowego agenta, a następnie będziemy stopniowo 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 uporządkować wszystkie zadania w tym ćwiczeniu i oddzielić je od innych projektów, zacznij od utworzenia nowego projektu Google Cloud.

  1. Otwórz stronę console.cloud.google.com/projectcreate.
  2. Wpisz wymagane informacje:
  • Nazwa projektu – możesz wpisać dowolną nazwę (np.genai-workshop).
  • Lokalizacja – pozostaw Brak organizacji.
  • Konto rozliczeniowe – jeśli ta opcja jest widoczna, wybierz „Konto rozliczeniowe w okresie próbnym Google Cloud Platform” lub własne konto rozliczeniowe. Jeśli nie widzisz tej opcji, możesz przejść do następnego kroku.
  1. Skopiuj wygenerowany identyfikator projektu, ponieważ będzie on potrzebny później.

9cc4a060b8c46fb0.png

  1. Jeśli wszystko jest w porządku, kliknij przycisk Utwórz.

Konfigurowanie Cloud Shell

Po utworzeniu projektu wykonaj te czynności, aby skonfigurować Cloud Shell.

1. Uruchom Cloud Shell

Otwórz stronę shell.cloud.google.com. Jeśli pojawi się wyskakujące okienko z prośbą o autoryzację, kliknij Autoryzuj.

186bc51f8f3ae589.png

2. 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. Strona instalacji pakietu ADK

uv pip install google-adk --no-cache

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

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 czatowania.

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 adk web
  2. W interfejsie agenta prześlij ponownie plik GoogleHealthStrategy.pdf.
  3. 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ń:

  • W dokumencie wspomina się 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 informacje 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 agentowe często muszą tworzyć i utrzymywać własne narzędzia niestandardowe. Ten ręczny proces 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żyjemy 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 adk web
  2. 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 przejść do bardziej szczegółowego widoku, zadając 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 najpopularniejszych 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 ćwiczeniu.

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: