1. खास जानकारी
एजेंट एक ऐसा प्रोग्राम होता है जो एआई मॉडल से बातचीत करता है. यह अपने पास मौजूद टूल और कॉन्टेक्स्ट का इस्तेमाल करके, किसी लक्ष्य को पूरा करने के लिए काम करता है. साथ ही, यह तथ्यों के आधार पर अपने-आप फ़ैसले ले सकता है!
जब आपके ऐप्लिकेशन में कई एजेंट एक साथ मिलकर काम करते हैं और ज़रूरत के हिसाब से अपने-आप काम करते हैं, ताकि वे अपने मुख्य मकसद को पूरा कर सकें. साथ ही, हर एजेंट को किसी खास विषय के बारे में जानकारी होती है और वह उस विषय के लिए ज़िम्मेदार होता है, तो आपका ऐप्लिकेशन मल्टी-एजेंट सिस्टम बन जाता है.
Agent Development Kit (ADK)
एजेंट डेवलपमेंट किट (एडीके), एआई एजेंट डेवलप और डिप्लॉय करने के लिए एक फ़्लेक्सिबल और मॉड्यूलर फ़्रेमवर्क है. ADK की मदद से, कई एजेंट इंस्टेंस को एक मल्टी-एजेंट सिस्टम (एमएएस) में कंपोज़ करके, बेहतर ऐप्लिकेशन बनाए जा सकते हैं.
ADK में, मल्टी-एजेंट सिस्टम एक ऐसा ऐप्लिकेशन होता है जिसमें अलग-अलग एजेंट, अक्सर हैरारकी बनाते हैं. ये एजेंट, किसी बड़े लक्ष्य को हासिल करने के लिए साथ मिलकर काम करते हैं या तालमेल बिठाते हैं. अपने ऐप्लिकेशन को इस तरह से स्ट्रक्चर करने के कई फ़ायदे हैं. जैसे, बेहतर मॉड्यूलरिटी, स्पेशलाइज़ेशन, दोबारा इस्तेमाल करने की क्षमता, रखरखाव की क्षमता, और वर्कफ़्लो एजेंट का इस्तेमाल करके स्ट्रक्चर्ड कंट्रोल फ़्लो को तय करने की क्षमता.
मल्टी-एजेंट सिस्टम के लिए ध्यान रखने वाली बातें
सबसे पहले, हर एजेंट के पास अपनी विशेषज्ञता के बारे में पूरी जानकारी होनी चाहिए. साथ ही, उसे यह भी पता होना चाहिए कि वह किस तरह के सवालों के जवाब दे सकता है. — "क्या तुम्हें पता है कि किसी काम के लिए, तुम्हें किसी खास सब-एजेंट की ज़रूरत क्यों है", पहले यह पता लगाओ.
दूसरा, रूट एजेंट के साथ मिलकर, सभी जवाबों को रूट करने और उन्हें समझने का तरीका.
तीसरा, एजेंट रूटिंग के कई टाइप होते हैं. इनके बारे में इस दस्तावेज़ में बताया गया है. देखें कि आपके ऐप्लिकेशन के फ़्लो के हिसाब से कौनसी सुविधा सही है. साथ ही, आपको अपने मल्टी-एजेंट सिस्टम के फ़्लो कंट्रोल के लिए किन अलग-अलग कॉन्टेक्स्ट और स्थितियों की ज़रूरत है.
आपको क्या बनाना है
किचन के रिनोवेशन को मैनेज करने के लिए, मल्टी-एजेंट सिस्टम बनाते हैं. हम ऐसा ही करेंगे. हम तीन एजेंट वाला एक सिस्टम बनाएंगे.
- रेनोवेशन का प्रस्ताव देने वाला एजेंट
- अनुमतियां और नियमों के पालन की जांच करने वाला एजेंट
- ऑर्डर का स्टेटस देखने में मदद करने वाला एजेंट
किचन के रिनोवेशन का प्रस्ताव देने वाला एजेंट, किचन के रिनोवेशन का प्रस्ताव देने वाला दस्तावेज़ जनरेट करने के लिए.
अनुमतियां और अनुपालन एजेंट, अनुमतियों और अनुपालन से जुड़े टास्क पूरे करता है.
ऑर्डर की स्थिति की जांच करने वाला एजेंट, AlloyDB में सेट अप किए गए ऑर्डर मैनेजमेंट डेटाबेस पर काम करके, सामान के ऑर्डर की स्थिति की जांच करता है.
हमारे पास एक रूट एजेंट होगा, जो ज़रूरत के हिसाब से इन एजेंट को मैनेज करेगा.
ज़रूरी शर्तें
2. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें .
अगर आपको Google Cloud और ADK का इस्तेमाल शुरू करने के लिए कुछ क्रेडिट चाहिए, तो क्रेडिट रिडीम करने के लिए इस लिंक का इस्तेमाल करें. इसे रिडीम करने के लिए, यहां दिए गए निर्देशों का पालन करें. कृपया ध्यान दें कि इस लिंक का इस्तेमाल, मई के आखिर तक ही किया जा सकता है.
- इस लिंक पर क्लिक करके, Cloud Shell चालू करें. Cloud Shell में जाकर, Cloud Shell टर्मिनल (क्लाउड कमांड चलाने के लिए) और एडिटर (प्रोजेक्ट बनाने के लिए) के बीच टॉगल किया जा सकता है. इसके लिए, Cloud Shell में मौजूद बटन पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस कमांड का इस्तेमाल करें:
gcloud auth list
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
- पक्का करें कि आपके पास Python 3.9 या इसके बाद का वर्शन हो
- इन कमांड को चलाकर, इन एपीआई को चालू करें:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com
- gcloud कमांड और उनके इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
3. प्रोटोटाइप
अगर आपको प्रोजेक्ट के लिए "Gemini 2.5 Pro" मॉडल का इस्तेमाल करना है, तो इस चरण को छोड़ा जा सकता है.
Google AI Studio पर जाएं. प्रॉम्प्ट टाइप करना शुरू करें. यह रहा मेरा प्रॉम्प्ट:
I want to renovate my kitchen, basically just remodel it. I don't know where to start. So I want to use Gemini to generate a plan. For that I need a good prompt. Give me a short yet detailed prompt that I can use.
बेहतर जवाब पाने के लिए, दाईं ओर मौजूद पैरामीटर को अडजस्ट और कॉन्फ़िगर करें.
इस आसान जानकारी के आधार पर, Gemini ने मुझे रेनोवेशन शुरू करने के लिए एक बहुत ही ज़्यादा जानकारी वाला प्रॉम्प्ट दिया! इसका मतलब है कि हम AI Studio और अपने मॉडल से और भी बेहतर जवाब पाने के लिए, Gemini का इस्तेमाल कर रहे हैं. अपने इस्तेमाल के हिसाब से, अलग-अलग मॉडल भी चुने जा सकते हैं.
हमने Gemini 2.5 Pro को चुना है. यह एक थिंकिंग मॉडल है. इसका मतलब है कि हमें ज़्यादा आउटपुट टोकन मिलते हैं. इस मामले में, लंबे फ़ॉर्म वाले विश्लेषणों और ज़्यादा जानकारी वाले दस्तावेज़ों के लिए, 65 हज़ार टोकन तक मिलते हैं. Gemini 2.5 Pro को चालू करने पर, Gemini का थिंकिंग बॉक्स दिखता है. इसमें तर्क करने की क्षमता होती है और यह लंबे कॉन्टेक्स्ट वाले अनुरोधों को प्रोसेस कर सकता है.
जवाब का स्निपेट यहां देखें:

