Looker डैशबोर्ड की खास जानकारी देने वाला एक्सटेंशन कोडलैब

1. शुरू करने से पहले

इस कोडलैब (1) में, Looker डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन को स्थानीय तौर पर सेट अप किया जाएगा, ताकि आप इसे आज़मा सकें और स्थानीय तौर पर डेवलप कर सकें. इसके बाद, (2) एक्सटेंशन को प्रोडक्शन में डिप्लॉय करें, ताकि आपके Looker इंस्टेंस में मौजूद Looker के अन्य उपयोगकर्ता इसका इस्तेमाल कर सकें. आखिर में, (3) एक्सटेंशन की सुविधा को बेहतर बनाने के लिए, कुछ और चरणों का पालन किया जा सकता है. सभी ज़रूरी सेक्शन को क्रम से पूरा किया जाना चाहिए.

Looker डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन के बारे में खास जानकारी

Looker डैशबोर्ड की खास जानकारी देने वाला एक्सटेंशन, Looker डैशबोर्ड के डेटा को Vertex AI के Gemini मॉडल को भेजता है. इसके बाद, Gemini मॉडल आपके डैशबोर्ड के डेटा की खास जानकारी और अगले चरणों के बारे में बताता है. एक्सटेंशन, आपके डैशबोर्ड में एक टाइल के तौर पर खास जानकारी और अगले चरण दिखाता है. इससे, आपको डैशबोर्ड का बेहतर अनुभव मिलता है. इसके अलावा, एक्सटेंशन, खास जानकारी और अगले चरणों को Slack या Google Chat पर एक्सपोर्ट कर सकता है. यह एक्सटेंशन, React फ़्रंटएंड ऐप्लिकेशन का इस्तेमाल करता है. साथ ही, यह Vertex AI के Gemini मॉडल से डेटा भेजने और पाने के लिए, वेबसॉकेट बैकएंड सेवा का इस्तेमाल करता है.

ज़रूरी शर्तें

  • Node डेवलपमेंट, Docker, और Terraform के बारे में बुनियादी जानकारी होना
  • Looker LookML प्रोजेक्ट को सेट अप करने के बारे में जानकारी होना

आपको क्या सीखने को मिलेगा

  • एक्सटेंशन को स्थानीय तौर पर सेट अप और डेवलप करने का तरीका
  • एक्सटेंशन को प्रोडक्शन में कैसे डिप्लॉय करें, ताकि आपके Looker इंस्टेंस में Looker का इस्तेमाल करने वाले अन्य लोग इसका इस्तेमाल कर सकें
  • एक्सटेंशन की परफ़ॉर्मेंस को बेहतर बनाने और इसकी सुविधाओं को बढ़ाने का तरीका.
  • प्रोडक्शन में डिप्लॉय किए गए एक्सटेंशन को मैनेज करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Looker इंस्टेंस, Looker Original License, Looker Core की चालू ट्रायल या Looker Core के चालू लाइसेंस के ज़रिए.
  • आपके पास Looker इंस्टेंस पर develop और deploy अनुमतियां होनी चाहिए.
  • डैशबोर्ड में बदलाव करने की अनुमतियां, जिनका इस्तेमाल आपको एक्सटेंशन के साथ करना है.
  • आपके Looker इंस्टेंस से मिला Looker API पासकोड.
  • ऐसा Google Cloud प्रोजेक्ट जिसमें बिलिंग की सुविधा चालू हो.
  • प्रोजेक्ट पर Cloud Run API, Vertex AI API, और Artifact Registry API चालू होना चाहिए.
  • gcloud सीएलआई इंस्टॉल किए गए लोकल एनवायरमेंट का ऐक्सेस. कोडलैब के चरणों में, Linux स्टाइल वाले एनवायरमेंट का इस्तेमाल किया गया है.

2. लोकल डेवलपमेंट के लिए बैकएंड सेट अप करना

इस सेक्शन में, आपको वेबसॉकेट बैकएंड सेवा सेट अप करनी होगी, ताकि आप इसे आज़मा सकें और लोकल तौर पर डेवलप कर सकें. इस सेवा के पास Vertex AI का ऐक्सेस होगा.

  1. अपने लोकल एनवायरमेंट में Node का वर्शन 18 या उसके बाद का वर्शन इंस्टॉल करें. Node इंस्टॉल करने के लिए, इन निर्देशों का पालन करें.
  2. एक्सटेंशन की रिपॉज़िटरी को अपनी लोकल होम डायरेक्ट्री में क्लोन करें. इसके बाद, रिपॉज़िटरी की रूट डायरेक्ट्री में जाएं. इस कोडलैब के लिए, सभी कोड सैंपल यह मानकर बनाए गए हैं कि आपकी क्लोन की गई रिपॉज़िटरी, आपके डिवाइस की होम डायरेक्ट्री में है.
