1. Zanim zaczniesz
W tym samouczku dowiesz się, jak używać interfejsu Conversational Analytics API (CA API) z Lookerem 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 do szybkiego startu w Pythonie do analizy konwersacyjnej (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 czatu za pomocą BigQuery
Najpierw skonfigurujemy i wypróbujemy aplikację do szybkiego rozpoczęcia pracy z analityką konwersacyjną, w której BigQuery będzie źródłem danych.
Uwierzytelnianie i włączanie interfejsów Cloud API
- Uwierzytelnij się lokalnie za pomocą konta użytkownika:
gcloud auth login
- Włącz interfejsy API projektu w Google Cloud. 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 dane logowania 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 szybkim 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 wartość w polu 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 czegoś więcej o tym zbiorze danych: „Czego dotyczy ten zbiór danych?”
- Zadaj kolejne pytanie, np. takie:
- „Jakie lokalizacje w [wpisz stan] 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 powszechnego 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 wartość w polu 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 głównym menu 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 możliwością tworzenia 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 spisu ludności w Lookerze
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 w polu Url 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 co z największą liczbą absolwentów szkół średnich w przeliczeniu na mieszkańca?”
- „Podaj mi 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 z szybkim startem?
Teraz:
- Konfigurowanie aplikacji do czatu lokalnie
- utworzono agenta danych BigQuery i agenta danych Looker,
- prowadzić rozmowy z agentami danych,
- Poznanie korzyści z modelowania semantycznego w Lookerze jako kontekstu 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 Lookera.
- 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 zadań lub przejdź do ostatniej sekcji.
Zapoznaj się z interfejsem CA API i aplikacją do szybkiego rozpoczęcia pracy
- 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 w ramach krótkiego wprowadzenia
- Czy znasz funkcję osadzania Lookera? Jeśli tak, spróbuj osadzić panel Looker w aplikacji z szybkim wprowadzeniem. Możesz użyć 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 Conversational Analytics API możesz tworzyć aplikacje do czatowania, agentów danych i prowadzić czaty oparte na danych. Omówmy kilka kluczowych funkcji i pojęć.
Funkcje analityki konwersacyjnej
Omówiliśmy wiele funkcji analityki konwersacyjnej, takich jak:
- Tworzenie, aktualizowanie, wyświetlanie, pobieranie i usuwanie agentów danych.
- Wskaż agentom danych BigQuery lub Lookera jako źródło 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, podlegające testowaniu i zarządzaniu semantyczne modelowanie danych. W połączeniu z Analityką konwersacyjną Looker zapewnia skalowalny sposób przekazywania 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 na początek i współtwórz je.