AI Studio ने मेरे डेटा का विश्लेषण किया और इन सभी चीज़ों को बनाया, जैसे कि कैबिनेट, काउंटरटॉप, बैकस्प्लैश, फ़्लोरिंग, सिंक, कोहेशन, कलर पैलेट, और मटीरियल का चुनाव. Gemini, सोर्स की जानकारी भी दे रहा है!
जब तक आपको मनमुताबिक नतीजा न मिल जाए, तब तक अलग-अलग मॉडल का इस्तेमाल करें. हालांकि, हमारा सुझाव है कि Gemini 2.5 का इस्तेमाल करें :)
बहरहाल, अब इस आइडिया को किसी दूसरे प्रॉम्प्ट के साथ आज़माकर देखें:
Add flat and circular light accessories above the island area for my current kitchen in the attached image.
अपनी मौजूदा रसोई की इमेज (या रसोई की किसी सैंपल इमेज) का लिंक अटैच करें. मॉडल को "Gemini 2.0 Flash Preview Image Generation" पर सेट करें, ताकि आपके पास इमेज जनरेट करने का ऐक्सेस हो.
मुझे यह आउटपुट मिला:

Gemini की यही ताकत है!
वीडियो को समझने से लेकर, इमेज जनरेट करने और Google Search से मिली भरोसेमंद जानकारी को प्रोसेस करने तक, ऐसी कई सुविधाएँ हैं जो सिर्फ़ Gemini की मदद से बनाई जा सकती हैं.
AI Studio से, इस प्रोटोटाइप को लिया जा सकता है. साथ ही, एपीआई कुंजी को हासिल किया जा सकता है. इसके बाद, Vertex AI ADK की मदद से, इसे पूरी तरह से एजेंटिक ऐप्लिकेशन में बदला जा सकता है.
4. ADK सेटअप
- वर्चुअल एनवायरमेंट बनाएं और उसे चालू करें (सुझाया गया)
Cloud Shell टर्मिनल में, वर्चुअल एनवायरमेंट बनाएं:
python -m venv .venv
वर्चुअल एनवायरमेंट चालू करें:
source .venv/bin/activate
- ADK इंस्टॉल करना
pip install google-adk
5. प्रोजेक्ट का स्ट्रक्चर
- Cloud Shell टर्मिनल में जाकर, अपने प्रोजेक्ट की पसंदीदा जगह पर एक डायरेक्ट्री बनाएं
mkdir agentic-apps
cd agentic-apps
mkdir renovation-agent
- Cloud Shell Editor पर जाएं और फ़ाइलें बनाकर, प्रोजेक्ट का यह स्ट्रक्चर बनाएं. फ़िलहाल, इन फ़ाइलों में कुछ भी नहीं होगा:
renovation-agent/
__init__.py
agent.py
.env
requirements.txt
6. सोर्स कोड
- "init.py" पर जाएं और इसे इस कॉन्टेंट से अपडेट करें:
from . import agent
- agent.py पर जाएं और इस पाथ से मिले कॉन्टेंट का इस्तेमाल करके फ़ाइल को अपडेट करें:
https://github.com/AbiramiSukumaran/adk-renovation-agent/blob/main/agent.py
agent.py में, हम ज़रूरी डिपेंडेंसी इंपोर्ट करते हैं. साथ ही, .env फ़ाइल से कॉन्फ़िगरेशन पैरामीटर वापस पाते हैं. इसके अलावा, हम root_agent को तय करते हैं. यह ऐप्लिकेशन में बनाए जाने वाले तीन सब-एजेंट को व्यवस्थित करता है. ऐसे कई टूल उपलब्ध हैं जो इन सब-एजेंट के मुख्य और सहायक फ़ंक्शन में मदद करते हैं.
- पक्का करें कि आपके पास Cloud Storage बकेट हो
इसका इस्तेमाल, एजेंट के जनरेट किए गए प्रस्ताव के दस्तावेज़ को सेव करने के लिए किया जाता है. इसे बनाएं और ऐक्सेस दें, ताकि Vertex AI की मदद से बनाया गया मल्टी-एजेंट सिस्टम इसे ऐक्सेस कर सके. ऐसा करने का तरीका यहां बताया गया है:
https://cloud.google.com/storage/docs/creating-buckets#console
अपने बकेट का नाम "next-demo-store" रखें. अगर आपने इसका नाम कुछ और रखा है, तो .env फ़ाइल में STORAGE_BUCKET की वैल्यू को अपडेट करना न भूलें. यह फ़ाइल, ENV Variables Setup चरण में होती है.
- बकेट का ऐक्सेस सेट अप करने के लिए, Cloud Storage console पर जाएं. इसके बाद, अपने स्टोरेज बकेट पर जाएं. इस उदाहरण में, बकेट का नाम "next-demo-storage" है: https://console.cloud.google.com/storage/browser/next-demo-storage.
अनुमतियां -> मुख्य उपयोगकर्ता देखें -> ऐक्सेस दें पर जाएं. प्रिंसिपल के तौर पर "allUsers" और भूमिका के तौर पर "Storage Object User" चुनें.
Make sure to not enable "prevent public access". Since this is a demo/study application we are going with a public bucket. Remember to configure permission settings appropriately when you are building your application.
- डिपेंडेंसी की सूची बनाना
सभी डिपेंडेंसी को requirements.txt फ़ाइल में शामिल करें. इसे repo से कॉपी किया जा सकता है.
मल्टी-एजेंट सिस्टम के सोर्स कोड के बारे में जानकारी
agent.py फ़ाइल, Agent Development Kit (ADK) का इस्तेमाल करके, किचन के रिनोवेशन से जुड़े मल्टी-एजेंट सिस्टम की संरचना और व्यवहार के बारे में बताती है. आइए, मुख्य कॉम्पोनेंट के बारे में जानते हैं:
एजेंट की परिभाषाएं
RenovationProposalAgent
यह एजेंट, किचन के रिनोवेशन का प्रस्ताव देने वाला दस्तावेज़ बनाने के लिए ज़िम्मेदार है. इसमें इनपुट पैरामीटर के तौर पर, किचन का साइज़, पसंद के मुताबिक स्टाइल, बजट, और ग्राहक की प्राथमिकताएं शामिल की जा सकती हैं. इस जानकारी के आधार पर, यह Gemini 2.5 के लार्ज लैंग्वेज मॉडल (एलएलएम) का इस्तेमाल करके, एक विस्तृत प्रस्ताव जनरेट करता है. इसके बाद, जनरेट किए गए प्रपोज़ल को Google Cloud Storage बकेट में सेव कर दिया जाता है.
PermitsAndComplianceCheckAgent
यह एजेंट, यह पक्का करने पर फ़ोकस करता है कि रिनोवेशन प्रोजेक्ट, स्थानीय बिल्डिंग कोड और नियमों का पालन करता हो. इसे रिनोवेशन के प्रस्ताव के बारे में जानकारी मिलती है.जैसे, स्ट्रक्चर में बदलाव, बिजली का काम, प्लंबिंग में बदलाव. यह एलएलएम का इस्तेमाल करके, अनुमति पाने की ज़रूरी शर्तों और नियमों का पालन करने की जांच करता है. एजेंट, नॉलेज बेस से मिली जानकारी का इस्तेमाल करता है. आपके पास इस नॉलेज बेस को पसंद के मुताबिक बनाने का विकल्प होता है, ताकि बाहरी एपीआई को ऐक्सेस करके ज़रूरी नियमों के बारे में जानकारी इकट्ठा की जा सके.
OrderingAgent
यह एजेंट, (अगर आपको इसे अभी लागू नहीं करना है, तो इसे हटाया जा सकता है) रिनोवेशन के लिए ज़रूरी सामान और उपकरणों के ऑर्डर की स्थिति की जाँच करता है. इसे चालू करने के लिए, आपको सेटअप के चरणों में बताए गए तरीके से Cloud Run फ़ंक्शन बनाना होगा. इसके बाद, एजेंट इस Cloud Run फ़ंक्शन को कॉल करेगा. यह फ़ंक्शन, ऑर्डर की जानकारी वाले AlloyDB डेटाबेस से इंटरैक्ट करता है. यह कुकी, रीयल-टाइम डेटा को ट्रैक करने के लिए, डेटाबेस सिस्टम के साथ इंटिग्रेशन दिखाती है.
रूट एजेंट (ऑर्केस्ट्रेटर)
root_agent, मल्टी-एजेंट सिस्टम के सेंट्रल ऑर्केस्ट्रेटर के तौर पर काम करता है. इसे रिनोवेशन का शुरुआती अनुरोध मिलता है. इसके बाद, यह तय करता है कि अनुरोध की ज़रूरतों के आधार पर किन सब-एजेंट को शुरू करना है. उदाहरण के लिए, अगर अनुरोध में परमिट की ज़रूरी शर्तों की जांच करना ज़रूरी है, तो यह PermitsAndComplianceCheckAgent को कॉल करेगा. अगर उपयोगकर्ता को ऑर्डर की स्थिति देखनी है, तो यह OrderingAgent को कॉल करेगा. हालांकि, ऐसा तब होगा, जब OrderingAgent की सुविधा चालू होगी.
इसके बाद, root_agent सब-एजेंट से जवाब इकट्ठा करता है और उन्हें मिलाकर, उपयोगकर्ता को पूरा जवाब देता है. इसमें प्रस्ताव के बारे में खास जानकारी देना, ज़रूरी अनुमतियों की सूची बनाना, और ऑर्डर के स्टेटस से जुड़े अपडेट देना शामिल हो सकता है.
डेटा फ़्लो और मुख्य सिद्धांत
उपयोगकर्ता, एडीके इंटरफ़ेस (टर्मिनल या वेब यूज़र इंटरफ़ेस) के ज़रिए अनुरोध करता है.
- यह अनुरोध root_agent को मिलता है.
- root_agent, अनुरोध का विश्लेषण करता है और उसे सही सब-एजेंट को भेजता है.
- उप-एजेंट, अनुरोध को प्रोसेस करने और जवाब जनरेट करने के लिए, एलएलएम, नॉलेज बेस, एपीआई, और डेटाबेस का इस्तेमाल करते हैं.
- उप-एजेंट, root_agent को अपने जवाब भेजते हैं.
- root_agent, जवाबों को जोड़कर उपयोगकर्ता को फ़ाइनल आउटपुट देता है.
एलएलएम (लार्ज लैंग्वेज मॉडल)
एजेंट, टेक्स्ट जनरेट करने, सवालों के जवाब देने, और तर्क से जुड़े टास्क पूरे करने के लिए, एलएलएम पर काफ़ी हद तक निर्भर होते हैं. एलएलएम, एजेंट के "दिमाग" होते हैं. इनकी मदद से एजेंट, उपयोगकर्ता के अनुरोधों को समझ पाते हैं और उनके जवाब दे पाते हैं. हम इस ऐप्लिकेशन में Gemini 2.5 का इस्तेमाल कर रहे हैं.
Google Cloud Storage
इस कुकी का इस्तेमाल, रिनोवेशन के लिए जनरेट किए गए प्रस्ताव के दस्तावेज़ों को सेव करने के लिए किया जाता है. आपको एक बकेट बनानी होगी. साथ ही, एजेंट को इसे ऐक्सेस करने के लिए ज़रूरी अनुमतियां देनी होंगी.
Cloud Run (ज़रूरी नहीं)
OrderingAgent, AlloyDB के साथ इंटरफ़ेस करने के लिए Cloud Run फ़ंक्शन का इस्तेमाल करता है. Cloud Run, एचटीटीपी अनुरोधों के जवाब में कोड को लागू करने के लिए, सर्वरलेस एनवायरमेंट उपलब्ध कराता है.
AlloyDB
OrderingAgent का इस्तेमाल करने पर, आपको ऑर्डर की जानकारी सेव करने के लिए AlloyDB डेटाबेस सेट अप करना होगा. हम अगले सेक्शन "डेटाबेस सेटअप" में इसके बारे में ज़्यादा जानकारी देंगे.
.env फ़ाइल
.env फ़ाइल में संवेदनशील जानकारी सेव होती है. जैसे, एपीआई कुंजियां, डेटाबेस क्रेडेंशियल, और बकेट के नाम. इस फ़ाइल को सुरक्षित रखना ज़रूरी है. साथ ही, इसे अपनी रिपॉज़िटरी में सेव न करें. यह एजेंट और आपके Google Cloud प्रोजेक्ट के लिए कॉन्फ़िगरेशन सेटिंग भी सेव करता है. आम तौर पर, root_agent या साथ काम करने वाले फ़ंक्शन, इस फ़ाइल से वैल्यू पढ़ते हैं. पक्का करें कि .env फ़ाइल में सभी ज़रूरी वैरिएबल सही तरीके से सेट किए गए हों. इसमें Cloud Storage बकेट का नाम शामिल है
7. डेटाबेस सेटअप
ऑर्डरिंग एजेंट के इस्तेमाल किए जाने वाले टूल में से एक "check_status" है. इसमें हम AlloyDB orders डेटाबेस को ऐक्सेस करते हैं, ताकि हमें ऑर्डर की स्थिति के बारे में पता चल सके. इस सेक्शन में, हम AlloyDB डेटाबेस क्लस्टर और इंस्टेंस सेट अप करेंगे.
क्लस्टर और इंस्टेंस बनाना
- Cloud Console में AlloyDB पेज पर जाएं. Cloud Console में ज़्यादातर पेजों को आसानी से ढूंढने के लिए, कंसोल के खोज बार का इस्तेमाल करके उन्हें खोजें.
- उस पेज पर जाकर, क्लस्टर बनाएं को चुनें:

- आपको नीचे दी गई इमेज जैसी स्क्रीन दिखेगी. नीचे दी गई वैल्यू का इस्तेमाल करके, क्लस्टर और इंस्टेंस बनाएं. अगर आपको रिपॉज़िटरी से ऐप्लिकेशन कोड क्लोन करना है, तो पक्का करें कि वैल्यू मैच होती हों:
- क्लस्टर आईडी: "
vector-cluster" - password: "
alloydb" - PostgreSQL 15 / सुझाया गया नया वर्शन
- इलाका: "
us-central1" - नेटवर्किंग: "
default"

- डिफ़ॉल्ट नेटवर्क चुनने पर, आपको नीचे दी गई इमेज जैसी स्क्रीन दिखेगी.
कनेक्शन सेट अप करें को चुनें.
- इसके बाद, "अपने-आप असाइन की गई आईपी रेंज का इस्तेमाल करें" को चुनें और जारी रखें पर क्लिक करें. जानकारी देखने के बाद, कनेक्शन बनाएं को चुनें.

- नेटवर्क सेट अप हो जाने के बाद, क्लस्टर बनाना जारी रखा जा सकता है. नीचे दिए गए तरीके से क्लस्टर सेट अप करने के लिए, क्लस्टर बनाएं पर क्लिक करें:

इंस्टेंस आईडी को (यह आपको क्लस्टर / इंस्टेंस को कॉन्फ़िगर करते समय दिखेगा) बदलना न भूलें
vector-instance. अगर इसे बदला नहीं जा सकता, तो आने वाले सभी रेफ़रंस में अपने इंस्टेंस आईडी का इस्तेमाल करना न भूलें.
ध्यान दें कि क्लस्टर बनने में करीब 10 मिनट लगेंगे. प्रोसेस पूरी होने के बाद, आपको एक स्क्रीन दिखेगी. इसमें, आपके बनाए गए क्लस्टर की खास जानकारी दिखेगी.
डेटा डालना
अब स्टोर के बारे में जानकारी देने वाली टेबल जोड़ें. AlloyDB पर जाएं. इसके बाद, प्राइमरी क्लस्टर और फिर AlloyDB Studio चुनें:

आपको इंस्टेंस बनने तक इंतज़ार करना पड़ सकता है. इसके बाद, क्लस्टर बनाते समय बनाए गए क्रेडेंशियल का इस्तेमाल करके, AlloyDB में साइन इन करें. PostgreSQL में पुष्टि करने के लिए, इस डेटा का इस्तेमाल करें:
- उपयोगकर्ता नाम : "
postgres" - डेटाबेस : "
postgres" - पासवर्ड : "
alloydb"
AlloyDB Studio में पुष्टि हो जाने के बाद, SQL कमांड को एडिटर में डाला जाता है. आखिरी विंडो के दाईं ओर मौजूद प्लस आइकॉन का इस्तेमाल करके, एक से ज़्यादा एडिटर विंडो जोड़ी जा सकती हैं.