cd ~
git clone git@github.com:looker-open-source/dashboard-summarization.git
  1. क्लोन की गई रिपॉज़िटरी की रूट डायरेक्ट्री में जाएं. इसके बाद, .env.example फ़ाइल का नाम बदलकर .env करें. इससे आपको इस कोडलैब के बाद के सेक्शन में एनवायरमेंट वैरिएबल सेट करने की अनुमति मिलेगी.
cd ~/dashboard-summarization
mv .env.example .env
  1. क्लोन की गई रिपॉज़िटरी के वेब सॉकेट बैकएंड की src डायरेक्ट्री पर जाएं. इस डायरेक्ट्री में सर्वर का सोर्स कोड होता है.
cd ~/dashboard-summarization/websocket-service/src   
  1. NPM का इस्तेमाल करके, सेवा की डिपेंडेंसी इंस्टॉल करें.
npm install  
  1. फ़ाइल looker-example.ini का नाम बदलकर looker.ini करें.
mv looker-example.ini looker.ini  
  1. looker.ini फ़ाइल में यह अपडेट किया गया है:
  2. client_id और client_secret को Looker API पासकोड से बदलें.
  3. base_url, जिसमें आपके Looker इंस्टेंस का यूआरएल इस फ़ॉर्मैट में हो: https://<YOUR_LOOKER_URL_MINUS_PROTOCOL>:19999
  4. ब्रैकेट के बीच का टेक्स्ट (सेक्शन हेडर), जिसमें आपके Looker इंस्टेंस के यूआरएल का होस्ट शामिल होता है.

उदाहरण के लिए, अगर आपका क्लाइंट आईडी ABC123, क्लाइंट सीक्रेट XYZ789, और Looker इंस्टेंस का यूआरएल https://mycompany.cloud.looker.com है, तो आपकी looker.ini फ़ाइल इस तरह दिखेगी:

[mycompany]
base_url=https://mycompany.cloud.looker.com:19999
client_id=ABC123
client_secret=XYZ789
verify_ssl=true 
  1. अपने Google Cloud प्रोजेक्ट का आईडी तय करें और उसे अपने PROJECT एनवायरमेंट वैरिएबल पर सेट करें. YOUR_PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें.
export PROJECT="YOUR_PROJECT_ID"
  1. Vertex AI, Gemini मॉडल को यहाँ दिए गए कई क्षेत्रों में उपलब्ध कराता है. यह तय करें कि आपका लोकल बैकएंड, Vertex AI के Gemini मॉडल से किस इलाके का डेटा भेजेगा और पाएगा. अपने REGION एनवायरमेंट वैरिएबल पर क्षेत्र सेट करें. YOUR_VERTEX_REGION की जगह अपने देश/इलाक़े का नाम डालें. जैसे, us-central1.
export REGION="YOUR_VERTEX_REGION"
  1. अब अपनी स्थानीय सेवा शुरू करें.
npm start
  1. आपकी लोकल वेबसॉकेट बैकएंड सेवा, http://localhost:5000 पर चल रही होगी.

अब आपने अपने लोकल एनवायरमेंट में, वेबसॉकेट बैकएंड सेवा को सेट अप कर लिया है!!

यह सेवा, आपके फ़्रंटएंड एक्सटेंशन और Vertex AI के Gemini मॉडल के बीच इंटरफ़ेस का काम करती है. यह सेवा, आपके फ़्रंटएंड एक्सटेंशन से डैशबोर्ड और LookML डेटा लेगी. साथ ही, Looker से क्वेरी किए गए डेटा को Vertex AI के Gemini मॉडल को प्रॉम्प्ट करेगी. इसके बाद, यह सेवा Gemini के जवाब को फ़्रंटएंड एक्सटेंशन पर स्ट्रीम करेगी, ताकि उसे आपके डैशबोर्ड में दिखाया जा सके.

आपके पास बैकएंड सेवा के सोर्स कोड में बदलाव करने का विकल्प भी होता है. आपको सबसे पहले सेवा की प्रोसेस को रोकना होगा. इसके बाद, कोड में बदलाव करने होंगे. इसके बाद, npm start को फिर से चलाना होगा.

