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

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

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

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

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

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

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

आपको इनके बारे में जानकारी मिलेगी

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

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

  • Looker इंस्टेंस, जो Looker के ओरिजनल लाइसेंस, चालू 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 एपीआई पासकोड से बदलें.
  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. आपकी स्थानीय websocket बैकएंड सेवा, 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 प्रोजेक्ट में एक मॉडल फ़ाइल बनाएं और फ़ाइल के डैशबोर्ड का नाम रखें.
  9. अपनी Dashboard-summarization.model.lKML फ़ाइल के कॉन्टेंट को नीचे दिए गए कोड सैंपल से बदलें. डबल कोट में मौजूद स्ट्रिंग को, नौवें चरण में चुने गए डेटाबेस कनेक्शन के नाम से बदलना न भूलें. फ़ाइल में किए गए बदलाव सेव करें.
connection: "<YOUR_CONNECTION_NAME>"
  1. अपना प्रोजेक्ट सेव करने के लिए, डेटा स्टोर करने की जगह सेट अप करें. सबसे ऊपर दाईं ओर मौजूद "Git कॉन्फ़िगर करें" बटन चुनें. "इसके बजाय, कोई बेर रिपॉज़िटरी सेट अप करें" चुनें. "रिपॉज़िटरी बनाएं" को चुनें.
  2. अब आपके पास LookML प्रोजेक्ट की फ़ाइलों को सेव करने के लिए, एक बुनियादी डेटा स्टोर करने की जगह है. "प्रोजेक्ट पर वापस जाएं" को चुनकर या मैन्युअल तरीके से वापस जाकर, Looker IDE में प्रोजेक्ट पर वापस जाएं.
  3. सबसे ऊपर दाएं कोने में मौजूद, "LookML की पुष्टि करें" बटन को चुनें. बटन बदलकर "बदलावों को कमिट करें और पुश करें" हो जाएगा.
  4. ""बदलाव लागू करें और पुश करें" बटन चुनें. अपनी पसंद का कोई मैसेज जोड़ें और "कमिट करें" चुनें.
  5. Looker IDE के सबसे ऊपर दाएं कोने में, "प्रोडक्शन में डिप्लॉय करें" को चुनें. अब आपने अपने Looker इंस्टेंस में एक्सटेंशन जोड़ लिया है!
  6. उस Looker डैशबोर्ड पर जाएं जिसमें आपको एक्सटेंशन जोड़ना है.
  7. अपने डैशबोर्ड में एक्सटेंशन टाइल जोड़ने के लिए, निर्देशों का पालन करें. अपने नए एक्सटेंशन को टाइल के तौर पर अपने डैशबोर्ड में जोड़ें.
  8. पक्का करें कि आपने पहले जो लोकल WebSocket बैकएंड सेवा सेट अप की थी वह काम कर रही हो.

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

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

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

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

  1. अगले चरणों के लिए, अपने प्रोजेक्ट आईडी के साथ अपने लोकल एनवायरमेंट में ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल सेट अप करने के लिए, इन निर्देशों का पालन करें.
  2. अपनी बैकएंड सेवा की Docker इमेज के लिए, आर्टफ़ैक्ट रजिस्ट्री रिपॉज़िटरी बनाएं. 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 इमेज बन जाएगी और उसे आपके बनाए गए आर्टफ़ैक्ट रजिस्ट्री रिपॉज़िटरी में अपलोड कर दिया जाएगा. 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 को सही वैल्यू से बदलें. अपनी Docker इमेज के यूआरएल के लिए, छठा चरण देखें. YOUR_REGION को उस देश या इलाके से बदलें जिसे आपने पिछले चरण 8 में चुना था. फ़ाइल में किए गए बदलाव सेव करें.
  3. टेराफ़ॉर्म का इस्तेमाल करके उन संसाधनों को डिप्लॉय करें जिन्हें आपकी बैकएंड सेवा इस्तेमाल करेगी.
terraform init
terraform plan
terraform apply
  1. अगले सेक्शन के लिए, डिप्लॉय किया गया Cloud Run यूआरएल एंडपॉइंट सेव करें.

बधाई हो! आपने अपनी websocket बैकएंड सेवा को डिप्लॉय कर लिया है और अब यह 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. बाईं ओर मौजूद नेविगेशन पैनल को खोलकर, "डेवलप करें" चुनें. इसके बाद, नीचे की ओर स्क्रोल करके, अपने एक्सटेंशन के 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. ""बदलाव लागू करें और पुश करें" बटन चुनें. अपनी पसंद का कोई मैसेज जोड़ें और "कमिट करें" चुनें.
  3. Looker IDE के सबसे ऊपर दाएं कोने में मौजूद, "प्रोडक्शन के लिए डिप्लॉय करें" चुनें.

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

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

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

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

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

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

अब आपने और आपके Looker उपयोगकर्ताओं ने Looker डैशबोर्ड की खास जानकारी देने वाले एक्सटेंशन को आज़मा लिया है. अब इस एक्सटेंशन की अहम जानकारी को ज़्यादा ऑडियंस के साथ शेयर करें. इस सेक्शन में दिए गए एक्सटेंशन को चालू करके, 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. जनरेट किए गए Client-ID को नोट करें.
  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 को Client-ID से बदलें. YOUR_SLACK_CLIENT_SECRET की जगह क्लाइंट सीक्रेट डालें. YOUR_SLACK_CHANNEL_ID की जगह चैनल आईडी डालें. फ़ाइल में किए गए बदलावों को सेव करें. इससे आपके एक्सटेंशन के फ़्रंटएंड को कॉन्फ़िगर किया जाएगा, ताकि वह अपनी अहम जानकारी को आपके पसंदीदा Slack चैनल पर भेज सके.
  4. अगर आप अपने एक्सटेंशन का फ़्रंटएंड स्थानीय तौर पर चला रहे हैं, तो अपना एक्सटेंशन फिर से बनाएं. अगर आपको एक्सटेंशन का फ़्रंटएंड डिप्लॉय करना है, तो एक्सटेंशन का फ़्रंटएंड फिर से डिप्लॉय करें.

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

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

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

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

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

8. [ज़रूरी नहीं] Gemini मॉडल में लॉग इकट्ठा करने की सुविधा सेटअप करें

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

  1. डिप्लॉय की गई अपनी Websocket बैकएंड सेवा की 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 डैशबोर्ड की खास जानकारी देने वाला एक्सटेंशन स्थानीय तौर पर सेट अप किया है, ताकि आप इसे आज़मा सकें. आपने एक्सटेंशन को Google Cloud पर भी डिप्लॉय किया है, ताकि अन्य उपयोगकर्ता भी इसे आज़मा सकें! अब आप और अन्य उपयोगकर्ता, अपने डैशबोर्ड में जाकर, Gemini की मदद से तैयार की गई खास जानकारी और अगले चरणों को ऐक्सेस कर सकते हैं.

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