एडिटर विंडो में, AlloyDB के लिए कमांड डाली जाती हैं. इसके लिए, ज़रूरत के हिसाब से 'चलाएं', 'फ़ॉर्मैट करें', और 'मिटाएं' विकल्पों का इस्तेमाल किया जाता है.
टेबल बनाना
AlloyDB Studio में, नीचे दिए गए डीडीएल स्टेटमेंट का इस्तेमाल करके टेबल बनाई जा सकती है:
-- Table DDL for Procurement Material Order Status
CREATE TABLE material_order_status (
order_id VARCHAR(50) PRIMARY KEY,
material_name VARCHAR(100) NOT NULL,
supplier_name VARCHAR(100) NOT NULL,
order_date DATE NOT NULL,
estimated_delivery_date DATE,
actual_delivery_date DATE,
quantity_ordered INT NOT NULL,
quantity_received INT,
unit_price DECIMAL(10, 2) NOT NULL,
total_amount DECIMAL(12, 2),
order_status VARCHAR(50) NOT NULL, -- e.g., "Ordered", "Shipped", "Delivered", "Cancelled"
delivery_address VARCHAR(255),
contact_person VARCHAR(100),
contact_phone VARCHAR(20),
tracking_number VARCHAR(100),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
quality_check_passed BOOLEAN, -- Indicates if the material passed quality control
quality_check_notes TEXT, -- Notes from the quality control check
priority VARCHAR(20), -- e.g., "High", "Medium", "Low"
project_id VARCHAR(50), -- Link to a specific project
receiver_name VARCHAR(100), -- Name of the person who received the delivery
return_reason TEXT, -- Reason for returning material if applicable
po_number VARCHAR(50) -- Purchase order number
);
रिकॉर्ड डालें
ऊपर दी गई database_script.sql स्क्रिप्ट से insert क्वेरी स्टेटमेंट को कॉपी करके एडिटर में चिपकाएं.
चलाएं पर क्लिक करें.
डेटासेट तैयार हो गया है. अब स्टेटस निकालने के लिए, Java Cloud Run Functions ऐप्लिकेशन बनाते हैं.
ऑर्डर की स्थिति की जानकारी निकालने के लिए, Java में Cloud Run फ़ंक्शन बनाएं
- यहां से Cloud Run फ़ंक्शन बनाएं: https://console.cloud.google.com/run/create?deploymentType=function
- फ़ंक्शन का नाम "check-status" पर सेट करें और रनटाइम के तौर पर "Java 17" चुनें.
- यह एक डेमो ऐप्लिकेशन है. इसलिए, पुष्टि करने की सुविधा को "बिना पुष्टि किए गए अनुरोधों को अनुमति दें" पर सेट किया जा सकता है.
- सोर्स कोड के लिए, रनटाइम के तौर पर Java 17 और Inline Editor चुनें.
- इस समय, प्लेसहोल्डर कोड को एडिटर में लोड किया जाएगा.
प्लेसहोल्डर कोड बदलना
- Java फ़ाइल का नाम बदलकर "ProposalOrdersTool.java" और क्लास का नाम बदलकर "ProposalOrdersTool" करें.
- ProposalOrdersTool.java और pom.xml में मौजूद प्लेसहोल्डर कोड को, इस repo में मौजूद "Cloud Run Function" फ़ोल्डर में मौजूद फ़ाइलों के कोड से बदलें.
- ProposalOrdersTool.java में, कोड की यह लाइन ढूंढें. इसके बाद, प्लेसहोल्डर वैल्यू को अपने कॉन्फ़िगरेशन की वैल्यू से बदलें:
String ALLOYDB_INSTANCE_NAME = "projects/<<YOUR_PROJECT_ID>>/locations/us-central1/clusters/<<YOUR_CLUSTER>>/instances/<<YOUR_INSTANCE>>";
- 'बनाएं' पर क्लिक करें.
- Cloud Run फ़ंक्शन बनाया जाएगा और उसे डिप्लॉय किया जाएगा.
अहम जानकारी:
डेटा डिप्लॉय करने के बाद, Cloud फ़ंक्शन को हमारे AlloyDB डेटाबेस इंस्टेंस को ऐक्सेस करने की अनुमति देने के लिए, हम वीपीसी कनेक्टर बनाएंगे.
डिप्लॉयमेंट के लिए सेट अप करने के बाद, आपको Google Cloud Run Functions कंसोल में फ़ंक्शन दिखने चाहिए. नए बनाए गए फ़ंक्शन (check-status) को खोजें. इसके बाद, उस पर क्लिक करें. फिर, बदलाव करें और नए वर्शन डिप्लॉय करें पर क्लिक करें. यह विकल्प, Cloud Run Functions कंसोल में सबसे ऊपर मौजूद, बदलाव करें आइकॉन (पेन) से पहचाना जाता है. इसके बाद, इनमें बदलाव करें:
- नेटवर्किंग टैब पर जाएं:

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

