1. Başlamadan önce
Bu codelab, birleştirilmiş doğal dil destekli veri deneyimi oluşturmak için yerleştirilmiş bir Looker kontrol panelini, etkileşimli analitik destekli sohbetle entegre etme konusunda size yol gösterecektir. En iyi değeri elde etmek için Looker yerleştirme, Etkileşimli Analytics, JavaScript ve React hakkında bilgi sahibi olmanız gerekir.
Neler öğreneceksiniz?
Bu codelab'i tamamladıktan sonra şunları öğrenmiş olacaksınız:
- Looker Embed Reference uygulamasını yerel olarak ayarlama
- Looker Components kitaplığı ile sohbet React bileşeni oluşturma
- Yerleştirilmiş kontrol panelinizin filtresini Etkileşimli Analytics'e bağlam olarak gönderme
- Yerleştirilmiş kontrol panelinizin filtrelerini kontrol etmek için Etkileşimli Analytics destekli sohbetinizi etkinleştirme
Gerekenler
Bu codelab'i tamamlamak için şunlar gerekir:
- ASC Demografik Veri Looker Bloğu'nun yüklendiği ve TOA yerleştirmenin etkinleştirildiği bir Looker örneği
- Looker örneğinize API ve geliştirici erişimi
- Node v18, yarn, Git ve gcloud'un yüklü olduğu yerel bir 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. Etkileşimli Analytics'i ayarlama
Yerleştirilmiş kontrol panelinizin, doğal dil sorularını yanıtlamak için kullanacağı Etkileşimli Analytics veri temsilcisini ayarlayalım.
gcloud ile kimlik doğrulama
- Yerel ortamınızda kullanıcı hesabınızla kimlik doğrulayın:
gcloud auth login
- gcloud'unuzda uygulama varsayılan kimlik bilgilerini (ADC) ve faturalandırma projesini ayarlayın:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Etkileşimli Analytics API'lerini etkinleştirme
- 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
Veri aracısını oluşturma
- Google Colab'i açın.
- Google Colab'de bu not defterini Looker Embed Reference deposundan yükleyin.
- Not defterindeki tüm adımları çalıştırın. Cloud proje kimliğiniz ve Looker örneğinizin URI'si (ör.
"https://my.looker.app/") gerekir. Not defterinin sonunda başarılı bir sonuç elde etmeniz gerekir.
Artık Etkileşimli Analytics veri temsilcisi kullanabilirsiniz. Bu temsilci, sohbet mesajlarını kabul etmeye, yerleştirilmiş Looker kontrol panelinizdeki Looker keşiflerini sorgulamaya ve sonuçlar ile görselleştirmeler döndürmeye hazırdır.
3. Looker Embed Reference'ı ayarlama
Etkileşimli Analytics sohbetini yerleştirilmiş bir Looker kontrol paneliyle entegre etme örneğini deneyebilmeniz için Looker Embed Reference uygulamasını yerel ortamınızda ayarlayalım.
Depoyu klonlama
- GitHub deposunu yerel ortamınıza klonlayın. Aşağıdaki örnek komuta bakın:
git clone "https://github.com/looker-open-source/LookerEmbedReference.git"
- Klonladığınız
LookerEmbedReferencedizinine gidin:
cd LookerEmbedReference
Yerel ön uç sunucusunu ayarlama ve çalıştırma
- Bağımlılıkları
Frontenddizinine yükleyin.
cd Frontend
yarn install
- Kimlik bilgileriyle
Frontenddizin kökünde bir.envdosyası oluşturun.YOUR_LOOKER_INSTANCE_URI, Looker örneğinizin URI'si olmalı ve sonunda eğik çizgi bulunmamalıdır. Dosya içerikleri aşağıdaki gibi olmalıdır:
PBL_CLIENT_PORT=3001
API_HOST=http://localhost:3000
LOOKER_HOST=YOUR_LOOKER_INSTANCE_URI
LOOKER_API_HOST=YOUR_LOOKER_INSTANCE_URI:19999
LOOKERSDK_EMBED_HOST=YOUR_LOOKER_INSTANCE_URI
Dosyayı oluşturmak için aşağıdaki örnek komutu kullanabilirsiniz:
cat > .env <<'EOF'
PBL_CLIENT_PORT=3001
API_HOST=http://localhost:3000
LOOKER_HOST=YOUR_LOOKER_INSTANCE_URI
LOOKER_API_HOST=YOUR_LOOKER_INSTANCE_URI:19999
LOOKERSDK_EMBED_HOST=YOUR_LOOKER_INSTANCE_URI
EOF
- Ön uç geliştirme sunucusunu çalıştırın:
yarn run dev
Arka uç sunucusunu yerel olarak kurma ve çalıştırma
- Yeni bir kabuk, terminal, konsol veya sekme açın.
Backend-Nodedizinine gidin ve bağımlılıkları yükleyin. Ön uç sunucusunun çalıştığı önceki kabuğu/terminali açık tutmayı unutmayın.
cd ../Backend-Node
yarn install
.envdizin kökünde kimlik bilgilerini içeren birBackend-Nodedosyası oluşturun:
YOUR_LOOKER_CLIENT_ID, Looker istemci kimliğinizdir.YOUR_LOOKER_CLIENT_SECRET, Looker istemci gizli anahtarınızdır.YOUR_LOOKER_EMBED_SECRET, yerleştirme gizli bilginizdir.YOUR_PROJECT_ID, Cloud proje kimliğinizdir.YOUR_LOOKER_INSTANCE_URI_WITH_TRAILING_SLASH, Looker örneğinizin URI'sidir ve sonunda eğik çizgi bulunur.YOUR_LOOKER_INSTANCE_URI, sondaki eğik çizgi olmayan Looker örneği URI'nizdir.
Dosya içerikleri aşağıdaki gibi olmalıdır:
PBL_BACKEND_PORT=3000
LOOKERSDK_API_VERSION=4.0
LOOKERSDK_BASE_URL=YOUR_LOOKER_INSTANCE_URI_WITH_TRAILING_SLASH
LOOKERSDK_CLIENT_ID=YOUR_LOOKER_CLIENT_ID
LOOKERSDK_CLIENT_SECRET=YOUR_LOOKER_CLIENT_SECRET
LOOKERSDK_EMBED_HOST=YOUR_LOOKER_INSTANCE_URI
LOOKERSDK_EMBED_SECRET=YOUR_LOOKER_EMBED_SECRET
CLOUD_AGENT_ID=looker_embed_reference_data_agent
CLOUD_PROJECT_ID=YOUR_PROJECT_ID
Dosyayı oluşturmak için aşağıdaki örnek komutu kullanabilirsiniz. Tüm kimlik bilgilerini buna göre değiştirin:
cat > .env <<'EOF'
PBL_BACKEND_PORT=3000
LOOKERSDK_API_VERSION=4.0
LOOKERSDK_BASE_URL=YOUR_LOOKER_INSTANCE_URI_WITH_TRAILING_SLASH
LOOKERSDK_CLIENT_ID=YOUR_LOOKER_CLIENT_ID
LOOKERSDK_CLIENT_SECRET=YOUR_LOOKER_CLIENT_SECRET
LOOKERSDK_EMBED_HOST=YOUR_LOOKER_INSTANCE_URI
LOOKERSDK_EMBED_SECRET=YOUR_LOOKER_EMBED_SECRET
CLOUD_AGENT_ID=looker_embed_reference_data_agent
CLOUD_PROJECT_ID=YOUR_PROJECT_ID
EOF
- Arka uç geliştirme sunucusunu çalıştırın:
yarn run dev
Artık ön uç geliştirme sunucusu çalışıyor ve web uygulaması için JavaScript'i sunuyor. Ayrıca, TOA yerleştirme URL'si isteklerini ve Etkileşimli Analytics uç noktalarına yönelik proxy isteklerini işlemek için arka uç geliştirme sunucunuzun çalışıyor olması gerekir.
4. Örneği deneyin
Şimdi ortamınızda yerel olarak çalışan web uygulamanızı deneyelim.
Görüşme başlatma
- Seçtiğiniz tarayıcıda https://localhost:3001 adresini açın.
- Soldaki ana gezinme menüsünden Sohbetli Yerleştirilmiş Kontrol Paneli sayfasına gidin.
- Sağdaki sohbet bileşeni yüklendikten sonra "Merhaba, siz kimsiniz?" yazın.
- Yanıtı not edin.
Uygulama, sohbet geçmişini izlemek için otomatik olarak bir Etkileşimli Analytics görüşme nesnesi oluşturdu ve sohbet arayüzünü yükledi. Sohbet arayüzüne soru sorduğunuzda ön uç, yerel Node arka uç sunucunuza bir kullanıcı mesajı gönderdi. Ardından, isteği ve yanıtı Etkileşimli Analytics sohbet uç noktasına yönlendirdi.
Yerleştirilmiş kontrol panelini filtreleme
Şimdi yerleştirilmiş kontrol paneli hakkında bilgi edinin ve kontrol paneliyle etkileşim kurun.
- Yerleştirilmiş kontrol panelinde ilerleyin. Birden fazla boyut ve metrikteki nüfus sayımı verilerini kapsadığını unutmayın.
- Kontrol panelinin sol üst kısmındaki Eyalet ve İlçe'ye göre kontrol panelini filtreleyebilirsiniz. Kontrol paneli filtresindeki filtreyi Teksas olarak ayarlayın. Ardından, kontrol panelini yeniden çalıştırmak için yeni vurgulanan mavi renkli dairesel ok düğmesini seçin.
- Tüm görselleştirme verilerinin Teksas eyaletine göre nasıl filtrelendiğine dikkat edin.
Kontrol paneli bağlamında soru sorma
Kontrol panelini filtrelediğimize göre, kontrol panelindeki verileri incelemeye devam edelim.
- Sohbette "Kirası en düşük olan ilk 5 ilçeyi söyle" istemini gönderin.
- Not: Etkileşimli Analytics'e gönderdiğiniz isteme artık "Filter on dimension ‘state.state_name' being Texas." (Teksas eyaleti boyutuna göre filtrele) eklenmiştir.
- Şimdi yanıtın sorgusunun ve verilerinin Teksas eyaletine göre filtrelendiğini unutmayın.
- Ayrıca, veri sonuçları döndürüldükten sonra yerleştirilmiş kontrol paneliniz, sonuç verilerinde tanımlanan 5 il olarak ayarlanmış İl filtresiyle yeniden çalıştırıldı.
Artık 5 ilin uygun şekilde filtrelenmesiyle nüfus sayımı verilerini incelemeye devam edebilirsiniz.
Tebrikler! Etkileşimli Analytics sohbetiyle entegre edilmiş yerleştirilmiş bir kontrol panelinin basit bir örneğini oluşturup denediniz.
5. Sohbet bileşeni oluşturma
Öncelikle Chat bileşenini inceleyerek işleyişin ayrıntılarını anlayalım. Looker Embed SDK ile Looker kontrol paneli yerleştirmeyi bildiğinizi varsayıyoruz.
Looker bileşen kitaplığını kullanma
Chatbileşen dosyasınıFrontend/src/components/EmbedChat/components/chat.jskonumunda, tercih ettiğiniz IDE'de veya terminalinizde açın.Chatbileşeni, Looker Components Library paketindeki standart Looker UI React bileşenleriyle oluşturulur.
Kullanıcı mesajı gönderme
Sohbet arayüzünün, kullanıcının istemini Etkileşimli Analytics'e göndermesi gerekir.
Chatbileşeninin alt kısmına yakın bir yerde,Chatbileşeni, kullanıcının istemi için giriş alanını sağlayanChatInputalt bileşenini içerir.- Gönderme işleminde
showAndSendUserPromptyöntemi, kullanıcının istemini Etkileşimli Analytics'e (Node arka ucunuz üzerinden proxy'si oluşturulmuş) gönderir.
Sistem mesajlarını yayınlama ve görüntüleme
Kullanıcı, Etkileşimli Analitik'e mesaj gönderdikten sonra yanıtını göstermemiz gerekir.
Chatbileşen dosyasının alt kısmına yakın bir yerde,Chatbileşeni, mesajın türüne göre Etkileşimli Analytics'teki mesajları görüntüleme mantığını içerenMessageListalt bileşenini içerir.streamAndParseResponseyöntemi, akış JSON yanıtından geçerli sistem mesajlarını sürekli olarak ayrıştırmaya çalışarak yanıtı işler. Geçerli bir sistem mesajı başarıyla ayrıştırıldığındaMessageListiçinde gösterilir.
Looker Components kitaplığıyla oluşturulan Chat bileşeninin, kullanıcı mesajını nasıl gönderdiğini ve yanıtı nasıl yayınladığını öğrendiniz.
6. Kontrol paneli filtrelerini Etkileşimli Analytics'e gönderme
Şimdi de etkileşimli analizlerin sorgusunu gösterge tablosunun bağlamıyla (filtreleriyle) filtreleyebilmesi için gösterge tablosu filtrelerinin kullanıcının istemine nasıl dahil edileceğini anlayalım.
Kontrol panelinin filtre değişikliği etkinliğini dinleme
- Daha önce incelenen
Chatbileşeniyle entegre edilmiş yerleştirilmiş kontrol panelini içeren uygulamanın sayfasını temsil edenFrontend/src/components/EmbedChat/EmbedChat.js,konumundakiEmbedChatbileşen dosyasını açın. EmbedChatbileşeni, Embed SDK'nın.on(...)yöntemiyle yerleştirilmiş kontrol panelinden gelen"dashboard:filters:changed"etkinliğini dinler. Ardından bileşen, geçerli filtreleri filtre durumunda saklar.
Filtre durumunu Etkileşimli Analytics'e gönderme
EmbedChatbileşeni, filtreleriChatbileşenine iletir. Bu bileşen, her filtreyishowAndSendUserPromptyönteminde"Filter on dimension '...' being ..."gibi bir dizeye dönüştürerek kullanıcının istemine eklenmesini sağlar.
7. Sohbetten kontrol paneli filtrelerini kontrol etme
Son olarak, yerleştirilmiş kontrol panelinin filtrelerini kontrol etmek için Chat bileşenini nasıl etkinleştireceğimize bakalım.
Hangi filtrelerin ayarlanacağını belirleme
ChatbileşenininstreamAndParseResponseyöntemi, her zaman Etkileşimli Analytics'ten gelen veri sonuçlarıyla bir sistem mesajı olup olmadığını kontrol eder.streamAndParseResponseyöntemi, veri sonuçlarıyla bir sistem mesajını ayrıştırdığında verilerdeki boyutların filtrelerdeki boyutlarla eşleşip eşleşmediğini kontrol eder.- Bu durumda
streamAndParseResponseyöntemi, veri sütunlarını gösterge tablosu filtrelerine dönüştürür. Bu kez yöntem, boyuttan filtrenin anahtarına dönüştürme işlemi içinFIELD_FILTER_MAPöğesini tersine kullanır. Filtrenin değerleri, veri sütunundaki değerlerdir.
Filtre değişikliği etkinliğini yerleştirilmiş kontrol paneline gönderme
- İstenen kontrol paneli filtreleriyle
streamAndParseResponseyöntemi, istenen filtrelerleChatbileşenininsetFiltersyöntemini çağırır. - Bu işlem,
EmbedChatbileşenininsetDashboardFiltersyöntemini çağırır. Bu yöntem, Embed SDK'nınsendyöntemi kullanılarak filtrelerle birlikte"dashboard:filters:update"ve"dashboard:run"olmak üzere iki etkinliği hemen ardından yerleştirilmiş kontrol paneline gönderir. "dashboard:filters:update"etkinliği, yerleştirilmiş kontrol panelinin filtrelerini değiştirirken"dashboard:run"etkinliği, kontrol panelinin sorgularını yeni filtrelerle yeniden çalıştırır.
8. Sonuç ve ana fikirler
Etkileşimli Analytics sohbetiyle entegre edilmiş yerleştirilmiş bir Looker kontrol panelinin kendi çalışma örneğini oluşturmuş olmanız gerekir. Yerleştirilmiş Looker kontrol paneliniz ve Etkileşimli Analytics ile doğal dil destekli veri keşfini nasıl etkinleştireceğinizi öğrendiniz.
- Looker Component kitaplığı ile bir sohbet bileşeni oluşturmuş olmanız gerekir.
- Veri keşfini kolaylaştırmak için yerleştirilmiş Looker kontrol panelinizin bağlamını Etkileşimli Analytics'e ilettiniz.
- Verileri incelerken bağlamı iyileştirmek için yerleştirilmiş kontrol panelinizin filtrelerini kontrol etmek üzere Etkileşimli Analytics'i etkinleştirdiniz.
Sırada ne var?
- Etkileşimli Analytics'in özellikleri hakkında daha fazla bilgi edinin.
- Looker Embed Reference örnek uygulamanızı, kendi yerleştirilmiş Looker kontrol panellerinizle çalışacak şekilde güncelleyin.
- Yerel olarak çalışan Looker Embed Reference örnek uygulamanızda bulunan diğer yerleştirme kullanım alanlarını deneyin.