Looker और BigQuery के लिए, Conversational Analytics API की मदद से चैट ऐप्लिकेशन बनाना

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

इस कोडलैब में, Looker और BigQuery के साथ Conversational Analytics API (CA API) का इस्तेमाल करने के बारे में बताया गया है. इससे, डेटा को क्वेरी करने के लिए अपना चैट ऐप्लिकेशन बनाया जा सकता है. इस सुविधा का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, आपको BigQuery, Looker, एलएलएम और एजेंट, और Python के बारे में जानकारी होनी चाहिए.

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

इस कोडलैब को पूरा करने के बाद, आपको इनके बारे में जानकारी मिल जाएगी:

  • Looker के साथ कन्वर्सेशनल ऐनलिटिक्स का इस्तेमाल कैसे करें
  • Conversational Analytics Python Streamlit Quickstart ऐप्लिकेशन को सेट अप और इस्तेमाल करने का तरीका (और यह ऐप्लिकेशन कैसे काम करता है)
  • Conversational Analytics के साथ सिमैंटिक मॉडलिंग के लिए Looker का इस्तेमाल करने के फ़ायदे

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

इस कोडलैब को पूरा करने के लिए, आपको इनकी ज़रूरत होगी:

  • Looker इंस्टेंस में ASC Demographic Data Looker Block इंस्टॉल होना चाहिए
  • आपके Looker इंस्टेंस के लिए एपीआई और डेवलपर ऐक्सेस
  • आपके पास Python v3.11+, Git, और gcloud इंस्टॉल किया हुआ लोकल एनवायरमेंट होना चाहिए.
  • आपके उपयोगकर्ता खाते के लिए, इन IAM भूमिकाओं वाला क्लाउड प्रोजेक्ट सेट अप किया गया हो:
  • roles/bigquery.dataViewer BigQuery डेटा व्यूअर
  • roles/bigquery.user BigQuery यूज़र
  • roles/looker.instanceUser Looker इंस्टेंस का उपयोगकर्ता

2. BigQuery की मदद से चैट ऐप्लिकेशन बनाना और उसे आज़माना

सबसे पहले, BigQuery को डेटा सोर्स के तौर पर इस्तेमाल करके, Conversational Analytics के क्विकस्टार्ट ऐप्लिकेशन को सेट अप करें और उसे आज़माएं.

Cloud API को चालू करना और पुष्टि करना

  1. अपने उपयोगकर्ता खाते से स्थानीय तौर पर पुष्टि करें:
gcloud auth login
  1. Cloud प्रोजेक्ट के एपीआई चालू करें. कृपया YOUR_PROJECT_ID की जगह अपने Google Cloud प्रोजेक्ट का आईडी डालें:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
  1. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) और बिलिंग सेट करें:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID

क्विकस्टार्ट ऐप्लिकेशन सेट अप करना

  1. क्विकस्टार्ट github repo को अपने लोकल एनवायरमेंट में क्लोन करें. यहां दिए गए उदाहरण के तौर पर कमांड देखें:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
  1. क्लोन की गई ca-api-quickstarts डायरेक्ट्री पर जाएं:
cd ca-api-quickstarts
  1. .streamlit डायरेक्ट्री में secrets.toml फ़ाइल बनाएं. YOUR_LOOKER_CLIENT_ID और YOUR_LOOKER_CLIENT_SECRET, आपके Looker इंस्टेंस से मिले Looker क्लाइंट आईडी और Looker क्लाइंट सीक्रेट होने चाहिए. फ़ाइल का कॉन्टेंट इस तरह होना चाहिए:
[cloud]
project_id = "YOUR_PROJECT_ID"

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

फ़ाइल बनाने के लिए, यहां दिए गए उदाहरण के तौर पर दिए गए निर्देश का इस्तेमाल किया जा सकता है. पक्का करें कि आपने वैल्यू को अपने प्रोजेक्ट आईडी, क्लाइंट आईडी, और क्लाइंट सीक्रेट से बदल दिया हो:

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. क्विकस्टार्ट ऐप्लिकेशन के लिए Python की ज़रूरी शर्तें इंस्टॉल करें:
pip install -r requirements.txt
  1. क्विकस्टार्ट ऐप्लिकेशन चलाएं:
streamlit run app.py
  1. अपने पसंदीदा ब्राउज़र में https://localhost:8501 खोलें.

क्विकस्टार्ट ऐप्लिकेशन आज़माएं

अब आप क्विकस्टार्ट ऐप्लिकेशन के एजेंट पेज पर हैं. आपके पास कोई डेटा एजेंट उपलब्ध नहीं है.

  1. अब हम एजेंट बनाएं फ़ॉर्म में, समुद्री डाकू की तरह बात करने वाला डेटा एजेंट बनाते हैं:
  2. डिसप्ले नेम फ़ील्ड सेट करें:
Pirate BQ Agent
  1. सिस्टम के लिए निर्देश फ़ील्ड सेट करें:
You are a pirate. Answer questions like a pirate
  1. BigQuery विकल्प चुनें.
  2. प्रोजेक्ट फ़ील्ड सेट करें:
bigquery-public-data
  1. डेटासेट फ़ील्ड सेट करें:
google_trends
  1. टेबल फ़ील्ड सेट करें:
top_rising_terms
  1. एजेंट बनाएं को चुनें.
  1. अब बाईं ओर मौजूद मुख्य नेविगेशन का इस्तेमाल करके, चैट पेज पर जाएं. हमारा नया एजेंट, चैट के लिए उपलब्ध है. प्रॉम्प्ट/मैसेज जोड़कर चैट शुरू करते हैं: "नमस्ते, आपके क्या हाल हैं?"
  2. अब इस डेटासेट के बारे में थोड़ी जानकारी लेते हैं: "यह डेटासेट किस बारे में है?"
  1. कोई दूसरा सवाल पूछें. जैसे:
  2. "डेटासेट में [राज्य का नाम डालें] की कौनसी जगहें शामिल हैं?"
  3. "क्या मुझे [शहर, राज्य?] के पिछले दो हफ़्तों का डेटा मिल सकता है?"
  4. "क्या कोई विज़ुअलाइज़ेशन बनाया जा सकता है?"

आपने अभी-अभी अपने चैट ऐप्लिकेशन में, डेटा एजेंट और BigQuery डेटा के साथ कई बार बातचीत की है.

3. Looker में अपने डेटा को मॉडल और एक्सप्लोर करना

अब Looker में, उसी BigQuery डेटा को मॉडल और एक्सप्लोर करते हैं.

BigQuery में जनगणना के डेटा को क्वेरी करना

किसी बड़े, रिलेशनल डेटासेट से कनेक्ट करने पर क्या होता है? सबसे पहले, हम एक नया एजेंट बनाएंगे.

  1. एजेंट पेज पर मौजूद एजेंट बनाएं फ़ॉर्म पर वापस जाएं.
  2. डिसप्ले नेम फ़ील्ड सेट करें:
BQ Census Agent
  1. सिस्टम के लिए निर्देश फ़ील्ड सेट करें:
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. BigQuery विकल्प चुनें.
  2. प्रोजेक्ट फ़ील्ड सेट करें:
bigquery-public-data
  1. डेटासेट फ़ील्ड सेट करें:
census_bureau_acs
  1. टेबल फ़ील्ड सेट करें:
blockgroup_2018_5yr
  1. एजेंट बनाएं को चुनें.
  2. नए एजेंट से ये दोनों सवाल पूछें:
  3. "आपके पास कौन-कौनसा डेटा है?"
  4. "क्या तुम मुझे मेरे डेटा की झलक दिखा सकते हो"?

जनगणना के डेटा को मॉडल करने के लिए Looker का इस्तेमाल करना