- VPC कनेक्टर को कोई नाम दें. साथ ही, पक्का करें कि क्षेत्र वही हो जो आपके इंस्टेंस का है. नेटवर्क की वैल्यू को डिफ़ॉल्ट के तौर पर छोड़ दें. साथ ही, सबनेट को कस्टम आईपी रेंज के तौर पर सेट करें. इसके लिए, 10.8.0.0 या इसके जैसा कोई अन्य आईपी रेंज इस्तेमाल करें.
- 'स्केलिंग सेटिंग दिखाएं' को बड़ा करें और पक्का करें कि आपने कॉन्फ़िगरेशन को ठीक इस तरह सेट किया हो:

- बनाएं पर क्लिक करें. अब यह कनेक्टर, डेटा बाहर भेजने की सेटिंग में दिखना चाहिए.
- हाल ही में बनाया गया कनेक्टर चुनें.
- इस वीपीसी कनेक्टर के ज़रिए सभी ट्रैफ़िक को रूट करने का विकल्प चुनें.
- आगे बढ़ें पर क्लिक करें. इसके बाद, लागू करें पर क्लिक करें.
- अपडेट किए गए Cloud Function को डिप्लॉय करने के बाद, आपको जनरेट किया गया एंडपॉइंट दिखेगा.
- इसे टेस्ट करने के लिए, Cloud Run Functions कंसोल में सबसे ऊपर मौजूद TEST बटन पर क्लिक करें. इसके बाद, Cloud Shell टर्मिनल में नतीजे के तौर पर मिली कमांड को लागू करें.
- डिप्लॉय किया गया एंडपॉइंट, वह यूआरएल होता है जिसे आपको .env वैरिएबल
CHECK_ORDER_STATUS_ENDPOINTमें अपडेट करना होता है.
8. मॉडल सेटअप
आपका एजेंट, लार्ज लैंग्वेज मॉडल (एलएलएम) की मदद से, उपयोगकर्ता के अनुरोधों को समझता है और जवाब जनरेट करता है. आपके एजेंट को इस बाहरी एलएलएम सेवा पर सुरक्षित कॉल करने होंगे. इसके लिए, पुष्टि करने वाले क्रेडेंशियल की ज़रूरत होती है. पुष्टि किए बिना, एलएलएम सेवा एजेंट के अनुरोधों को अस्वीकार कर देगी. साथ ही, एजेंट काम नहीं कर पाएगा.
- Google AI Studio से एपीआई पासकोड पाएं.
- अगले चरण में, .env फ़ाइल सेट अप करते समय,
<<your API KEY>>को अपनी एपीआई कुंजी की असल वैल्यू से बदलें.
9. ENV वैरिएबल सेटअप करना
- इस repo में, टेंप्लेट की .env फ़ाइल में मौजूद पैरामीटर के लिए वैल्यू सेट अप करें. मेरे मामले में, .env में ये वैरिएबल हैं:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=<<your API KEY>>
GOOGLE_CLOUD_LOCATION=us-central1 <<or your region>>
GOOGLE_CLOUD_PROJECT=<<your project id>>
PROJECT_ID=<<your project id>>
GOOGLE_CLOUD_REGION=us-central1 <<or your region>>
STORAGE_BUCKET=next-demo-store <<or your storage bucket name>>
CHECK_ORDER_STATUS_ENDPOINT=<<YOUR_ENDPOINT_TO_CLOUD FUNCTION_TO_READ_ORDER_DATA_FROM_ALLOYDB>>
प्लेसहोल्डर को अपनी वैल्यू से बदलें.
10. अपना एजेंट चलाना
- टर्मिनल का इस्तेमाल करके, अपने एजेंट प्रोजेक्ट की पैरंट डायरेक्ट्री पर जाएं:
cd renovation-agent
- सभी डिपेंडेंसी इंस्टॉल करें
pip install -r requirements.txt
- एजेंट को चलाने के लिए, Cloud Shell टर्मिनल में यह कमांड चलाएं:
adk run .
- ADK के वेब यूज़र इंटरफ़ेस (यूआई) में इसे चलाने के लिए, यह कमांड चलाएं:
adk web
- इन प्रॉम्प्ट का इस्तेमाल करके टेस्ट करें:
user>>
Hello. Generate Proposal Document for the kitchen remodel requirement. I have no other specification.
11. नतीजा
@ किचन को नया रूप देने से जुड़े टास्क के लिए मल्टी-एजेंट सिस्टम