3. लोकल डेवलपमेंट के लिए फ़्रंटएंड सेट अप करना

इस सेक्शन में, आपके लिए फ़्रंटएंड एक्सटेंशन सेट अप किया जाएगा, ताकि आप इसे आज़मा सकें और स्थानीय तौर पर डेवलप कर सकें.

  1. पिछले चरणों में बताए गए लोकल एनवायरमेंट में, क्लोन की गई अपनी रिपॉज़िटरी की रूट डायरेक्ट्री पर जाएं. इसके बाद, अपने फ़्रंटएंड के लिए फ़्रंटएंड सर्वर की डिपेंडेंसी इंस्टॉल करें.
cd ~/dashboard-summarization
npm install
  1. अपने लोकल फ़्रंटएंड डेवलपमेंट सर्वर को चालू करें
npm run develop
  1. अब आपका लोकल फ़्रंटएंड सर्वर, एक्सटेंशन के JavaScript को http://localhost:8080/bundle.js पर दिखा रहा है.
  2. कोई वेब ब्राउज़र खोलें और अपने Looker इंस्टेंस में लॉग इन करें.
  3. एक खाली LookML प्रोजेक्ट सेट अप करने के लिए, इन निर्देशों का पालन करें. प्रोजेक्ट डैशबोर्ड-खास जानकारी को नाम दें. अब आपके मौजूदा ब्राउज़र टैब में, Looker IDE में खाली LookML प्रोजेक्ट अपने-आप खुल जाना चाहिए.
  4. LookML प्रोजेक्ट की रूट डायरेक्ट्री में प्रोजेक्ट मेनिफ़ेस्ट फ़ाइल बनाएं. फ़ाइल का नाम manifest.lkml होगा. अगर आपको यह तरीका नहीं पता, तो LookML प्रोजेक्ट में फ़ाइल जोड़ने के बारे में ये निर्देश पढ़ें.
  5. नई manifest.lkml फ़ाइल के कॉन्टेंट को, बंद की गई रिपॉज़िटरी की रूट डायरेक्ट्री में मौजूद manifest.lkml फ़ाइल के कॉन्टेंट से बदलें. फ़ाइल में किए गए बदलावों को सेव करने के लिए, सबसे ऊपर दाएं कोने में मौजूद "बदलाव सेव करें" बटन को चुनें.
  6. किसी अन्य ब्राउज़र टैब में, अपने Looker इंस्टेंस में डेटाबेस कनेक्शन की सूची पर जाएं. अगर आपको यह नहीं पता कि ऐसा कैसे किया जाता है, तो इन निर्देशों का पालन करें.
  7. Looker के किसी डेटाबेस कनेक्शन का नाम चुनें. इससे कोई फ़र्क़ नहीं पड़ता कि आपने कौनसा कनेक्शन चुना है. अगर आपके पास डेटाबेस कनेक्शन देखने की अनुमति नहीं है, तो अपने Looker एडमिन से संपर्क करें. साथ ही, उससे किसी Looker डेटाबेस कनेक्शन का नाम पूछें.
  8. उस ब्राउज़र टैब पर वापस जाएं जिसमें Looker IDE में आपका LookML प्रोजेक्ट खुला है. अपने LookML प्रोजेक्ट में एक मॉडल फ़ाइल बनाएं और फ़ाइल का नाम dashboard-summarization रखें.
  9. dashboard-summarization.model.lkml फ़ाइल के कॉन्टेंट को, यहां दिए गए कोड सैंपल से बदलें. पक्का करें कि आपने डबल कोट में मौजूद स्ट्रिंग को, चरण 9 में चुने गए डेटाबेस कनेक्शन के नाम से बदल दिया हो. फ़ाइल में किए गए बदलाव सेव करें.
