1. परिचय
जनरेटिव एआई मॉडल, तर्क करने में काफ़ी बेहतर होते हैं. हालांकि, इनमें संस्था के बारे में जानकारी नहीं होती. अगर कोई एक्ज़ीक्यूटिव, एआई एजेंट से पूछता है कि "पहली तिमाही में हमारा रेवेन्यू कितना था?", तो एजेंट को आपके डेटा लेक में "रेवेन्यू" नाम की कई टेबल मिल सकती हैं. इनमें से कुछ, वित्तीय मामलों की सटीक रिपोर्ट हैं. कुछ, मार्केटिंग के रीयल-टाइम अनुमान हैं. साथ ही, कई ऐसे सैंडबॉक्स हैं जिन्हें बंद कर दिया गया है.
स्पष्ट तौर पर जानकारी न दिए जाने पर, एआई एजेंट सिर्फ़ नाम के मिलते-जुलते होने के आधार पर कोई टेबल चुन लेगा. इससे, बिना पुष्टि किए गए डेटा से मिले जवाब "भरोसेमंद तरीके से गलत" हो सकते हैं.
यह कोडलैब, दो हिस्सों वाली सीरीज़ का हिस्सा है. इसमें, गवर्नेंस के बारे में जानकारी रखने वाला एआई एजेंट बनाने का तरीका बताया गया है.
पहले हिस्से में, डेटा फ़ाउंडेशन बनाया जाएगा. आपको BigQuery में एक ऐसा डेटा लेक सेट अप करना होगा जिसमें "अव्यवस्थित" डेटा मौजूद हो. साथ ही, आपको मेटाडेटा टैग (नॉलेज कैटलॉग के पहलू) लागू करने होंगे, ताकि मान्य डेटा और नॉइज़ में अंतर किया जा सके. इसके अलावा, आपको Antigravity (AGY) CLI का इस्तेमाल करके, यह जांच करनी होगी कि एजेंट, डेटा को मैनेज करने के नियमों का पालन कर रहा है या नहीं.
इस सीरीज़ का दूसरा हिस्सा पढ़ें. इसमें बताया गया है कि मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) और Cloud Run का इस्तेमाल करके, लोकल एजेंट प्रोटोटाइप को एंटरप्राइज़-ग्रेड के सुरक्षित वेब ऐप्लिकेशन में कैसे डिप्लॉय किया जाता है. 👉 दूसरा पार्ट पढ़ें
आपको क्या सीखने को मिलेगा
- सेटअप स्क्रिप्ट का इस्तेमाल करके, कई लेयर वाला डेटा लेक डिप्लॉय करें.
- Knowledge Catalog में कस्टम मेटाडेटा टेंप्लेट (पहलू के टाइप) डिज़ाइन करें और उन्हें रजिस्टर करें, ताकि आधिकारिक डेटा प्रॉडक्ट को रॉ सैंडबॉक्स टेबल से अलग किया जा सके.
- कोई भी ऐप्लिकेशन कोड लिखने से पहले, AGY CLI का इस्तेमाल करके, डेटा को मैनेज करने के नियमों की स्थानीय तौर पर पुष्टि करें.
आपको किन चीज़ों की ज़रूरत होगी
- बिलिंग की सुविधा वाला Google क्लाउड प्रोजेक्ट.
- Google Cloud Shell का ऐक्सेस. AGY CLI, Cloud Shell में पहले से इंस्टॉल होता है.
- BigQuery और Knowledge Catalog के बारे में बुनियादी जानकारी और इनका इस्तेमाल करने का तरीका पता होना चाहिए.
मुख्य सिद्धांत
- नॉलेज कैटलॉग: यह मेटाडेटा को मैनेज करने की एक ही सेवा है. हम इसका इस्तेमाल, कारोबारी संदर्भ (गवर्नेंस) के साथ तकनीकी मेटाडेटा (स्कीमा) को बेहतर बनाने के लिए करते हैं.
- पहलू का टाइप: स्ट्रक्चर्ड मेटाडेटा टेंप्लेट. फ़्री-टेक्स्ट टैग के उलट, पहलू, टाइपिंग को बेहतर बनाते हैं (enum, boolean). इससे मशीनें, इनका आकलन आसानी से कर पाती हैं.
2. सेटअप और ज़रूरी शर्तें
Cloud Shell शुरू करना
Google Cloud को अपने लैपटॉप से रिमोटली ऐक्सेस किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जाएगा. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.
Google Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद टूलबार पर, Cloud Shell आइकॉन पर क्लिक करें:

इसे चालू करने और एनवायरमेंट से कनेक्ट करने में सिर्फ़ कुछ सेकंड लगेंगे. यह प्रोसेस पूरी होने के बाद, आपको कुछ ऐसा दिखेगा:

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, Google Cloud पर काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब में मौजूद सभी टास्क, ब्राउज़र में किए जा सकते हैं. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.
एनवायरमेंट शुरू करना
Cloud Shell खोलें और अपने प्रोजेक्ट के वैरिएबल सेट करें, ताकि यह पक्का किया जा सके कि सभी कमांड सही इंफ़्रास्ट्रक्चर को टारगेट कर रही हैं.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export REGION="us-central1"
एपीआई चालू करें
नीचे दिए गए निर्देश को पूरा करने के लिए, Google Cloud की ज़रूरी सेवाएं चालू करें.
gcloud services enable \
bigquery.googleapis.com \
dataplex.googleapis.com
रिपॉज़िटरी को क्लोन करना
GitHub रिपॉज़िटरी से, इन्फ़्रास्ट्रक्चर कोड और ऑटोमेशन स्क्रिप्ट पाएं. Cloud Shell में डिस्क स्पेस बचाने के लिए, हम सिर्फ़ उस फ़ोल्डर को डाउनलोड करेंगे जिसकी ज़रूरत इस लैब के लिए है.
# Perform a shallow clone to get only the latest repository structure without the full history
git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
cd devrel-demos
# Specify and download only the folder we need for this lab
git sparse-checkout set data-analytics/governance-context
cd data-analytics/governance-context
"अव्यवस्थित" डेटा लेक बनाना
असल दुनिया में, डेटा एनवायरमेंट में अक्सर गड़बड़ियां होती हैं. असल डेटा की तरह दिखने वाले डेटा को बनाने के लिए, हमें "आधिकारिक" डेटा मार्ट और "सैंडबॉक्स" टेबल के ऐसे डेटा की ज़रूरत होती है जिस पर भरोसा नहीं किया जा सकता.
हम BigQuery डेटासेट और टेबल को डिप्लॉय करने के लिए, सेटअप स्क्रिप्ट का इस्तेमाल करेंगे.
- सेटअप स्क्रिप्ट को एक्ज़ीक्यूटेबल बनाएं और उसे चलाएं. इससे तीन BigQuery डेटासेट (
finance_mart,marketing_prod,analyst_sandbox) बन जाएंगे. साथ ही, उनकी टेबल में सैंपल डेटा भर जाएगा.
chmod +x ./setup_bq_tables.sh
./setup_bq_tables.sh
चेकपॉइंट: अब आपके पास पूरी तरह से भरा हुआ, लेकिन बिना किसी नियम के इस्तेमाल किया जाने वाला डेटा लेक है. एआई के लिए, हर टेबल एक जैसी दिखती है.
3. डेटा गवर्नेंस टेंप्लेट (पहलू का टाइप) बनाना
अब हम डेटा गवर्नेंस के कुछ नियम तय करेंगे. नॉलेज कैटलॉग में, इसके लिए ऐस्पेक्ट टाइप बनाया जाता है. यह एक ऐसा मेटाडेटा टेंप्लेट होता है जिसे फिर से इस्तेमाल किया जा सकता है और जिसमें टाइप की जानकारी शामिल होती है.
हम इस टेंप्लेट को gcloud CLI का इस्तेमाल करके रजिस्टर करेंगे, ताकि आपको पता चल सके कि इसे कैसे तय किया जाता है.
आसपेक्ट स्कीमा की जांच करना
स्कीमा की परिभाषा देखने के लिए, aspect_template.json का कॉन्टेंट आउटपुट करें.
cat aspect_template.json
इससे आपको यह JSON स्ट्रक्चर दिखेगा:
{
"name": "OfficialDataProductSpec",
"type": "record",
"recordFields": [
{
"name": "product_tier",
"type": "enum",
"enumValues": [
{ "name": "GOLD_CRITICAL", "index": 1 },
{ "name": "SILVER_STANDARD", "index": 2 },
{ "name": "BRONZE_ADHOC", "index": 3 }
],
...
},
{
"name": "is_certified",
"type": "bool",
...
}
]
}
ध्यान दें कि यह स्कीमा, डेटा टाइप को सख्ती से लागू करता है. जैसे, क्रिटिकैलिटी टियर (GOLD_CRITICAL, SILVER_STANDARD, BRONZE_ADHOC) के लिए enum और is_certified के लिए bool. इससे यह पक्का होता है कि मेटाडेटा स्ट्रक्चर्ड और मशीन के पढ़ने लायक बना रहे.
आस्पेक्ट टाइप रजिस्टर करना
इस टेंप्लेट को Knowledge Catalog रजिस्ट्री में रजिस्टर करने के लिए, यहां दिया गया gcloud कमांड चलाएं.
gcloud dataplex aspect-types create official-data-product-spec \
--location="${REGION}" \
--project="${PROJECT_ID}" \
--description="Defines the comprehensive profile of a data product for governance agents." \
--display-name="Official Data Product Spec" \
--metadata-template-file-name="aspect_template.json"
4. मैनेजमेंट लागू करना
यह इंजीनियरिंग का सबसे अहम चरण है. फ़िलहाल, टेबल finance_mart.fin_monthly_closing_internal और analyst_sandbox.tmp_data_dump_v2_final_real, एलएलएम को एक जैसी दिखती हैं. ये सिर्फ़ कॉलम वाले ऑब्जेक्ट होते हैं.
गवर्नेंस इंजीनियर के तौर पर, आपको इन टेबल में पहलू (सर्टिफ़ाइड मेटाडेटा लेबल) जोड़ना होगा, ताकि इन्हें अलग-अलग किया जा सके. किसी असली एंटरप्राइज़ में, सीआई/सीडी पाइपलाइन की मदद से इसे अपने-आप होने वाली प्रोसेस के तौर पर सेट अप किया जाता है. हम स्क्रिप्ट की मदद से, उस ऑटोमेशन को सिम्युलेट करेंगे.
गवर्नेंस पेलोड जनरेट करना
नॉलेज कैटलॉग की ऐस्पेक्ट कुंजियां, दुनिया भर में यूनीक होनी चाहिए. इनके आगे आपके प्रोजेक्ट आईडी का प्रीफ़िक्स लगा होना चाहिए. ./generate_payloads.sh स्क्रिप्ट, YAML मेटाडेटा फ़ाइलों को डाइनैमिक तौर पर जनरेट करेगी.
chmod +x ./generate_payloads.sh
./generate_payloads.sh
आउटपुट:
इससे "./aspect_payloads" नाम का एक फ़ोल्डर बन जाता है. इसमें चार YAML फ़ाइलें होती हैं. इनमें गवर्नेंस के अलग-अलग लेवल (गोल्ड/इंटरनल, गोल्ड/पब्लिक, सिल्वर/रीयलटाइम, ब्रॉन्ज़/सैंडबॉक्स) के बारे में बताया गया होता है.
सीएलआई की मदद से पहलुओं को लागू करना
स्क्रिप्ट चलाने से पहले, आइए देखते हैं कि हम प्रोसेस को आसान बनाने के लिए, असल में क्या लागू कर रहे हैं. इंटरनल फ़ाइनेंस पेलोड का स्ट्रक्चर देखने के लिए, यह कमांड चलाएं:
cat aspect_payloads/fin_internal.yaml
इसमें आपको यह कॉन्टेंट दिखेगा.
your-project-id.us-central1.official-data-product-spec:
data:
product_tier: GOLD_CRITICAL
data_domain: FINANCE
usage_scope: INTERNAL_ONLY
update_frequency: DAILY_BATCH
is_certified: true
ध्यान दें कि इस YAML में कारोबार के कॉन्टेक्स्ट को साफ़ तौर पर बताया गया है. जैसे, is_certified: true फ़्लैग सेट करना और GOLD_CRITICAL टियर असाइन करना. टेबल के नामों के आधार पर सिर्फ़ अनुमान लगाने के बजाय, एलएलएम को आकलन करने के लिए साफ़ तौर पर स्ट्रक्चर्ड नियम देना.
अब ऐप्लिकेशन स्क्रिप्ट चलाएं. यह BigQuery टेबल के ज़रिए दोहराता है और इस रिजिड मेटाडेटा को अटैच करने के लिए, gcloud dataplex entries update कमांड को एक्ज़ीक्यूट करता है.
chmod +x ./apply_governance.sh
./apply_governance.sh
पुष्टि (ज़रूरी नहीं)
आगे बढ़ने से पहले, पुष्टि करें कि कंसोल में मेटाडेटा सही तरीके से लागू किया गया हो.
- Google Cloud Console में, नॉलेज कैटलॉग पेज खोलें. अगर आपको बाईं ओर मौजूद नेविगेशन मेन्यू में "नॉलेज कैटलॉग" नहीं दिखता है, तो Google Cloud Console विंडो में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करें. इसमें "नॉलेज कैटलॉग" टाइप करें. इसके बाद, "सबसे ज़्यादा खोजे गए नतीजे" या "प्रॉडक्ट और पेज" में जाकर, नतीजे चुनें.
fin_monthly_closing_internalखोजें. आपको नतीजों में BigQuery टेबल दिखनी चाहिए. टेबल की ज़्यादा जानकारी वाले पेज पर जाने के लिए, टेबल के नाम पर क्लिक करें.

