Membangun aplikasi chat dengan Analisis Percakapan dan Looker

1. Sebelum memulai

Codelab ini akan memandu Anda menggunakan Conversational Analytics API (CA API) dengan Looker untuk membuat aplikasi chat Anda sendiri guna membuat kueri data. Untuk mendapatkan nilai maksimal, Anda harus memahami BigQuery, Looker, LLM dan agen, serta Python.

Yang akan Anda pelajari

Setelah mengikuti codelab ini, Anda akan mempelajari:

  • Cara menggunakan Analisis Percakapan dengan Looker
  • Cara menyiapkan dan menggunakan aplikasi panduan memulai Python Conversational Analytics (dan cara kerja aplikasi)
  • Manfaat menggunakan Looker untuk pemodelan semantik dengan Analisis Percakapan

Yang Anda butuhkan

Untuk menyelesaikan codelab ini, Anda memerlukan:

  • Instance Looker dengan ASC Demographic Data Looker Block terinstal
  • Akses API dan developer ke instance Looker Anda
  • Lingkungan lokal dengan Python v3.11+, Git, dan gcloud terinstal.
  • Project cloud dengan peran IAM ini disiapkan untuk akun pengguna Anda:
  • roles/bigquery.dataViewer BigQuery Data Viewer
  • roles/bigquery.user Pengguna BigQuery
  • roles/looker.instanceUser Pengguna Instance Looker

2. Membangun dan mencoba aplikasi chat Anda dengan BigQuery

Pertama-tama, mari kita siapkan dan coba aplikasi panduan memulai Analisis Konversasional dengan BigQuery sebagai sumber data.

Mengautentikasi dan mengaktifkan Cloud API

  1. Lakukan autentikasi secara lokal dengan akun pengguna Anda:
gcloud auth login
  1. Aktifkan Cloud Project API. Ganti YOUR_PROJECT_ID dengan ID project Google Cloud Anda:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
  1. Menetapkan kredensial default aplikasi (ADC) dan penagihan:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID

Menyiapkan aplikasi panduan memulai

  1. Clone repositori github quickstart ke lingkungan lokal Anda. Lihat contoh perintah berikut di bawah:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
  1. Buka direktori ca-api-quickstarts yang telah Anda clone:
cd ca-api-quickstarts
  1. Buat file secrets.toml di direktori .streamlit. YOUR_LOOKER_CLIENT_ID dan YOUR_LOOKER_CLIENT_SECRET harus berupa ID klien Looker dan rahasia klien Looker dari instance Looker Anda. Isi file harus sebagai berikut:
[cloud]
project_id = "YOUR_PROJECT_ID"

