एजेंटिक कोडिंग टूल की मदद से LookML लिखना

1. परिचय

VS Code के इकोसिस्टम पर आधारित एजेंटिक कोड ऑथरिंग टूल, काफ़ी लोकप्रिय हो गए हैं. कर्सर और Antigravity, इसके सिर्फ़ दो उदाहरण हैं. इस कोडलैब में, इन कोड टूल की मदद से LookML लिखने का तरीका बताया गया है.

आपको क्या करना होगा

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

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

ऑडियंस: LookML डेवलपर, डेटा इंजीनियर, और आर्किटेक्ट.

2. अपना Looker इंस्टेंस सेट अप करना

Google Cloud प्रोजेक्ट बनाना

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
  2. पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें.

Looker को डेटा सोर्स से कनेक्ट करना

  1. Looker में, एडमिन पेज पर जाकर, डेटाबेस हेडिंग में जाएं. इसके बाद, कनेक्शन चुनें.
  2. स्क्रीन पर सबसे ऊपर दाईं ओर, कनेक्शन जोड़ें पर क्लिक करें.
  3. Cymbal Gadgets डेटासेट के लिए एक नया डेटा सोर्स बनाएं. इसे cymbal_gadgets नाम दें. एसक्यूएल भाषा के लिए Google BigQuery Standard SQL चुनें. कनेक्शन की सामान्य सेटिंग का स्क्रीनशॉट
  4. अगले पेज पर, Google Cloud प्रोजेक्ट का नाम, स्टोरेज प्रोजेक्ट looker-private-demo, और डेटासेट का नाम cymbal_gadgets डालें. डेटाबेस सेटिंग का स्क्रीनशॉट
  5. बाकी सभी फ़ील्ड के लिए डिफ़ॉल्ट वैल्यू स्वीकार करें और नया डेटा सोर्स बनाने की प्रोसेस पूरी करें.
  6. SQL Runner में जाकर पुष्टि करें कि डेटासेट को क्वेरी किया जा सकता है. इसके लिए,
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

GitHub से प्रोजेक्ट इंपोर्ट करना

  1. अपने डेटा स्टोर करने की जगह में, GitHub से प्रोजेक्ट https://github.com/looker-open-source/cymbal_gadgets को फ़ोर्क करें. आपके पास ऐसे प्रोजेक्ट में डिप्लॉय की गई कुंजी जोड़ने का विकल्प नहीं होता जिसका मालिकाना हक आपके पास नहीं है. इसलिए, प्रोजेक्ट को Looker से लिंक करने के लिए, फ़ोर्क करना ज़रूरी है.
  2. डेवलपमेंट मोड चालू करें.
  3. डेवलप करें और फिर प्रोजेक्ट चुनें.
  4. LookML प्रोजेक्ट पेज पर, नया मॉडल पर क्लिक करें.
  5. LookML मॉडल बनाने वाले पुराने पेज का इस्तेमाल करने के लिए, लिंक पर क्लिक करें. मॉडल बनाने के पुराने डायलॉग बॉक्स के लिंक का स्क्रीनशॉट
  6. Looker में cymbal_gadgets नाम का नया प्रोजेक्ट बनाएं. नए प्रोजेक्ट के डायलॉग का स्क्रीनशॉट
  7. इसे अपनी बनाई गई फ़ोर्क की गई रिपॉज़िटरी से कनेक्ट करने के लिए, Git कॉन्फ़िगर करें चुनें. git के सेटअप का स्क्रीनशॉट
  8. अपनी Git रिपॉज़िटरी में Deploy Key जोड़ें. डप्लॉय की की मदद से लिखने का ऐक्सेस देने के लिए, बॉक्स पर क्लिक करना न भूलें. git डिप्लॉय कुंजी के सेटअप का स्क्रीनशॉट
  9. इसके बाद, सेटअप की जांच करें और उसे पूरा करें को चुनें. प्रोजेक्ट सेटअप पूरा होने का स्क्रीनशॉट
  10. पुष्टि करें कि प्रोजेक्ट और डेटा सोर्स काम कर रहे हैं. इसके लिए, एक्सप्लोर "🛍️ Cymbal Gadgets: Transactions & Sales" से डेटा क्वेरी करें.
  11. LookML एडिटर में cymbal_gadgets प्रोजेक्ट खोलें और सबसे ऊपर दाईं ओर मौजूद, डेवलपर कॉपी बनाएं बटन दबाएं.
  12. Git Actions में जाकर, Push Changes To Remote पर क्लिक करें, ताकि GitHub से dev branch को ऐक्सेस किया जा सके. Git Actions का स्क्रीनशॉट
  13. अपने कंप्यूटर पर टर्मिनल सेशन से, यह कमांड चलाएं:
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    YOUR_GITHUB_USER की जगह, अपने GitHub उपयोगकर्ता खाते का नाम डालें. साथ ही, अपनी डेवलपमेंट ब्रांच के नाम को YOUR_DEV_BRANCH से बदलें. आपकी डेवलपर ब्रांच का नाम dev-john-doe-jhgr जैसा होगा. इसमें dev शब्द के बाद आपका नाम और सरनेम होगा. इसके बाद, एक छोटी सी रैंडम स्ट्रिंग होगी. आपको Looker के यूज़र इंटरफ़ेस (यूआई) में LookML एडिटर के सबसे ऊपर, अपनी निजी देव ब्रांच दिखेगी.