connection: "<YOUR_CONNECTION_NAME>"
  1. अपने प्रोजेक्ट को सेव करने के लिए, कोई डेटाबेस सेट अप करें. सबसे ऊपर दाईं ओर मौजूद, "Git कॉन्फ़िगर करें" बटन को चुनें. "इसके बजाय, एक बेयर रिपॉज़िटरी सेट अप करें" को चुनें. "Create Repository" को चुनें.
  2. अब आपके पास LookML प्रोजेक्ट फ़ाइलों को सेव करने के लिए, एक बुनियादी बेयर रिपॉज़िटरी है. "प्रोजेक्ट पर वापस जाएं" को चुनकर या मैन्युअल तरीके से वापस जाकर, Looker IDE में प्रोजेक्ट पर वापस जाएं.
  3. सबसे ऊपर दाएं कोने में मौजूद, "LookML की पुष्टि करें" बटन को चुनें. बटन बदलकर "बदलावों को कमिट करें और पुश करें" हो जाएगा.
  4. ""बदलावों को सेव करें और पुश करें" बटन को चुनें. अपनी पसंद का कोई मैसेज जोड़ें और "Commit" को चुनें.
  5. Looker IDE में सबसे ऊपर दाएं कोने में मौजूद, "Deploy to Production" को चुनें. अब आपने अपने Looker इंस्टेंस में एक्सटेंशन जोड़ लिया है!
  6. उस Looker डैशबोर्ड पर जाएं जिसमें आपको एक्सटेंशन जोड़ना है.
  7. अपने डैशबोर्ड में एक्सटेंशन टाइल जोड़ने के लिए, निर्देशों का पालन करें. अपने डैशबोर्ड में, नए एक्सटेंशन को टाइल के तौर पर जोड़ें.
  8. पक्का करें कि आपने पहले जो लोकल वेबसॉकेट बैकएंड सेवा सेट अप की थी वह चालू हो.

बधाई हो! अब अपने डैशबोर्ड में, Looker Dashboard Summarization Extension को आज़माया जा सकता है. आपका एक्सटेंशन, आपके डैशबोर्ड के मेटाडेटा को आपकी लोकल वेबसॉकेट बैकएंड सेवा पर भेजेगा. साथ ही, आपके बैकएंड सेवा से मिले Gemini के जवाब को, आपके डैशबोर्ड एक्सटेंशन टाइल में दिखाएगा.

लोकल फ़्रंटएंड सर्वर चालू होने पर, एक्सटेंशन के JavaScript सोर्स कोड में बदलाव किए जा सकते हैं. इसके बाद, सर्वर अपने-आप बदलावों को लागू कर देगा. बदलाव देखने के लिए, आपको अपना एक्सटेंशन या डैशबोर्ड पेज फिर से लोड करना होगा.

4. बैकएंड को प्रोडक्शन में डिप्लॉय करना

इस सेक्शन में, अब आपको वेबसॉकेट बैकएंड सेवा सेट अप करनी होगी. इससे, Looker इंस्टेंस के किसी भी डैशबोर्ड पर, डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन के किसी भी इंस्टेंस को सेवा दी जा सकेगी. इससे Looker के अन्य उपयोगकर्ता, अपने डैशबोर्ड में एक्सटेंशन को आज़मा सकेंगे. इसके लिए, उन्हें अपनी बैकएंड सेवा सेट अप करने की ज़रूरत नहीं होगी. इन चरणों में यह मान लिया गया है कि आपने पहले ही एक ही लोकल एनवायरमेंट में लोकल डेवलपमेंट के लिए बैकएंड को डिप्लॉय कर लिया है.

  1. अगले चरणों के लिए, अपने लोकल एनवायरमेंट में ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल सेट अप करने के लिए, इन निर्देशों का पालन करें. इसके लिए, आपको अपने प्रोजेक्ट आईडी की ज़रूरत होगी.
  2. अपने बैकएंड सेवा की डॉकर इमेज के लिए, Artifact Registry रिपॉज़िटरी बनाएं. YOUR_REGION को उस इलाके से बदलें जहां आपको अपनी रिपॉज़िटरी रखनी है.
gcloud artifacts repositories create dashboard-summarization-repo \
    --repository-format=docker \
    --location=YOUR_REGION \
  1. क्लोन की गई अपनी रिपॉज़िटरी के वेब सॉकेट बैकएंड की src डायरेक्ट्री पर जाएं.
cd ~/dashboard-summarization/websocket-service/src
  1. cloudbuild.yaml फ़ाइल में बदलाव करें. साथ ही, YOUR_REGION और YOUR_PROJECT_ID के सभी इंस्टेंस को अपने क्षेत्र और प्रोजेक्ट आईडी से बदलें. फ़ाइल में किए गए बदलाव सेव करें.
  2. Cloud Build का इस्तेमाल करके, एक ऐसा बिल्ड सबमिट करें जो बैकएंड सेवा की Docker इमेज बनाएगा और उसे Artifact Registry की उस रिपॉज़िटरी में पुश करेगा जिसे आपने अभी बनाया है. YOUR_REGION को उस क्षेत्र से बदलें जहां आपको Cloud Build सेवा का इस्तेमाल करना है.