12. Agent Engine में डिप्लॉयमेंट
अब आपने मल्टी-एजेंट सिस्टम को ठीक से काम करने के लिए टेस्ट कर लिया है. इसलिए, इसे सर्वरलेस बनाते हैं और क्लाउड पर उपलब्ध कराते हैं, ताकि कोई भी व्यक्ति / ऐप्लिकेशन इसका इस्तेमाल कर सके. नीचे दिए गए कोड स्निपेट को agent.py में अनकमेंट करें. इसके बाद, मल्टी-एजेंट सिस्टम को डिप्लॉय किया जा सकता है:
# Agent Engine Deployment:
# Create a remote app for our multiagent with agent Engine.
# This may take 1-2 minutes to finish.
# Uncomment the below segment when you're ready to deploy.
app = AdkApp(
agent=root_agent,
enable_tracing=True,
)
vertexai.init(
project=PROJECT_ID,
location=GOOGLE_CLOUD_LOCATION,
staging_bucket=STAGING_BUCKET,
)
remote_app = agent_engines.create(
app,
requirements=[
"google-cloud-aiplatform[agent_engines,adk]>=1.88",
"google-adk",
"pysqlite3-binary",
"toolbox-langchain==0.1.0",
"pdfplumber",
"google-cloud-aiplatform",
"cloudpickle==3.1.1",
"pydantic==2.10.6",
"pytest",
"overrides",
"scikit-learn",
"reportlab",
"google-auth",
"google-cloud-storage",
],
)
# Deployment to Agent Engine related code ends
इस agent.py को प्रोजेक्ट फ़ोल्डर में फिर से एक्ज़ीक्यूट करें. इसके लिए, यह कमांड इस्तेमाल करें:
>> cd adk-renovation-agent
>> python agent.py
इस कोड को पूरा होने में कुछ मिनट लगेंगे. इसके बाद, आपको एक ऐसा एंडपॉइंट मिलेगा:
'projects/123456789/locations/us-central1/reasoningEngines/123456'
नीचे दिए गए कोड का इस्तेमाल करके, डिप्लॉय किए गए एजेंट को टेस्ट किया जा सकता है. इसके लिए, " test.py" नाम की एक नई फ़ाइल जोड़ें
import vertexai
from vertexai.preview import reasoning_engines
from vertexai import agent_engines
import os
import warnings
from dotenv import load_dotenv
load_dotenv()
GOOGLE_CLOUD_PROJECT = os.environ["GOOGLE_CLOUD_PROJECT"]
GOOGLE_CLOUD_LOCATION = os.environ["GOOGLE_CLOUD_LOCATION"]
GOOGLE_API_KEY = os.environ["GOOGLE_API_KEY"]
GOOGLE_GENAI_USE_VERTEXAI=os.environ["GOOGLE_GENAI_USE_VERTEXAI"]
AGENT_NAME = "adk_renovation_agent"
MODEL_NAME = "gemini-2.5-pro-preview-03-25"
warnings.filterwarnings("ignore")
PROJECT_ID = GOOGLE_CLOUD_PROJECT
reasoning_engine_id = "<<YOUR_DEPLOYED_ENGINE_ID>>"
vertexai.init(project=PROJECT_ID, location="us-central1")
agent = agent_engines.get(reasoning_engine_id)
print("**********************")
print(agent)
print("**********************")
for event in agent.stream_query(
user_id="test_user",
message="I want you to check order status.",
):
print(event)
ऊपर दिए गए कोड में, प्लेसहोल्डर "<<YOUR_DEPLOYED_ENGINE_ID>>" की वैल्यू बदलें. इसके बाद, "python test.py" कमांड चलाएं. अब आपके पास, एजेंट इंजन की मदद से डिप्लॉय किए गए मल्टी-एजेंट सिस्टम के साथ इंटरैक्ट करने का विकल्प है. यह सिस्टम, आपकी रसोई को नया रूप देने के लिए तैयार है!!!
13. एक लाइन में डिप्लॉय करने के विकल्प
अब जब आपने डिप्लॉय किए गए मल्टी-एजेंट सिस्टम की जांच कर ली है, तो आइए अब उन आसान तरीकों के बारे में जानें जो डिप्लॉयमेंट के उस चरण को ऐब्स्ट्रैक्ट करते हैं जिसे हमने पिछले चरण में किया था: एक लाइन में डिप्लॉयमेंट के विकल्प:
- Cloud Run पर डिप्लॉय करने के लिए:
सिंटैक्स:
adk deploy cloud_run \
--project=<<YOUR_PROJECT_ID>> \
--region=us-central1 \
--service_name=<<YOUR_SERVICE_NAME>> \
--app_name=<<YOUR_APP_NAME>> \
--with_ui \
./<<YOUR_AGENT_PROJECT_NAME>>
इस मामले में:
adk deploy cloud_run \
--project=<<YOUR_PROJECT_ID>> \
--region=us-central1 \
--service_name=renovation-agent \
--app_name=renovation-app \
--with_ui \
./renovation-agent
डप्लॉय किए गए एंडपॉइंट का इस्तेमाल, डाउनस्ट्रीम इंटिग्रेशन के लिए किया जा सकता है.
- To Agent Engine:
सिंटैक्स:
adk deploy agent_engine \
--project <your-project-id> \
--region us-central1 \
--staging_bucket gs://<your-google-cloud-storage-bucket> \
--trace_to_cloud \
path/to/agent/folder
इस मामले में:
adk deploy agent_engine --project <<YOUR_PROJECT_ID>> --region us-central1 --staging_bucket gs://<<YOUR_BUCKET_NAME>> --trace_to_cloud renovation-agent
आपको Google Cloud Console में Agent Engine के यूज़र इंटरफ़ेस (यूआई) में एक नया एजेंट दिखेगा. ज़्यादा जानकारी के लिए, यह ब्लॉग पढ़ें.
14. व्यवस्थित करें
इस पोस्ट में इस्तेमाल की गई संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, यह तरीका अपनाएं:
- Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
15. बधाई हो
बधाई हो! आपने ADK का इस्तेमाल करके, अपना पहला एजेंट बना लिया है और उससे इंटरैक्ट भी कर लिया है!