1. Başlamadan önce
Bu codelab'de, verileri sorgulamak için kendi sohbet uygulamanızı oluşturmak üzere Looker ile Conversational Analytics API'yi (CA API) kullanma konusunda size yol gösterilecektir. En iyi değeri elde etmek için BigQuery, Looker, LLM'ler ve aracılar ile Python hakkında bilgi sahibi olmanız gerekir.
Neler öğreneceksiniz?
Bu codelab'i tamamladığınızda şunları öğrenmiş olacaksınız:
- Etkileşimli Analytics'i Looker ile kullanma
- Etkileşimli Analytics Python hızlı başlangıç uygulamasını ayarlama ve kullanma (ve uygulamanın işleyiş şekli)
- Konuşma Analizi ile semantik modelleme için Looker'ı kullanmanın avantajları
Gerekenler
Bu codelab'i tamamlamak için şunlar gerekir:
- ASC Demografik Veri Looker Bloğu'nun yüklü olduğu bir Looker örneği
- Looker örneğinize API ve geliştirici erişimi
- Python 3.11 veya sonraki sürümlerin, Git'in ve gcloud'un yüklü olduğu bir yerel ortam.
- Kullanıcı hesabınız için bu IAM rollerinin ayarlandığı bir Cloud projesi:
roles/bigquery.dataViewerBigQuery Veri Görüntüleyicisiroles/bigquery.userBigQuery Kullanıcısıroles/looker.instanceUserLooker örneği kullanıcısı
2. BigQuery ile sohbet uygulamanızı oluşturma ve deneme
Öncelikle BigQuery'yi veri kaynağı olarak kullanarak Etkileşimli Analiz hızlı başlangıç uygulamasını ayarlayıp deneyelim.
Cloud API'lerinin kimliğini doğrulama ve etkinleştirme
- Kullanıcı hesabınızla yerel olarak kimlik doğrulama:
gcloud auth login
- Cloud projesi API'lerini etkinleştirin. Lütfen
YOUR_PROJECT_IDkısmını Google Cloud projenizin kimliğiyle değiştirin:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Uygulama varsayılan kimlik bilgilerini (ADC) ve faturalandırmayı ayarlayın:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Hızlı başlangıç uygulamasını kurma
- Hızlı başlangıç GitHub deposunu yerel ortamınıza klonlayın. Aşağıdaki örnek komuta bakın:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Klonladığınız
ca-api-quickstartsdizinine gidin:
cd ca-api-quickstarts
.streamlitdizininde birsecrets.tomldosyası oluşturun.YOUR_LOOKER_CLIENT_IDveYOUR_LOOKER_CLIENT_SECRET, Looker örneğinizdeki Looker istemci kimliğiniz ve Looker istemci gizli anahtarınız olmalıdır. Dosya içerikleri aşağıdaki gibi olmalıdır:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Dosyayı oluşturmak için aşağıdaki örnek komutu kullanabilirsiniz. Değerleri proje kimliğiniz, istemci kimliğiniz ve istemci gizli anahtarınızla değiştirdiğinizden emin olun:
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
- Hızlı başlangıç uygulamasının Python gereksinimlerini yükleyin:
pip install -r requirements.txt
- Hızlı başlangıç uygulamasını çalıştırın:
streamlit run app.py
- Seçtiğiniz tarayıcıda https://localhost:8501 adresini açın.
Hızlı başlangıç uygulamasını deneyin
Artık hızlı başlangıç uygulamasının aracılar sayfasındasınız. Kullanılabilir veri aracınız yok.
- Şimdi Create Agent (Aracı Oluştur) formunda korsan gibi konuşan bir veri aracısı oluşturalım:
- Görünen ad alanını ayarlayın:
Pirate BQ Agent
- Sistem Talimatları alanını ayarlayın:
You are a pirate. Answer questions like a pirate
- BigQuery seçeneğini belirleyin.
- Proje alanını ayarlayın:
bigquery-public-data
- Veri kümesi alanını ayarlayın:
google_trends
- Tablo alanını ayarlayın:
top_rising_terms
- Temsilci oluştur'u seçin.
- Şimdi soldaki ana gezinme menüsünden sohbet sayfasına gidelim. Yeni oluşturulan temsilcimizle sohbet edebilirsiniz. "Merhaba, nasılsın?" istemini/mesajını ekleyerek sohbet başlatalım.
- Şimdi bu veri kümesi hakkında biraz bilgi edinelim: "Bu veri kümesi ne hakkında?"
- Şuna benzer başka bir soru sorun:
- "Veri kümesinde hangi [Eyalet girin] konumları var?"
- "[Şehir, Eyalet] için son 2 haftanın verilerini verebilir misin?"
- "Görselleştirme oluşturabilir misin?"
Kendi sohbet uygulamanızda veri temsilciniz ve BigQuery verilerinizle çok turlu bir görüşme yaptınız.
3. Looker'da verilerinizi modelleme ve keşfetme
Şimdi de aynı BigQuery verilerini Looker'da modelleyip inceleyelim.
BigQuery nüfus sayımı verilerini sorgulama
Daha büyük ve ilişkisel bir veri kümesine bağlandığımızda ne olur? Öncelikle yeni bir aracı oluşturacağız.
- Aracılar sayfasının Temsilci Oluştur formuna geri dönün.
- Görünen ad alanını ayarlayın:
BQ Census Agent
- Sistem Talimatları alanını ayarlayın:
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
- BigQuery seçeneğini belirleyin.
- Proje alanını ayarlayın:
bigquery-public-data
- Veri kümesi alanını ayarlayın:
census_bureau_acs
- Tablo alanını ayarlayın:
blockgroup_2018_5yr
- Temsilci oluştur'u seçin.
- Yeni oluşturulan temsilciye şu iki soruyu sorun:
- "Hangi verilere sahipsin?"
- "Verilerimin önizlemesini gösterebilir misin?"
Nüfus sayımı verilerini modellemek için Looker'ı kullanma
Şimdi BigQuery nüfus sayımı verilerini tanımlamak için bir LookML modeli kullanacağız. Az önce gördüğümüz sorunları çözeceğiz.
- Looker örneğinize giriş yapın
- Sol taraftaki ana gezinme menüsüne gidip Geliştir'i ve ardından marketplace_acs_census-v2'yi seçerek ACS demografik veri bloğu dosyalarınıza gidin.
- Şimdi bir Looker görünümüne göz atalım.
imported_projectdizinini,acs_census-v2dizinini vegeographydizinini açın. - Son olarak
cbsa.viewdosyasını açın. - 17. satırda, LookML'nin türetilmiş bir tablo oluşturduğunu görüyoruz. Başka bir deyişle, bu kod, biri nüfus sayımı verilerini, diğeri ise coğrafi sınır verilerini içeren iki herkese açık BigQuery veri kümesini birleştirerek yeni ve birleştirilmiş bir tablo oluşturuyor. LookML, sorgulanacak kalıcı bir türetilmiş tablo oluşturarak birden fazla veri kümesini birleştirmemize olanak tanır.
Ayrıca birleştirme, sistem talimatları yerine sürüm oluşturulabilir kodda (LookML) tanımlandığından aracı geliştirme daha ölçeklenebilir hale gelir. LookML ile, kullanıcıların bir veri aracısı aracılığıyla verilerinizle sohbet etmesini desteklemek için verilerinizle ilgili belirli varsayımlar ve kısıtlamalar tanımlayabilirsiniz.
Looker'da modellenmiş nüfus sayımı verilerini keşfetme
Sorgulanacak tek bir merkezi veri kaynağımız olduğunu göstermek için Keşfet'te hızlı bir sorgu çalıştıralım.
- Soldaki ana gezinme menüsünde Keşfet'i, ardından Nüfus Sayımı Veri Bloğu'nu, ardından Eyalet ve İlçe'yi seçin.
- Eğitim > Ön Lisans Derecesi ölçüsünü seçin.
- Aşağıdaki boyutları seçin:
- Coğrafya > Blok Grubu
- Coğrafya > İlçe > İlçe Adı
- Coğrafya > Eyalet > Eyalet.
- Sorguyu çalıştırın (sağ üst) ve artık bu Coğrafya Kimliklerinin ("Blok Grubu" olarak adlandırılır) insan tarafından okunabilir dizelerle ilişkilendirildiğini göreceksiniz.
- Görselleştirme sekmesini açtığınızda bu verileri bir haritada görürsünüz.
4. Looker ile sohbet uygulamasını deneme
Şimdi Looker için bir veri aracısı oluşturalım.
- Hızlı başlangıç uygulamanızın temsilci sayfasındaki Temsilci Oluştur formuna gidin:
- Görünen ad alanını ayarlayın:
Cartoon character data analyst
- Sistem Talimatları alanını ayarlayın:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Looker seçeneğini belirleyin.
- Url alanını Looker örneğinizin URL'si ("https://...") olarak ayarlayın.
- Model alanını ayarlayın:
data_block_acs_bigquery
- Keşfet alanını ayarlayın:
cbsa
- Temsilci oluştur'u seçin.
- Sohbet sayfasına gidin ve yeni oluşturulan temsilciyi seçin.
- "Merhaba, nasılsın?" istemini/mesajını ekleyerek sohbet başlatalım.
- Aracıya veri kümesini açıklamasını isteyelim: "Hangi veriler mevcut?"
- Birkaç soru daha soralım:
- "Which county in NY has the biggest population?" (New York'ta en büyük nüfusa sahip ilçe hangisidir?)
- "Peki, kişi başına en çok lise mezunu veren ülke hangisi?"
- "Cinsiyete ve eyalete göre nüfusu verebilir misin?"
- "En kalabalık 10 eyaletin çubuk grafiğini görmek istiyorum."
5. Hızlı başlangıç uygulaması başka neler yapabilir?
Artık:
- Sohbet uygulamasını yerel olarak ayarlama
- BigQuery veri aracısı ve Looker veri aracısı oluşturma
- Veri temsilcilerinizle sohbet etme
- Sohbetleriniz için bağlam olarak Looker semantik modellemenin avantajları hakkında bilgi edinme
Hızlı başlangıç uygulamasının diğer özelliklerini deneyelim:
- Hızlı başlangıç uygulamasının web sayfasını yeniden yükleyin ve sohbet sayfasına gidin.
- Hem BigQuery hem de Looker temsilcilerinizle yaptığınız geçmiş sohbetleri ilgili tüm mesajlarıyla birlikte görebilirsiniz. Uygulamanın ön ucu, geçmiş görüşmeleri veya mesajları depolamıyor ancak bunları CA API'den getiriyor.
- Şimdi aracılar sayfasına gidin ve listeden Looker aracınızı seçin.
- İsterseniz temsilcinin yapılandırmalarını güncelleyebilir veya temsilciyi silebilirsiniz. Uygulamanın ön ucunda hiçbir aracı depolanmaz.
6. İsteğe bağlı zorluklar ve daha fazla keşif
İsterseniz bu fırsatı kullanarak Sohbet Analizi ve hızlı başlangıç uygulaması hakkında bilgi edinebilirsiniz. Ayrıca, hızlı başlangıç uygulamasını değiştirmek için kendinize bir meydan okuma da sunabilirsiniz. Aşağıdaki öneri ve zorluklardan bazılarını deneyebilir veya doğrudan son bölüme geçebilirsiniz.
CA API ve hızlı başlangıç uygulaması hakkında daha fazla bilgi edinin
- Ajanınızın davranışını kontrol etmek için ayrıntılı sistem talimatları hakkında daha fazla bilgi edinin.
- Yeni bir BigQuery veri kümesini işaret eden başka bir veri aracısı ayarlayın.
- Looker örneğinize yeni bir Looker bloğu yükleyin, bir aracı oluşturun ve bu aracı yeni bir Looker veri kümesine yönlendirin.
Uygulama değişikliğiyle ilgili hızlı başlangıç sorunları
- Looker yerleştirme özelliğini biliyor musunuz? Bu durumda, hızlı başlangıç uygulamasının içine bir Looker kontrol paneli yerleştirmeyi deneyin. Streamlit'in iframe bileşenini kullanabilirsiniz.
- Video URL'leri içeren herkese açık bir veri kümesi bulun ve uygulamadaki sohbet oluşturma mantığını, sohbette video gösterecek şekilde güncelleyin.
7. Sonuç ve ana fikirler
Sonuna kadar geldiniz. Etkileşimli Analytics API'si ile sohbet uygulaması oluşturdunuz, veri temsilcileri oluşturdunuz ve verilerinizle sohbet ettiniz. Bazı temel özellikleri ve kavramları inceleyelim.
Etkileşimli Analytics özellikleri
Konuşma Analizi'nin birçok özelliğinden bahsettik. Örneğin:
- Veri aracılarını oluşturma, güncelleme, listeleme, alma ve silme.
- Veri aracılarını veri kaynağı olarak BigQuery veya Looker'a yönlendirin.
- Görüşme oluşturma, listeleme ve alma ile görüşmelerin ilgili mesajlarını alma.
- Görüşmelerde etkileyici görselleştirme için Vega grafiği özellikleri üretin.
- Görüşmedeki önceki mesajları, gelecekteki mesajlar için faydalı bağlam olarak kullanma
Looker'ı CA API ile kullanmanın avantajları
Looker, verilerinizin merkezi, test edilebilir ve yönetilebilir semantik modellemesini sağlar. Looker, Etkileşimli Analytics ile birlikte kullanıldığında veri aracılarınız için bağlam sağlamanın ölçeklenebilir bir yolunu sunar.
Sırada ne var?
- Daha fazla kılavuz, özellik ve kullanım alanı için Etkileşimli Analytics belgelerine göz atın.
- Hızlı başlangıç uygulama deposu ile ilgili güncel bilgilere ulaşın ve bu depoya katkıda bulunun.