[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"

Anda dapat menggunakan contoh perintah berikut untuk membuat file. Pastikan untuk mengganti nilai dengan project ID, client ID, dan rahasia klien Anda:

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
  1. Instal persyaratan Python aplikasi panduan memulai:
pip install -r requirements.txt
  1. Jalankan aplikasi panduan memulai:
streamlit run app.py
  1. Buka https://localhost:8501 di browser pilihan Anda.

Mencoba aplikasi panduan memulai

Sekarang Anda berada di halaman agen aplikasi panduan memulai cepat. Anda tidak memiliki agen data yang tersedia.

  1. Sekarang, mari kita buat agen data yang berbicara seperti bajak laut dalam formulir Create Agent:
  2. Tetapkan kolom Nama tampilan:
Pirate BQ Agent
  1. Tetapkan kolom System Instructions:
You are a pirate. Answer questions like a pirate
  1. Pilih opsi BigQuery.
  2. Tetapkan kolom Project:
bigquery-public-data
  1. Tetapkan kolom Set data:
google_trends
  1. Tetapkan kolom Table:
top_rising_terms
  1. Pilih Buat agen.
  1. Sekarang, mari kita buka halaman chat melalui navigasi utama kiri. Agen baru kami siap untuk melakukan chat. Mari mulai percakapan dengan menambahkan perintah/pesan: "Halo, apa kabar?"
  2. Sekarang, mari kita pelajari sedikit tentang set data ini: "Apa isi set data ini?"
  1. Ajukan pertanyaan lain - seperti ini:
  2. "Lokasi [Masukkan Negara Bagian] mana yang ada dalam set data?"
  3. "Dapatkah Anda memberi saya data selama 2 minggu terakhir untuk [Kota, Negara Bagian]?"
  4. "Dapatkah Anda membuat visualisasi?"

Anda baru saja melakukan percakapan multi-turn dengan agen data dan data BigQuery Anda di aplikasi chat Anda sendiri.

3. Membuat model dan menjelajahi data Anda di Looker

Sekarang, mari kita buat model dan jelajahi data BigQuery yang sama di Looker.

Mengkueri data sensus BigQuery

Apa yang terjadi saat kita terhubung ke set data relasional yang lebih besar? Pertama, kita akan membuat agen baru.

  1. Kembali ke formulir Buat Agen di halaman agen.
  2. Tetapkan kolom Nama tampilan:
BQ Census Agent
  1. Tetapkan kolom System Instructions:
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
  1. Pilih opsi BigQuery.
  2. Tetapkan kolom Project:
bigquery-public-data
  1. Tetapkan kolom Set data:
census_bureau_acs
  1. Tetapkan kolom Table:
blockgroup_2018_5yr
  1. Pilih Buat agen.
  2. Ajukan kedua pertanyaan ini kepada agen yang baru dibuat:
  3. "Data apa yang Anda miliki?"
  4. "Can you show me a preview of my data" (Dapatkah Anda menunjukkan pratinjau data saya)?

Menggunakan Looker untuk membuat model data sensus

Sekarang kita akan menggunakan model LookML untuk menentukan data sensus BigQuery. Kita akan menyelesaikan masalah yang baru saja kita lihat sebelumnya.

  1. Login ke instance Looker Anda
  2. Buka file blok data demografi ACS Anda dengan membuka navigasi utama sebelah kiri, memilih Develop, lalu memilih marketplace_acs_census-v2.
  3. Mari kita lihat tampilan Looker. Buka direktori imported_project, direktori acs_census-v2, dan direktori geography.
  4. Terakhir, buka file cbsa.view.
  5. Di baris 17, kita dapat melihat bahwa LookML sedang membuat tabel turunan. Dengan kata lain, kode ini membuat tabel gabungan baru dengan menggabungkan dua set data BigQuery publik, satu dengan data sensus dan yang lainnya dengan data batas geografis. LookML memungkinkan kita menggabungkan beberapa set data dengan membuat tabel turunan persisten untuk dikueri.

Selain itu, gabungan ditentukan dalam kode yang dapat di-versi (LookML), bukan petunjuk sistem, sehingga pengembangan agen lebih skalabel. Dengan LookML, Anda dapat menentukan asumsi dan batasan tertentu seputar data untuk mendukung pengguna saat mereka melakukan percakapan dengan data melalui agen data.

Menjelajahi data sensus yang dimodelkan Looker

Mari kita jalankan kueri cepat di Eksplorasi untuk menunjukkan bahwa kita memiliki satu sumber data terpusat untuk membuat kueri.

  1. Di menu navigasi utama sebelah kiri, pilih Jelajahi, lalu Blok Data Sensus,lalu Negara Bagian dan Kabupaten.
  2. Pilih ukuran Pendidikan > Gelar Associate.
  3. Pilih dimensi berikut:
  4. Geografi > Grup Blok
  5. Geografi > Kabupaten > Nama Kabupaten
  6. Geografi > Negara bagian > Negara bagian.
  7. Jalankan kueri (kanan atas) dan Anda akan melihat bahwa ID Geografi tersebut (disebut "Block Group") kini dikaitkan dengan string yang dapat dibaca manusia.
  8. Buka tab visualisasi dan Anda akan melihat data ini di peta.

4. Mencoba aplikasi chat dengan Looker

Sekarang, mari kita buat agen data untuk Looker.

  1. Buka formulir Create Agent di halaman agen aplikasi panduan memulai Anda:
  2. Tetapkan kolom Nama tampilan:
Cartoon character data analyst
  1. Tetapkan kolom System Instructions:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
  1. Pilih opsi Looker.
  2. Tetapkan kolom Url ke URL instance Looker Anda: "https://..."
  3. Tetapkan kolom Model:
data_block_acs_bigquery
  1. Tetapkan kolom Explore:
cbsa
  1. Pilih Buat agen.
  2. Buka halaman chat dan pilih agen yang baru dibuat.
  3. Mari mulai percakapan dengan menambahkan perintah/pesan: "Halo, apa kabar?"
  4. Minta agen untuk mendeskripsikan set data: "Data apa yang tersedia?"
  5. Mari kita ajukan beberapa pertanyaan lagi:
  6. "Kabupaten mana di NY yang memiliki populasi terbesar?"
  7. "Bagaimana dengan jumlah lulusan SMA terbanyak per kapita?"
  8. "Dapatkah Anda memberi saya data populasi menurut gender dan negara bagian?"
  9. "Saya ingin melihat diagram batang 10 negara bagian teratas dengan populasi terbanyak."

5. Apa lagi yang dapat dilakukan aplikasi panduan memulai?

Sekarang Anda:

  • Menyiapkan aplikasi chat secara lokal
  • Membuat agen data BigQuery dan agen data Looker
  • Mengadakan percakapan dengan agen data Anda
  • Mempelajari manfaat pemodelan semantik Looker sebagai konteks untuk percakapan Anda

Mari kita coba kemampuan lain dari aplikasi panduan memulai:

  1. Muat ulang halaman web aplikasi panduan memulai cepat dan buka halaman chat.
  2. Anda dapat melihat percakapan sebelumnya dengan semua pesan masing-masing dari agen BigQuery dan Looker. Frontend aplikasi tidak menyimpan percakapan atau pesan sebelumnya, tetapi mengambilnya dari CA API.
  1. Sekarang, buka halaman agen dan pilih agen Looker Anda dari daftar.
  2. Anda dapat memperbarui konfigurasi agen atau menghapus agen jika Anda mau. Tidak ada agen yang disimpan di frontend aplikasi.

6. Tantangan opsional dan eksplorasi lebih lanjut

Jika mau, Anda dapat menggunakan kesempatan ini untuk mempelajari Analisis Percakapan dan aplikasi mulai cepat. Atau, tantang diri Anda untuk mengubah aplikasi mulai cepat. Anda dapat mencoba beberapa saran dan tantangan berikut atau langsung menuju bagian akhir.

Pahami lebih lanjut CA API dan aplikasi mulai cepat

Tantangan modifikasi aplikasi cepat

  • Apakah Anda familier dengan penyematan Looker? Jika ya, coba sematkan dasbor Looker di dalam aplikasi panduan memulai. Pertimbangkan untuk menggunakan komponen iframe Streamlit.
  • Temukan set data publik yang berisi URL video, dan perbarui logika rendering chat aplikasi untuk menampilkan video dalam chat.

7. Kesimpulan dan poin penting

Anda berhasil menyelesaikan kuis ini! Anda telah membuat aplikasi chat, membuat agen data, dan berinteraksi dengan data Anda menggunakan Conversational Analytics API. Mari kita tinjau beberapa kemampuan dan konsep utama.

Kemampuan Analisis Percakapan

Kita telah membahas banyak kemampuan Analisis Percakapan seperti kemampuan untuk:

  • Membuat, memperbarui, mencantumkan, mendapatkan, dan menghapus agen data.
  • Mengarahkan agen data ke BigQuery atau Looker sebagai sumber data.
  • Membuat, mencantumkan, dan mendapatkan percakapan serta pesan masing-masing.
  • Menghasilkan spesifikasi diagram Vega untuk visualisasi imersif dalam percakapan.
  • Menggunakan pesan sebelumnya dalam percakapan sebagai konteks yang berguna untuk pesan mendatang.

Manfaat menggunakan Looker dengan CA API

Looker menyediakan pemodelan semantik yang terpusat, dapat diuji, dan dapat dikelola untuk data Anda. Jika digabungkan dengan Analisis Percakapan, Looker memberikan cara yang dapat diskalakan untuk memberikan konteks bagi agen data Anda.

Langkah berikutnya