gcloud builds submit --region=YOUR_REGION --config cloudbuild.yaml
  1. ध्यान दें, आपकी नई Docker इमेज का यूआरएल YOUR_REGION-docker.pkg.dev/YOUR_PROJECT_ID/dashboard-summarization-repo/websocketserviceimage:latest पर है. YOUR_PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें. YOUR_REGION की जगह, दूसरे चरण में इस्तेमाल किया गया वह क्षेत्र डालें जिसका इस्तेमाल आपने Artifact Registry रिपॉज़िटरी बनाने के लिए किया था.
  2. क्लोन की गई अपनी रिपॉज़िटरी में websocket-service/terraform डायरेक्ट्री पर जाएं.
cd ~/dashboard-summarization/websocket-service/terraform
  1. तय करें कि आपको Google Cloud Run की किस जगह पर, वेबसॉकेट बैकएंड सेवा को चलाना है. इन जगहों में से चुनें.
  2. variables.tf फ़ाइल में बदलाव करें और YOUR_PROJECT_ID और YOUR_DOCKER_IMAGE_URL को सही वैल्यू से बदलें. अपनी डॉकर इमेज के यूआरएल के लिए, छठा चरण देखें. YOUR_REGION की जगह, वह इलाका डालें जिसे आपने पिछले चरण 8 में चुना था. फ़ाइल में किए गए बदलाव सेव करें.
  3. टेराफ़ॉर्म का इस्तेमाल करके, उन संसाधनों को डिप्लॉय करें जिनका इस्तेमाल आपकी बैकएंड सेवा करेगी.
terraform init
terraform plan
terraform apply
  1. अगले सेक्शन के लिए, डिप्लॉय किए गए Cloud Run यूआरएल एंडपॉइंट को सेव करें.

बधाई हो! आपने अपनी वेबसॉकेट बैकएंड सेवा को डिप्लॉय कर दिया है और अब यह Google Cloud Run पर चल रही है. अब Looker डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन के सभी इंस्टेंस, आपकी बैकएंड सेवा से कम्यूनिकेट कर सकते हैं. हमारा सुझाव है कि Cloud Run पर, आपकी वेबसॉकेट बैकएंड सेवा का कम से कम एक इंस्टेंस हमेशा चालू रहे. बैकएंड सेवा के लगातार काम करते रहने से, आपकी वेबसॉकेट बैकएंड सेवा और एक्सटेंशन के फ़्रंटएंड के बीच डेटा स्ट्रीम होता रहता है. साथ ही, इससे हर उपयोगकर्ता के सेशन को बनाए रखने में मदद मिलती है, ताकि वे आपके एक्सटेंशन का इस्तेमाल कर सकें.

5. फ़्रंटएंड को प्रोडक्शन में डिप्लॉय करना

इस आखिरी सेक्शन में, आपको एक्सटेंशन के फ़्रंटएंड को डिप्लॉय करने के आखिरी चरण पूरे करने होंगे. इससे, आपके Looker इंस्टेंस में मौजूद सभी Looker उपयोगकर्ताओं के लिए एक्सटेंशन उपलब्ध हो जाएगा.

  1. क्लोन की गई अपनी रिपॉज़िटरी की रूट डायरेक्ट्री पर जाएं.
cd ~/dashboard-summarization
  1. में बदलाव करें .env फ़ाइल. YOUR_CLOUD_RUN_URL की जगह, पिछले सेक्शन में दिया गया Cloud Run यूआरएल एंडपॉइंट डालें. फ़ाइल में किए गए बदलावों को सेव करें. इससे प्रोडक्शन एक्सटेंशन का फ़्रंटएंड, Cloud Run पर चल रही आपकी वेबसॉकेट बैकएंड सेवा पर रीडायरेक्ट हो जाएगा.
  2. एक्सटेंशन का JavaScript बनाएं. dist डायरेक्ट्री अपने-आप जनरेट हो जाएगी. इसमें bundle.js फ़ाइल और अन्य फ़ाइलें होंगी.