अब हम BigQuery के जनगणना डेटा को तय करने के लिए, LookML मॉडल का इस्तेमाल करेंगे. हम उन समस्याओं को हल करेंगे जिनके बारे में हमने अभी देखा है.

  1. अपने Looker इंस्टेंस में लॉग इन करें
  2. अपने एसीएस डेमोग्राफ़िक डेटा ब्लॉक की फ़ाइलों पर जाएं. इसके लिए, बाईं ओर मौजूद मुख्य नेविगेशन पर जाएं. इसके बाद, Develop को चुनें. इसके बाद, marketplace_acs_census-v2 को चुनें.
  3. आइए, Looker व्यू पर एक नज़र डालते हैं. imported_project डायरेक्ट्री, acs_census-v2 डायरेक्ट्री, और geography डायरेक्ट्री खोलें.
  4. आखिर में, cbsa.view फ़ाइल खोलें.
  5. लाइन 17 में, हम देख सकते हैं कि LookML एक डेराइव्ड टेबल बना रहा है. दूसरे शब्दों में कहें, तो यह कोड दो सार्वजनिक BigQuery डेटासेट को जोड़कर एक नई, कंबाइंड टेबल बना रहा है. इनमें से एक में जनगणना का डेटा है और दूसरे में भौगोलिक सीमा का डेटा है. LookML की मदद से, हम क्वेरी करने के लिए परसिस्टेंट डेराइव्ड टेबल बनाकर, कई डेटासेट को एक साथ जोड़ सकते हैं.

इसके अलावा, सिस्टम के निर्देशों के बजाय, वर्शन किए जा सकने वाले कोड (LookML) में शामिल होने की सुविधा तय की जाती है. इससे एजेंट को ज़्यादा आसानी से डेवलप किया जा सकता है. LookML की मदद से, अपने डेटा के बारे में कुछ खास अनुमान और शर्तें तय की जा सकती हैं. इससे, डेटा एजेंट के ज़रिए आपके डेटा से चैट करने वाले उपयोगकर्ताओं को मदद मिलती है.

Looker में मॉडल किए गए जनगणना के डेटा को एक्सप्लोर करना

आइए, एक्सप्लोर में एक क्वेरी चलाकर यह दिखाते हैं कि हमारे पास क्वेरी करने के लिए एक ही डेटा सोर्स है.

  1. बाईं ओर मौजूद मुख्य नेविगेशन मेन्यू में, एक्सप्लोर करें को चुनें. इसके बाद, जनगणना डेटा ब्लॉक और फिर राज्य और ज़िला को चुनें.
  2. शिक्षा > एसोसिएट डिग्री मेज़रमेंट चुनें.
  3. ये डाइमेंशन चुनें:
  4. देश या इलाका > ब्लॉक ग्रुप
  5. देश या इलाका > ज़िला > ज़िले का नाम
  6. देश या इलाका > राज्य > राज्य.
  7. क्वेरी चलाएं (सबसे ऊपर दाईं ओर). अब आपको दिखेगा कि वे जियोग्राफ़ी आईडी (जिन्हें "ब्लॉक ग्रुप" कहा जाता है) अब ऐसे स्ट्रिंग से जुड़े हैं जिन्हें आसानी से पढ़ा जा सकता है.
  8. विज़ुअलाइज़ेशन टैब खोलें. आपको यह डेटा मैप में दिखेगा.

4. Looker के साथ चैट ऐप्लिकेशन आज़माना

अब Looker के लिए डेटा एजेंट बनाते हैं.

  1. अपने क्विकस्टार्ट ऐप्लिकेशन के एजेंट पेज पर मौजूद एजेंट बनाएं फ़ॉर्म पर जाएं:
  2. डिसप्ले नेम फ़ील्ड सेट करें:
Cartoon character data analyst
  1. सिस्टम के लिए निर्देश फ़ील्ड में यह जानकारी डालें:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
  1. Looker विकल्प चुनें.
  2. Url फ़ील्ड को अपने Looker इंस्टेंस के यूआरएल पर सेट करें: "https://..."
  3. मॉडल फ़ील्ड सेट करें:
data_block_acs_bigquery
  1. एक्सप्लोर करें फ़ील्ड सेट करें:
cbsa
  1. एजेंट बनाएं को चुनें.
  2. चैट पेज पर जाएं और बनाए गए नए एजेंट को चुनें.
  3. प्रॉम्प्ट/मैसेज जोड़कर चैट शुरू करते हैं: "नमस्ते, आपके क्या हाल हैं?"
  4. आइए, एजेंट से डेटासेट के बारे में जानकारी मांगते हैं: "आपके पास कौन-कौनसा डेटा उपलब्ध है?"
  5. आइए, कुछ और सवाल पूछते हैं:
  6. "न्यूयॉर्क की किस काउंटी की जनसंख्या सबसे ज़्यादा है?"
  7. "प्रति व्यक्ति हाई स्कूल से सबसे ज़्यादा ग्रैजुएट होने के बारे में क्या ख़याल है?"
  8. "क्या तुम मुझे लिंग और राज्य के हिसाब से जनसंख्या के बारे में जानकारी दे सकते हो?"
  9. "क्या मुझे सबसे ज़्यादा आबादी वाले टॉप 10 राज्यों का बार चार्ट दिखाया जा सकता है?"

5. क्विकस्टार्ट ऐप्लिकेशन और क्या-क्या कर सकता है?

अब आपके पास ये विकल्प हैं:

  • चैट ऐप्लिकेशन को स्थानीय तौर पर सेट अप करना
  • BigQuery डेटा एजेंट और Looker डेटा एजेंट बनाया गया हो
  • डेटा एजेंटों के साथ हुई बातचीत
  • चैट के कॉन्टेक्स्ट के तौर पर, Looker सिमैंटिक मॉडलिंग के फ़ायदों के बारे में जानकारी मिली

क्विकस्टार्ट ऐप्लिकेशन की अन्य सुविधाएं आज़माएं:

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

6. वैकल्पिक चुनौतियां और आगे की खोज

अगर आपको Conversational Analytics और Quickstart ऐप्लिकेशन के बारे में ज़्यादा जानना है, तो इस मौके का फ़ायदा उठाएं. इसके अलावा, Quickstart ऐप्लिकेशन में बदलाव करने की चुनौती स्वीकार करें. यहां दिए गए कुछ सुझाव और चुनौतियों को आज़माएं या सीधे आखिरी सेक्शन पर जाएं.

CA API और क्विकस्टार्ट ऐप्लिकेशन के बारे में ज़्यादा जानें

ऐप्लिकेशन में बदलाव करने से जुड़ी क्विकस्टार्ट चुनौतियों के बारे में जानकारी

  • क्या आपको Looker एम्बेड करने की सुविधा के बारे में पता है? अगर ऐसा है, तो Quickstart ऐप्लिकेशन में Looker डैशबोर्ड एम्बेड करने की कोशिश करें. Streamlit के iframe कॉम्पोनेंट का इस्तेमाल करें.
  • वीडियो के यूआरएल वाला कोई सार्वजनिक डेटासेट ढूंढें. इसके बाद, ऐप्लिकेशन के चैट रेंडरिंग लॉजिक को अपडेट करें, ताकि चैट में वीडियो दिखाया जा सके.

7. नतीजे और खास बातें

यह आखिरी क्विज़ था! आपने Conversational Analytics API की मदद से, चैट ऐप्लिकेशन बनाया है, डेटा एजेंट बनाए हैं, और अपने डेटा के साथ चैट की है. आइए, कुछ अहम सुविधाओं और कॉन्सेप्ट के बारे में जानें!

कन्वर्सेशनल ऐनालिटिक्स की सुविधाएं

हमने बातचीत के आंकड़ों से जुड़ी कई सुविधाओं के बारे में बताया है. जैसे, ये सुविधाएं:

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

CA API के साथ Looker का इस्तेमाल करने के फ़ायदे

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

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