3. Agentic IDE को सेट अप करना

VS Code एक्सटेंशन इंस्टॉल करना

आईडीई में, बाईं ओर मौजूद पैनल पर मौजूद एक्सटेंशन आइकॉन पर क्लिक करें. इसके बाद, "Looker" खोजें और इंस्टॉल करें बटन पर क्लिक करके, Google का आधिकारिक एक्सटेंशन इंस्टॉल करें.

डेटाबेस के लिए एमसीपी टूलबॉक्स सर्वर इंस्टॉल करना

Antigravity को Looker API का ऐक्सेस देने के लिए, आपके पास डेटाबेस के लिए एमसीपी टूलबॉक्स का चालू लोकल सर्वर होना चाहिए. इससे Antigravity को क्वेरी चलाने, एसक्यूएल की जांच करने, LookML मॉडल की जांच करने, और कनेक्शन स्कीमा की जानकारी की जांच करने की अनुमति मिलती है. एमसीपी टूलबॉक्स में, Looker के एमसीपी को लागू करने का आधिकारिक तरीका शामिल है. इस सेक्शन में, आपको अपने Looker इंस्टेंस के लिए इसे सेट अप और कॉन्फ़िगर करना होगा.

  1. सबसे पहले, आपको एपीआई client_id और client_secret की ज़रूरत होगी. अपने उपयोगकर्ता के लिए client_id और client_secret जनरेट करने के लिए, Looker API पासकोड की गाइड का इस्तेमाल करें. आपको अपने Looker इंस्टेंस के लिए, बेस यूआरएल की भी ज़रूरत होगी.
  2. अब MCP टूलबॉक्स को इंस्टॉल करने के लिए, npx का इस्तेमाल करें. Looker इंस्टेंस का यूआरएल और एपीआई क्रेडेंशियल, इनलाइन एनवायरमेंट वैरिएबल के तौर पर दिए जा सकते हैं. इसके अलावा, इन्हें शेल एनवायरमेंट में भी सेट किया जा सकता है. Mac और Linux के लिए, इसे शेल एनवायरमेंट में चलाएं:
    LOOKER_BASE_URL="https://your-instance.looker.com" \
    LOOKER_CLIENT_ID="YOUR_CLIENT_ID" \
    LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    
    Windows के लिए, Powershell में यह कमांड चलाएं:
    $env:LOOKER_BASE_URL="https://your-instance.looker.com"
    $env:LOOKER_CLIENT_ID="YOUR_CLIENT_ID"
    $env:LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET"
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    

VS Code एक्सटेंशन को कॉन्फ़िगर करना

इस चरण में, Looker और Looker MCP सर्वर से कनेक्ट करने के लिए, VS Code एक्सटेंशन को कॉन्फ़िगर किया जाएगा.

  1. Antigravity में, कमांड पैलेट खोलने के लिए CMD-SHIFT-P (Mac) या CTRL+SHIFT+P (Linux/Windows) का इस्तेमाल करें. इसके बाद, Preferences: Open Workspace Settings (JSON) चुनें.
  2. client_id और client_secret का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने के लिए, Workspace की सेटिंग में यह जानकारी जोड़ें. looker.projectId के लिए cymbal_gadgets का इस्तेमाल करें:
    {
       "looker.instanceURL": "https://your-instance.looker.com",
       "looker.clientId": "YOUR_API_KEY_CLIENT_ID",
       "looker.clientSecret": "YOUR_API_KEY_CLIENT_SECRET",
       "looker.projectId": "cymbal_gadgets"
    }
    

एडिटर खोलना

  1. Antigravity खोलें.
  2. फ़ाइल > फ़ोल्डर खोलें... पर क्लिक करें.
  3. cymbal_gadgets फ़ोल्डर पर जाएं और उसे चुनें.

4. ग्राहक की लाइफ़टाइम वैल्यू का मेज़र बनाना

सबसे पहले, एजेंट का इस्तेमाल करके मौजूदा LookML मॉडल में एक नया मेज़र बनाएं. इस खुदरा इस्तेमाल के उदाहरण में, Customer Lifetime Value मेज़रमेंट काम आएगा. इस मेज़र के लिए, तरीके और LookML का पता लगाने के लिए एजेंट का इस्तेमाल करें.

एजेंट को प्रॉम्प्ट करना

Antigravity वर्कस्पेस में मौजूद cymbal_gadgets प्रोजेक्ट में, आपको दाईं ओर एक नया बातचीत इंटरफ़ेस दिखेगा. प्लानिंग मोड में, Gemini के नए मॉडल का इस्तेमाल करके बातचीत शुरू करें. इसके लिए, यह प्रॉम्प्ट इस्तेमाल करें: Create a Customer Lifetime Value measure.

Antigravity में प्रॉम्प्ट का स्क्रीनशॉट

लागू करने का प्लान देखना