npm run build
  1. कोई वेब ब्राउज़र खोलें और अपने Looker इंस्टेंस में लॉग इन करें. बाईं ओर मौजूद साइड नेविगेशन खोलें. इसके बाद, सबसे नीचे मौजूद "डेवलपमेंट मोड" टॉगल को चालू करें.
  2. बाईं ओर मौजूद साइड नेविगेशन पैनल खुला होने पर, "डेवलप करें" को चुनें. इसके बाद, नीचे की ओर स्क्रोल करें और "dashboard-summarization" को चुनें. यह आपके एक्सटेंशन का LookML प्रोजेक्ट है. अब आपको LookML प्रोजेक्ट के लिए, Looker IDE में होना चाहिए.
  3. पहले जनरेट की गई dist डायरेक्ट्री में मौजूद सभी फ़ाइलों को, "फ़ाइल ब्राउज़र" में प्रोजेक्ट की रूट डायरेक्ट्री में खींचें और छोड़ें. अगर आपको और मदद चाहिए, तो इन निर्देशों का पालन करें.
  4. Looker IDE में manifest.lkml फ़ाइल खोलें. फ़ाइल में, इस लाइन को बदलें
url: "http://localhost:8080/bundle.js"

के साथ

file: "bundle.js"

YOUR_CLOUD_RUN_URL की जगह, पिछले सेक्शन के आखिर में मौजूद Cloud Run यूआरएल एंडपॉइंट डालें. फ़ाइल में किए गए बदलाव सेव करें.

  1. सबसे ऊपर दाएं कोने में मौजूद, "LookML की पुष्टि करें" बटन को चुनें. बटन बदलकर "बदलावों को कमिट करें और पुश करें" हो जाएगा.
  2. ""बदलावों को सेव करें और पुश करें" बटन को चुनें. अपनी पसंद का कोई मैसेज जोड़ें और "Commit" को चुनें.
  3. Looker IDE में सबसे ऊपर दाएं कोने में मौजूद, "Deploy to Production" को चुनें.

बधाई हो! अब आपने अपने Looker इंस्टेंस में, Looker के सभी उपयोगकर्ताओं के लिए यह सुविधा चालू कर दी है. इससे वे अपने डैशबोर्ड में, Looker Dashboard Summarization Extension जोड़ पाएंगे. Looker का इस्तेमाल करने वाले अन्य लोग जब एक्सटेंशन का इस्तेमाल करेंगे, तब एक्सटेंशन के सभी इंस्टेंस, Google Cloud Run पर चल रही डिप्लॉय की गई वेबसॉकेट बैकएंड सेवा को कॉल करेंगे.

ध्यान रखें कि सोर्स कोड में कोई भी बदलाव करने पर, आपको ये काम करने होंगे:

  1. अपने एक्सटेंशन की JavaScript को फिर से बनाएं
  2. LookML प्रोजेक्ट में जोड़ी गई जनरेट की गई फ़ाइलों को, dist डायरेक्ट्री से जनरेट की गई नई फ़ाइलों से बदलें.
  3. LookML प्रोजेक्ट में किए गए बदलावों की पुष्टि करना, उन्हें कमिट करना, और प्रोडक्शन एनवायरमेंट में डिप्लॉय करना

Looker के डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन को आज़माएं! हमारा सुझाव है कि आप इस एक्सटेंशन को बेहतर बनाने में हमारी मदद करें, ताकि यह Looker कम्यूनिटी की ज़रूरतों को बेहतर तरीके से पूरा कर सके. कृपया रिपॉज़िटरी पर पुल का अनुरोध करें.

Slack/Google Chat से एक्सपोर्ट करने की सुविधा चालू करने, Gemini की ख़ास जानकारी और अन्य कामों को बेहतर बनाने, और Gemini की लॉगिंग सेट अप करने के लिए, यहाँ दिए गए वैकल्पिक सेक्शन देखें.

6. [ज़रूरी नहीं] एक्सपोर्ट करने की सुविधाएं सेट अप करना

अब आपने और Looker के उपयोगकर्ताओं ने Looker Dashboard Summarization एक्सटेंशन आज़मा लिया है. इसलिए, आइए इस एक्सटेंशन की अहम जानकारी को ज़्यादा से ज़्यादा लोगों के साथ शेयर करें. Google Chat या Slack पर खास जानकारी और अगले चरण भेजने के लिए, इस सेक्शन में दिया गया तरीका अपनाएं. इस कोडलैब के इस सेक्शन को जारी रखने के लिए, आपको OAuth सेटअप के बारे में जानकारी होनी चाहिए.

