1. Zanim zaczniesz
W tym Codelabs dowiesz się, jak używać interfejsu Conversational Analytics API (CA API) z Lookerem i BigQuery do tworzenia własnej aplikacji do czatu, która umożliwia wysyłanie zapytań o dane. Aby w pełni wykorzystać tę funkcję, musisz znać BigQuery, Lookera, modele LLM i agenty oraz język Python.
Czego się nauczysz
Po ukończeniu tego ćwiczenia nauczysz się:
- Jak korzystać z analityki konwersacyjnej w Lookerze
- Jak skonfigurować i używać aplikacji Streamlit Quickstart do analizy konwersacyjnej w Pythonie (i jak ona działa)
- Korzyści z używania Lookera do modelowania semantycznego w przypadku analizy konwersacyjnej
Czego potrzebujesz
Aby ukończyć to ćwiczenie, potrzebujesz:
- Instancja Lookera z zainstalowanym blokiem Lookera ASC Demographic Data.
- Dostęp do interfejsu API i narzędzi dla deweloperów w instancji Lookera
- Środowisko lokalne z zainstalowanym Pythonem w wersji 3.11 lub nowszej, Gitem i gcloud.
- projekt w chmurze z tymi rolami IAM skonfigurowanymi na Twoim koncie użytkownika:
roles/bigquery.dataViewerWyświetlający dane BigQueryroles/bigquery.userUżytkownik BigQueryroles/looker.instanceUserUżytkownik instancji Lookera
2. Tworzenie i testowanie aplikacji do obsługi czatu za pomocą BigQuery
Najpierw skonfigurujmy i wypróbujmy aplikację do szybkiego rozpoczęcia pracy z analityką konwersacyjną, używając BigQuery jako źródła danych.
Uwierzytelnianie i włączanie interfejsów Cloud API
- Uwierzytelnianie lokalne za pomocą konta użytkownika:
gcloud auth login
- Włącz interfejsy API projektu w chmurze. Zastąp
YOUR_PROJECT_IDidentyfikatorem Twojego projektu Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Skonfiguruj domyślne uwierzytelnianie aplikacji (ADC) i płatności:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Konfigurowanie aplikacji do szybkiego startu
- Sklonuj repozytorium GitHub z krótkim wprowadzeniem w środowisku lokalnym. Oto przykładowe polecenie:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Przejdź do sklonowanego katalogu
ca-api-quickstarts:
cd ca-api-quickstarts
- Utwórz plik
secrets.tomlw katalogu.streamlit.YOUR_LOOKER_CLIENT_IDiYOUR_LOOKER_CLIENT_SECRETpowinny być identyfikatorem klienta Lookera i tajnym kluczem klienta Lookera z Twojej instancji Lookera. Zawartość pliku powinna wyglądać tak:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Aby utworzyć plik, możesz użyć tego przykładowego polecenia. Pamiętaj, aby zastąpić wartości identyfikatorem projektu, identyfikatorem klienta i tajnym kluczem klienta:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- Zainstaluj wymagania Pythona dotyczące aplikacji z krótkim wprowadzeniem:
pip install -r requirements.txt
- Uruchom aplikację z krótkiego wprowadzenia:
streamlit run app.py
- Otwórz stronę https://localhost:8501 w wybranej przeglądarce.
Wypróbuj aplikację z krótkiego wprowadzenia
Wyświetli się strona agentów aplikacji szybkiego startu. Nie masz dostępnych agentów danych.
- Teraz w formularzu Utwórz agenta utwórz agenta danych, który mówi jak pirat:
- Ustaw pole Wyświetlana nazwa:
Pirate BQ Agent
- Ustaw pole Instrukcje systemowe:
You are a pirate. Answer questions like a pirate
- Wybierz opcję BigQuery.
- Ustaw pole Project (Projekt):
bigquery-public-data
- Ustaw pole Zbiór danych:
google_trends
- Ustaw pole Tabela:
top_rising_terms
- Kliknij Utwórz agenta.
- Teraz przejdźmy do strony czatu za pomocą głównego menu nawigacyjnego po lewej stronie. Nasz nowo utworzony agent jest dostępny na czacie. Zacznijmy czat od dodania promptu/wiadomości: „Cześć, co słychać?”.
- Dowiedzmy się teraz więcej o tym zbiorze danych: „Czego dotyczy ten zbiór danych?”
- Zadaj inne pytanie, np.:
- „Jakie lokalizacje w [wpisz nazwę stanu] znajdują się w zbiorze danych?”
- „Czy możesz podać dane z ostatnich 2 tygodni dla [miasto, stan]?”.
- „Czy możesz utworzyć wizualizację?”
Właśnie przeprowadzono wieloetapową rozmowę z agentem danych i danymi BigQuery we własnej aplikacji do czatowania.
3. Modelowanie i przeglądanie danych w Lookerze
Teraz modelujemy i eksplorujemy te same dane BigQuery w Lookerze.
Wykonywanie zapytań dotyczących danych spisu ludności w BigQuery
Co się stanie, gdy połączymy się z większym, relacyjnym zbiorem danych? Najpierw utworzymy nowego agenta.
- Wróć do formularza Utwórz agenta na stronie agentów.
- Ustaw pole Wyświetlana nazwa:
BQ Census Agent
- Ustaw pole Instrukcje systemowe:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- Wybierz opcję BigQuery.
- Ustaw pole Project (Projekt):
bigquery-public-data
- Ustaw pole Zbiór danych:
census_bureau_acs
- Ustaw pole Tabela:
blockgroup_2018_5yr
- Kliknij Utwórz agenta.
- Zadaj nowo utworzonemu agentowi oba te pytania:
- „Jakie dane posiadasz?”
- „Czy możesz mi pokazać podgląd moich danych?”
Modelowanie danych spisu ludności za pomocą Lookera
Teraz użyjemy modelu LookML, aby zdefiniować dane spisu powszechnego BigQuery. Rozwiążemy problemy, które widzieliśmy wcześniej.
- Logowanie się w instancji Lookera
- Aby przejść do plików bloków danych demograficznych ACS, w menu głównym po lewej stronie kliknij kolejno Develop (Programowanie) i marketplace_acs_census-v2.
- Przyjrzyjmy się widokowi Looker. Otwórz katalog
imported_project, katalogacs_census-v2i kataloggeography. - Na koniec otwórz plik
cbsa.view. - W wierszu 17 widzimy, że LookML tworzy tabelę derywowaną. Innymi słowy, ten kod tworzy nową, połączoną tabelę, łącząc 2 publiczne zbiory danych BigQuery: jeden z danymi spisu ludności, a drugi z danymi granic geograficznych. LookML umożliwia łączenie wielu zbiorów danych przez utworzenie trwałej tabeli derywowanej, do której można przesyłać zapytania.
Poza tym złączenie jest zdefiniowane w kodzie z obsługą wersji (LookML), a nie w instrukcjach systemowych, co zwiększa skalowalność tworzenia agentów. Za pomocą LookML możesz zdefiniować konkretne założenia i ograniczenia dotyczące danych, aby wspierać użytkowników podczas rozmów z danymi za pomocą agenta danych.
Przeglądanie modelowanych danych z narzędzia Looker
Aby pokazać, że mamy jedno scentralizowane źródło danych, do którego możemy wysyłać zapytania, wykonajmy szybkie zapytanie w ramach eksploracji.
- W menu nawigacyjnym po lewej stronie kliknij kolejno Eksploruj, Blok danych spisu ludności i Stan i hrabstwo.
- Wybierz miarę Wykształcenie > Associate Degree.
- Wybierz te wymiary:
- Położenie geograficzne > Grupa bloków
- Obszar geograficzny > Hrabstwo > Nazwa hrabstwa
- Położenie geograficzne > Stan > Stan.
- Uruchom zapytanie (w prawym górnym rogu). Zobaczysz, że identyfikatory geograficzne (nazywane „Block Group”) są teraz powiązane z czytelnymi ciągami znaków.
- Otwórz kartę wizualizacji, aby zobaczyć te dane na mapie.
4. Wypróbuj aplikację do obsługi czatu z Lookerem
Teraz utwórzmy agenta danych dla Lookera.
- Otwórz formularz Utwórz agenta na stronie agenta aplikacji szybkiego startu:
- Ustaw pole Wyświetlana nazwa:
Cartoon character data analyst
- Ustaw pole Instrukcje systemowe:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Wybierz opcję Looker.
- Ustaw pole Url na adres URL instancji Lookera: „https://...”.
- Ustaw pole Model:
data_block_acs_bigquery
- Ustaw pole Eksploruj:
cbsa
- Kliknij Utwórz agenta.
- Otwórz stronę czatu i wybierz nowo utworzonego agenta.
- Zacznijmy czat od dodania promptu/wiadomości: „Cześć, co słychać?”.
- Poprośmy agenta o opisanie zbioru danych: „Jakie dane są dostępne?”.
- Zadajmy jeszcze kilka pytań:
- „Which county in NY has the biggest population?” (W którym hrabstwie w stanie Nowy Jork mieszka najwięcej osób?);
- „A gdzie jest najwięcej absolwentów szkół średnich w przeliczeniu na mieszkańca?”
- „Czy możesz podać liczbę ludności według płci i stanu?”
- „Chcę zobaczyć wykres słupkowy 10 stanów o największej populacji”.
5. Co jeszcze może robić aplikacja do szybkiego startu?
Teraz:
- Konfigurowanie komunikatora lokalnie
- utworzono agenta danych BigQuery i agenta danych Looker,
- prowadzić rozmowy z agentami danych,
- informacje o korzyściach z modelowania semantycznego w Lookerze jako kontekst dla czatów;
Wypróbujmy inne funkcje aplikacji z krótkiego wprowadzenia:
- Załaduj ponownie stronę internetową aplikacji szybkiego startu i przejdź do strony czatu.
- Możesz wyświetlać wcześniejsze rozmowy ze wszystkimi powiązanymi z nimi wiadomościami od agentów BigQuery i Lookera. Interfejs aplikacji nie przechowuje poprzednich rozmów ani wiadomości, ale pobiera je z interfejsu CA API.
- Teraz przejdź na stronę agentów i wybierz z listy agenta Looker.
- Możesz zaktualizować konfiguracje agenta lub go usunąć. Żadne agenty nie są przechowywane w interfejsie aplikacji.
6. Opcjonalne wyzwania i dalsze odkrywanie
Możesz przy okazji zapoznać się z analityką konwersacyjną i aplikacją szybkiego startu. Możesz też spróbować zmodyfikować aplikację szybkiego startu. Wypróbuj niektóre z tych sugestii i wyzwań lub przejdź do ostatniej sekcji.
Zapoznaj się z interfejsem API usługi CA i aplikacją na początek
- Dowiedz się więcej o szczegółowych instrukcjach systemowych dotyczących kontrolowania zachowania agenta.
- Skonfiguruj kolejnego agenta danych, który będzie wskazywać nowy zbiór danych BigQuery.
- Zainstaluj nowy blok Lookera w instancji Lookera, utwórz agenta i skieruj go do nowego zbioru danych Lookera.
Problemy z modyfikowaniem aplikacji z szybkiego wprowadzenia
- Czy znasz funkcję osadzania Lookera? Jeśli tak, spróbuj umieścić panel Looker w aplikacji z krótkim wprowadzeniem. Rozważ użycie komponentu iframe Streamlit.
- Znajdź publiczny zbiór danych zawierający adresy URL filmów i zaktualizuj logikę renderowania czatu w aplikacji, aby wyświetlać filmy na czacie.
7. Podsumowanie i najważniejsze informacje
Gratulujemy dotarcia do końca! Za pomocą interfejsu analityki konwersacyjnej API możesz tworzyć komunikatory, agentów danych i prowadzić czaty oparte na danych. Omówmy kilka kluczowych funkcji i pojęć.
Funkcje analityki konwersacyjnej
Omówiliśmy wiele funkcji analizy konwersacyjnej, takich jak:
- Tworzenie, aktualizowanie, wyświetlanie, pobieranie i usuwanie agentów danych.
- Skieruj agentów danych do BigQuery lub Lookera jako źródła danych.
- Tworzenie, wyświetlanie i pobieranie rozmów oraz powiązanych z nimi wiadomości.
- Tworzenie specyfikacji wykresu Vega na potrzeby wciągającej wizualizacji w rozmowach.
- wykorzystywać wcześniejsze wiadomości w rozmowie jako przydatny kontekst dla przyszłych wiadomości;
Korzyści z używania Lookera z interfejsem CA API
Looker zapewnia scentralizowane, testowalne i kontrolowane semantyczne modelowanie danych. W połączeniu z Analityką konwersacyjną Looker zapewnia skalowalny sposób na dostarczanie kontekstu agentom danych.
Co dalej
- Więcej przewodników, funkcji i przypadków użycia znajdziesz w dokumentacji analityki konwersacyjnej.
- Bądź na bieżąco z repozytorium aplikacji do szybkiego startu i współtwórz je.