एजेंट सबसे पहले, लागू करने का प्लान बनाएगा. लागू करने के प्लान को खोलकर उसकी समीक्षा करें. इसके बाद, आगे बढ़ें बटन पर क्लिक करें.

लागू करने के प्लान का स्क्रीनशॉट

LookML की समीक्षा करना

बदले गए LookML की समीक्षा करें. पक्का करें कि बदलावों का मतलब समझ में आता हो और वे मान्य हों.

बदले गए LookML का स्क्रीनशॉट

बदला गया LookML, VS Code एक्सटेंशन की मदद से Looker के साथ अपने-आप सिंक हो जाता है. इसे डेवलपमेंट मोड में टेस्ट किया जा सकता है.

आईडीई में टेस्ट करना

Antigravity से query CLV broken down by customer loyalty tier के बारे में क्वेरी पूछें. Antigravity, Looker एमसीपी सर्वर का इस्तेमाल करके मॉडल ढूंढेगा. साथ ही, उपलब्ध फ़ील्ड की जांच करेगा और Looker का इस्तेमाल करके क्वेरी चलाएगा. नतीजा कुछ इस तरह दिखेगा:

Antigravity में मौजूद डेटा का स्क्रीनशॉट

Looker में टेस्ट करना

Looker में, डेवलपमेंट मोड चालू करके 🛍️ Cymbal Gadgets: Transactions & Sales एक्सप्लोर खोलें. ग्राहक की लाइफ़टाइम वैल्यू का मेज़रमेंट चुनें. इसके बाद, ग्राहक के रजिस्ट्रेशन के साल के हिसाब से पिवट करें. क्वेरी चलाएं. यह कुछ ऐसा दिखना चाहिए.

एक्सप्लोर करें का स्क्रीनशॉट

5. ग्राहक के लाइफ़टाइम वैल्यू का डैशबोर्ड बनाना

अब हम एक ज़्यादा मुश्किल उदाहरण आज़माएंगे. हम एजेंट से, पूरी तरह से नया LookML डैशबोर्ड बनाने के लिए कहेंगे.

एजेंट से नए डैशबोर्ड का अनुरोध करना

Antigravity पर वापस स्विच करें. उसी बातचीत में, पक्का करें कि प्लानिंग मोड और Gemini का नया मॉडल चुना गया हो. इसके बाद, प्रॉम्प्ट Create a dashboard showing customer lifetime value based on customer loyalty tier.

डैशबोर्ड बनाने का स्क्रीनशॉट

फिर से, लागू करने के प्लान को मंज़ूरी दें और कोड में किए गए बदलावों को स्वीकार करें. अब यह नई LookML फ़ाइल, Looker के साथ अपने-आप सिंक हो जाएगी.

Looker में टेस्ट करना

डेवलपमेंट मोड में, LookML Dashboards फ़ोल्डर पर जाएं. बनाए गए नए डैशबोर्ड को देखने के लिए, उसे चुनें.

नए डैशबोर्ड का स्क्रीनशॉट

6. व्यवस्थित करें

  1. अगर आपको LookML में किए गए बदलावों को पहले जैसा करना है, तो सोर्स कंट्रोल पैन में जाकर Antigravity में ऐसा करें. बदलाव की गई हर LookML फ़ाइल के बगल में, फ़ाइल को पहले जैसा करने के लिए ↶ जैसा सिंबल दिखेगा. हर फ़ाइल के लिए, उस बटन को दबाएं. बदलावों को पहले जैसा करने के विकल्प का स्क्रीनशॉट
  2. Looker में, एडमिन को चुनें. इसके बाद, डेटाबेस और फिर कनेक्शन को चुनें. cymbal_gadgets कनेक्शन के लिए गियर आइकॉन पर क्लिक करें और मिटाएं को चुनें. पुष्टि करें कि आपको कनेक्शन मिटाना है.
  3. Looker में डेवलपमेंट मोड का इस्तेमाल करें. Develop और फिर cymbal_gadgets प्रोजेक्ट चुनें. प्रोजेक्ट सेटिंग में जाकर, प्रोजेक्ट मिटाएं को चुनें. प्रोजेक्ट का नाम - cymbal_gadgets - टाइप करके पुष्टि करें कि आपको प्रोजेक्ट मिटाना है. इसके बाद, cymbal_gadgets को हमेशा के लिए मिटाएं लेबल वाले बटन को चुनें.

7. बधाई हो

कोडलैब पूरा करने के लिए बधाई.

हमने क्या-क्या बताया

  • एजेंट की मदद से LookML में बदलाव करने का तरीका.
  • लागू करने के प्लान की पुष्टि करने का तरीका.
  • आईडीई से टेस्ट करने का तरीका.
  • Looker के यूज़र इंटरफ़ेस (यूआई) में जांच करने का तरीका.
  • एजेंट की मदद से नया डैशबोर्ड बनाने का तरीका.

इन्हें आज़माएँ

अब यूज़र इंटरफ़ेस (यूआई) में इन प्रॉम्प्ट को आज़माएं. इससे आपको एजेंटिक आईडीई की अलग-अलग क्षमताओं के बारे में पता चलेगा:

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

ज़्यादा जानें