Google Chat से डेटा एक्सपोर्ट करने की सुविधा चालू करना

  1. अपने Google Cloud प्रोजेक्ट में Chat API चालू करें.
  2. Google Workspace के OAuth सेटअप करने के निर्देशों में दिया गया पहला चरण पूरा करें. स्कोप के लिए, आपको spaces.messages.create को शामिल करना होगा.
  3. Google Workspace के OAuth सेटअप करने के निर्देशों में दिया गया दूसरा चरण पूरा करें. अपने Looker इंस्टेंस के यूआरएल को "अनुमति वाले JavaScript ऑरिजिन" में जाकर, यूआरआई के तौर पर जोड़ें. उदाहरण के लिए, https://mycompany.cloud.looker.com. जनरेट किए गए क्लाइंट आईडी को नोट करें.
  4. उस Google Chat स्पेस का आईडी पता करें जिसमें आपको खास जानकारी एक्सपोर्ट करनी है. अगर आपको यह नहीं पता कि ऐसा कैसे किया जाता है, तो इन निर्देशों का पालन करें.
  5. में बदलाव करें .env फ़ाइल. YOUR_GOOGLE_CLIENT_ID की जगह क्लाइंट आईडी डालें. YOUR_GOOGLE_SPACE_ID को Google Chat पर मौजूद स्पेस के आईडी से बदलें. फ़ाइल में किए गए बदलावों को सेव करें. इससे आपके एक्सटेंशन का फ़्रंटएंड कॉन्फ़िगर हो जाएगा. इसके बाद, यह एक्सटेंशन अपनी अहम जानकारी को उस Google Chat स्पेस पर भेज पाएगा जहां आपको यह जानकारी भेजनी है.
  6. अगर आपने एक्सटेंशन के फ़्रंटएंड को स्थानीय तौर पर चलाया है, तो एक्सटेंशन को फिर से बनाएं. अगर आपको एक्सटेंशन का फ़्रंटएंड डिप्लॉय करना है, तो एक्सटेंशन का फ़्रंटएंड फिर से डिप्लॉय करें.

Slack एक्सपोर्ट करने की सुविधा चालू करना

  1. OAuth ऐप्लिकेशन सेट अप करने के लिए, Slack के आधिकारिक डेवलपर दस्तावेज़ में दिए गए पहले और दूसरे चरण का पालन करें. स्कोप के लिए, आपको chat:write और channels:read शामिल करना होगा. जनरेट किया गया क्लाइंट आईडी और क्लाइंट सीक्रेट नोट करें.
  2. उस Slack चैनल का आईडी पता करें जिसमें आपको खास जानकारी एक्सपोर्ट करनी है.
  3. में बदलाव करें .env फ़ाइल. YOUR_SLACK_CLIENT_ID की जगह क्लाइंट आईडी डालें. YOUR_SLACK_CLIENT_SECRET की जगह क्लाइंट सीक्रेट डालें. YOUR_SLACK_CHANNEL_ID की जगह चैनल आईडी डालें. फ़ाइल में किए गए बदलावों को सेव करें. इससे आपके एक्सटेंशन का फ़्रंटएंड कॉन्फ़िगर हो जाएगा. इसके बाद, वह अपनी अहम जानकारी को आपके चुने गए Slack चैनल पर भेज पाएगा.
  4. अगर आपने एक्सटेंशन के फ़्रंटएंड को स्थानीय तौर पर चलाया है, तो एक्सटेंशन को फिर से बनाएं. अगर आपको एक्सटेंशन का फ़्रंटएंड डिप्लॉय करना है, तो एक्सटेंशन का फ़्रंटएंड फिर से डिप्लॉय करें.

अब आपका एक्सटेंशन, अपनी खास जानकारी को सीधे Slack या Google Chat पर एक्सपोर्ट कर सकता है. ध्यान रखें कि एक्सटेंशन, सिर्फ़ हार्डकोड किए गए किसी Google Chat स्पेस या Slack चैनल को खास जानकारी भेज सकता है. आपके पास OAuth के अतिरिक्त स्कोप जोड़ने और कोड में बदलाव करने का विकल्प होता है. इससे, आपको स्पेस और चैनलों की सूची को फ़ेच करने और उसे दिखाने में मदद मिलती है, ताकि आपको यह पता चल सके कि आपको किन स्पेस और चैनलों पर खास जानकारी भेजनी है.

7. [ज़रूरी नहीं] खास जानकारी और अगले चरणों को बेहतर बनाना