- टेबल के ज़्यादा जानकारी वाले पेज पर, सबसे नीचे मौजूद "ज़रूरी नहीं हैं, लेकिन काम के टैग और पहलू" सेक्शन ढूंढें.
- आपको
official-data-product-specपहलू दिखेगा. पुष्टि करें कि वैल्यू, "गोल्ड इंटरनल" के उस उदाहरण से मेल खाती हैं जिसे हमने लागू किया था.

अब आपने पुष्टि कर ली है कि तकनीकी रूप से एक जैसी BigQuery टेबल (fin_monthly_closing_internal और tmp_data_dump_v2_final_real) को मशीन से पढ़े जा सकने वाले मेटाडेटा के हिसाब से अलग-अलग किया गया है.
5. एजेंट को कॉन्फ़िगर करना और उसका प्रोटोटाइप बनाना
हम ऐप्लिकेशन बनाने से पहले, डेटा को मैनेज करने के लॉजिक की पुष्टि स्थानीय तौर पर करेंगे. हम यह काम दूसरे पार्ट में करेंगे. हमें नॉलेज कैटलॉग प्लगिन इंस्टॉल करना होगा. साथ ही, एजेंट की स्किल को कॉन्फ़िगर करना होगा.
एक्सटेंशन इंस्टॉल करना
Cloud Shell में, Knowledge Catalog प्लगिन इंस्टॉल करें. यह आपसे पुष्टि करने के लिए कहेगा और सेटअप की जानकारी मांगेगा.
export DATAPLEX_PROJECT="${PROJECT_ID}"
agy plugin install https://github.com/gemini-cli-extensions/dataplex
एजेंट की स्किल की जांच करना
एजेंट की स्किल, .agents/skills/knowledge_catalog_governance/SKILL.md में मौजूद एक स्टैटिक फ़ाइल होती है. इसे बार-बार इस्तेमाल किया जा सकता है. इसमें ऐसा लॉजिक होता है जो इंसानों के बनाए गए नियमों (जैसे, "मुझे सुरक्षित डेटा चाहिए") को तकनीकी नियमों में बदलता है.
फ़ाइल की जांच करें, ताकि आपको उस एल्गोरिदम के बारे में पता चल सके जिसे हम एआई को सिखा रहे हैं:
cat .agents/skills/knowledge_catalog_governance/SKILL.md
ध्यान दें कि इसमें मॉडल को साफ़ तौर पर निर्देश दिया गया है कि वह पहले चरण (मेटाडेटा की पुष्टि) और दूसरे चरण (क्वेरी को लागू करना) के लूप का सख्ती से पालन करे. मॉडल को किसी भी SQL को बनाने से पहले, मेटाडेटा का पता लगाना और उसकी पुष्टि करना ज़रूरी है.
एजेंट को शुरू करना और टेस्ट के उदाहरणों को आज़माना
AGY CLI सेशन शुरू करें. यह .agents/skills डायरेक्ट्री से स्किल का अपने-आप पता लगाएगा और उसे लोड करेगा.
agy
ध्यान दें: आपको एक से ज़्यादा कॉन्टेक्स्ट फ़ाइलें लोड होती हुई दिख सकती हैं. यह आम बात है. सीएलआई, इस प्रोजेक्ट के खास नियमों के लिए लोकल स्किल लोड करता है. साथ ही, नॉलेज कैटलॉग प्लगिन के लिए डिफ़ॉल्ट निर्देश भी लोड करता है.
इंस्टॉल हो जाने की पुष्टि करें
पुष्टि करने के लिए /mcp टाइप करें कि Knowledge Catalog प्लगिन चालू है. आपको knowledge-catalog को चालू प्लगिन के तौर पर देखना चाहिए. साथ ही, इसके उपलब्ध टूल भी दिखने चाहिए.
/mcp
अनुमानित आउटपुट:
MCP Servers
...
> ✓ knowledge-catalog Tools: search_entries, lookup_context, lookup_entry
टेस्ट के उदाहरण (प्रोटोटाइपिंग)
एजेंट के चालू सेशन में, एक-एक करके यहां दिए गए प्रॉम्प्ट चिपकाएं. इससे यह पुष्टि की जा सकेगी कि एजेंट आपके नियमों का पालन कर रहा है या नहीं.
- पहला उदाहरण (सीएफ़ओ के डेटा की पुष्टि करना):
"We are preparing the deck for an internal Board of Directors meeting next week. I need the numbers to be absolutely finalized, trustworthy, and kept strictly confidential. Which table is safe to use?"
अनुमानित: एजेंट अपने टूल से, आपके चालू प्रोजेक्ट और क्षेत्र का पता अपने-आप लगाता है. साथ ही, fin_monthly_closing_internal के बारे में क्वेरी करता है, क्योंकि यह इसके पहलू में GOLD_CRITICAL (सटीक) और INTERNAL_ONLY (बोर्ड मीटिंग) से सिमैंटिक तौर पर मेल खाता है. इसके बाद, एजेंट इसकी सलाह देता है.
- दूसरी स्थिति (सार्वजनिक तौर पर जानकारी ज़ाहिर करना):
"I need to share our quarterly financial summary with an external consulting firm. It is critical that we do not leak any raw or internal metrics. Which dataset is officially scrubbed and explicitly approved for external sharing?"
अनुमानित जवाब: एजेंट को महीने के हिसाब से तय की गई कीमत वाली इंटरनल टेबल को अनदेखा करना चाहिए. साथ ही, सिर्फ़ fin_quarterly_public_report को चुनना चाहिए, क्योंकि सिर्फ़ इसी ऐसेट को EXTERNAL_READY के तौर पर टैग किया गया है.
- तीसरा उदाहरण (ऑपरेशनल ज़रूरतें):
"My dashboard needs to show what's happening right now with our ad spend. I can't wait for the overnight load. What do you recommend?"
अनुमानित: एजेंट mkt_realtime_campaign_performance को चुनता है, क्योंकि इससे REALTIME_STREAMING अपडेट का अंतराल का पता चलता है. साथ ही, यह फ़ाइनेंस डेटा के GOLD_CRITICAL टियर को प्राथमिकता देता है.
- चौथा विकल्प (सैंडबॉक्स एक्सपेरिमेंट):
"I'm just playing around with some new ML models and need a lot of raw data. It doesn't need to be perfect, just a sandbox environment."
अनुमानित जवाब: एजेंट, tmp_data_dump_v2_final_real को चुनता है, क्योंकि यह अपने पहलू में BRONZE_ADHOC (रॉ डेटा) और is_certified: false (सैंडबॉक्स एनवायरमेंट) से सिमैंटिक तौर पर मेल खाता है.
(AGY सेशन से बाहर निकलने के लिए, /exit या /quit टाइप करें)
6. बधाई हो! आगे क्या करना है?
आपने डेटा को मैनेज करने के लिए एक फ़ाउंडेशन तैयार कर लिया है. साथ ही, यह साबित कर दिया है कि एआई, लोकल सीएलआई प्रोटोटाइप का इस्तेमाल करके, मेटाडेटा से जुड़े नियमों का पालन कर सकता है!
अब आप एक चेकपॉइंट पर पहुंच गए हैं. कृपया अगला चरण चुनें:
विकल्प A: मुझे अभी दूसरे चरण पर जाना है!
अगर आपको मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) और Cloud Run का इस्तेमाल करके, इस लोकल प्रोटोटाइप को सुरक्षित और प्रोडक्शन-ग्रेड वेब ऐप्लिकेशन में बदलना है, तो:
विकल्प B: मुझे दूसरा हिस्सा बाद में पूरा करना है या मुझे सिर्फ़ पहला हिस्सा पूरा करना था.
अगर आपको आज के लिए काम बंद करना है और क्लाउड की लागत से बचना है, तो आपको अपने संसाधनों को हटाना होगा.
चिंता न करें! दूसरे हिस्से में, हम आपको "फ़ास्ट-ट्रैक स्क्रिप्ट" देंगे. इससे, पहले हिस्से के एनवायरमेंट को सिर्फ़ दो मिनट में फिर से बनाया जा सकेगा. इससे आपको वहीं से शुरू करने में मदद मिलेगी जहां आपने छोड़ा था.
👉 डेटा मिटाने वाले सेक्शन पर जाएं.
7. स्टोरेज में जगह बनाएं (सिर्फ़ विकल्प B के लिए)
अगर आपको आगे नहीं बढ़ना है, तो शुल्क से बचने के लिए संसाधनों को बंद करें.
डेटा लेक को बंद करें
अगर आप फ़िलहाल AGY CLI सेशन में हैं, तो Ctrl+C को दो बार दबाकर या /quit टाइप करके सेशन से बाहर निकलें. इसके बाद, ये कमांड चलाएं:
chmod +x ./cleanup_data_lake.sh
./cleanup_data_lake.sh
AGY CLI प्लगिन अनइंस्टॉल करें और लोकल फ़ाइलें हटाएं
agy plugin uninstall dataplex
cd ~
rm -rf ~/devrel-demos