यह एक्सटेंशन, Gemini मॉडल को डैशबोर्ड के सभी मेटाडेटा और क्वेरी के डेटा के साथ प्रॉम्प्ट करता है. डैशबोर्ड में ज़्यादा से ज़्यादा मेटाडेटा और कॉन्टेक्स्ट जोड़कर, जवाबों को ज़्यादा सटीक, ज़्यादा जानकारी वाला, और ज़्यादा गहराई से तैयार किया जा सकता है. साथ ही, सुझावों को ज़्यादा सटीक बनाया जा सकता है. आपका एक्सटेंशन जिस भी डैशबोर्ड का हिस्सा है उसके लिए, यह तरीका आज़माएं:

  • डैशबोर्ड में डैशबोर्ड की जानकारी जोड़ने के लिए, इन निर्देशों का पालन करें. इससे एलएलएम को डैशबोर्ड के सामान्य कॉन्टेक्स्ट के बारे में जानकारी मिलेगी.
  • हर डैशबोर्ड की टाइल में नोट जोड़ने के लिए, इन निर्देशों का पालन करें. इससे एलएलएम को डैशबोर्ड पर मौजूद हर क्वेरी के कॉन्टेक्स्ट के बारे में जानकारी मिलेगी. कॉन्टेक्स्ट के हिसाब से बनाए गए छोटे नोट, जनरेट की गई खास जानकारी में शामिल किए जाएंगे.

डैशबोर्ड में जितनी ज़्यादा जानकारी जोड़ी जाएगी, एक्सटेंशन से मिलने वाली खास जानकारी और अगले चरणों के बारे में उतनी ही बेहतर जानकारी मिलेगी. Gemini मॉडल को दिए जाने वाले प्रॉम्प्ट में, डैशबोर्ड का अतिरिक्त मेटाडेटा शामिल करने के लिए, कोड में बदलाव किया जा सकता है.

8. [वैकल्पिक] Gemini मॉडल की लॉगिंग सेट अप करना

जब भी कोई उपयोगकर्ता, एक्सटेंशन को किसी डैशबोर्ड की खास जानकारी बनाने के लिए कहता है, तो एक्सटेंशन, डैशबोर्ड में मौजूद हर क्वेरी के लिए Vertex AI को कॉल करेगा. साथ ही, सभी खास जानकारी को फ़ॉर्मैट करने के लिए एक फ़ाइनल कॉल करेगा. इस सेक्शन में दिए गए निर्देशों का पालन करके, अपने एक्सटेंशन के ज़रिए किए गए Vertex AI कॉल लॉग करें. इससे, Vertex AI के इस्तेमाल पर आने वाले खर्च और ट्रैफ़िक का अनुमान लगाया जा सकता है और इन पर नज़र रखी जा सकती है. आपको इन निर्देशों का पालन सिर्फ़ तब करना चाहिए, जब आपने वेबसॉकेट बैकएंड सेवा को डिप्लॉय किया हो.

  1. वेबसॉकेट बैकएंड सेवा को डिप्लॉय करने के लिए, Cloud Run की जगह तय करें.
  2. BigQuery पर लॉग भेजने वाले लॉग सिंक को सेट अप करने के लिए, इन निर्देशों का पालन करें. सिंक डेस्टिनेशन BigQuery होना चाहिए. नीचे दिए गए कोड सैंपल का इस्तेमाल करके, शामिल करने वाला फ़िल्टर सेट करें. इसमें YOUR_CLOUD_RUN_LOCATION की जगह, पिछले चरण में Cloud Run की जगह की जानकारी डालें.
resource.type = "cloud_run_revision"
resource.labels.service_name = "websocket-service"
resource.labels.location = "YOUR_CLOUD_RUN_LOCATION"
 severity>=DEFAULT
jsonPayload.component="dashboard-summarization-logs"

9. बधाई हो!

हमने आपके लिए, Looker Dashboard Summarization एक्सटेंशन को स्थानीय तौर पर सेट अप किया है, ताकि आप इसे आज़मा सकें. आपने एक्सटेंशन को Google Cloud पर भी डिप्लॉय किया है, ताकि अन्य लोग भी इसे आज़मा सकें! अब आपको और अन्य उपयोगकर्ताओं को, डैशबोर्ड में ही Gemini की मदद से तैयार की गई खास जानकारी और अगले चरण की जानकारी मिल सकती है.

10. आगे क्या करना है