1. खास जानकारी
इस कोडलैब में, हम कुछ मज़ेदार बनाने जा रहे हैं. कल्पना करें कि एक डिजिटल बाज़ार है, जहां आपका एआई एजेंट सबसे स्मार्ट और हाज़िरजवाब दुकानदार है.
पेश है राजू, आपका नया एआई दुकानदार. वह शानदार डिजिटल कलाकृतियां बेचता है, लेकिन उन्हें पाने के लिए आपको उससे मोलभाव करना होगा!
राजू को हकीकत में बदलने के लिए, हम Gemini 3 (दिमाग), ADK (एजेंट डेवलपमेंट किट - शरीर), और Google Cloud Run (दुकान की जगह) का इस्तेमाल करेंगे.

आपको क्या सीखने को मिलेगा
हम मॉडर्न एजेंटिक ऐप्लिकेशन के लिए पूरा स्टैक बनाएंगे:

- द शॉप (Cloud Run): यह वह जगह है जहां आपका ऐप्लिकेशन इंटरनेट पर मौजूद है.
- द ब्रेन (Gemini 3): यह राजू को जवाब देने में मदद करता है.
- बॉडी (एडीके): यह एक ऐसा फ़्रेमवर्क है जो दिमाग़ को टूल से कनेक्ट करता है.
- इन्वेंट्री (टूल): यह Python कोड है. राजू इसका इस्तेमाल स्टॉक की जानकारी देखने के लिए करता है.
- स्टोरफ़्रंट (यूज़र इंटरफ़ेस): यह वह इंटरफ़ेस है जो आपके खरीदारों को दिखता है.
आपको इनके बारे में जानकारी मिलेगी:
- "Digital Dukaan" (Google Cloud Environment) सेट अप करें.
- राजू को "Hire" करो (Gemini 3 API पासकोड पाओ).
- राजू को मोलभाव करना सिखाओ (सिस्टम के निर्देश और पर्सोना).
- राजू को इन्वेंट्री (एडीके टूल) दो.
- स्टोरफ़्रंट (फ़्रंटएंड यूज़र इंटरफ़ेस) बनाएं.
- कारोबार के लिए उपलब्ध है (Cloud Run पर डिप्लॉय करें).
आपको इन चीज़ों की ज़रूरत पड़ेगी
- Google Cloud प्रोजेक्ट.
- मोलभाव करने के लिए, हाज़िरजवाबी.
- Python की बुनियादी जानकारी.
2. Dukaan (Cloud Project) को सेट अप करना
राजू का कारोबार बनाने से पहले, हमें दुकान की जगह की जानकारी चाहिए. क्लाउड में इसका मतलब है कि आपके पास बिलिंग खाते वाला प्रोजेक्ट होना चाहिए.
पहला चरण: बिलिंग चालू करना

- रिडीम करने के लिंक को गुप्त विंडो में खोलें.
- अपने निजी Gmail खाते से साइन इन करें.
- क्रेडिट ऐक्सेस करें बटन पर क्लिक करें.
- अपने ईमेल पते की पुष्टि करें और बिना किसी शुल्क आज़माने की सुविधा को चालू करने के लिए, शर्तें स्वीकार करें.
दूसरा चरण: प्रोजेक्ट बनाना

- प्रोजेक्ट पेज बनाएं पर जाएं.
- प्रोजेक्ट का कोई यूनीक नाम डालें. जैसे,
raju-shop-agent). - "बिलिंग खाता" ड्रॉप-डाउन में जाकर, अपना बिना शुल्क वाला आज़माने का बिलिंग खाता चुनें.
- बनाएं पर क्लिक करें और प्रोजेक्ट के तैयार होने का इंतज़ार करें.
तीसरा चरण: बिलिंग लिंक की पुष्टि करना

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

पहला विकल्प: Google Cloud Shell (सुझाया गया)
Cloud Shell, ब्राउज़र पर आधारित एक टर्मिनल है. इसमें आपकी ज़रूरत की सभी चीज़ें पहले से इंस्टॉल होती हैं. जैसे, Python, gcloud सीएलआई, और git. इसमें स्थायी स्टोरेज होता है और इसे कहीं से भी ऐक्सेस किया जा सकता है.
1. Cloud Shell चालू करें
Google Cloud Console के हेडर में सबसे ऊपर दाईं ओर मौजूद, 'Cloud Shell चालू करें' आइकॉन (टर्मिनल सिंबल) पर क्लिक करें.

अब Cloud Shell शुरू हो जाएगा. इसमें ये चीज़ें शामिल हैं:
- अनुमति देना: अगर आपसे अनुमति मांगी जाती है, तो अनुमति दें पर क्लिक करें. इससे Cloud Shell को आपकी ओर से Google Cloud API को कॉल करने की अनुमति मिल जाएगी.
- प्रोविज़निंग: Cloud Shell, आपके सेशन के लिए कुछ समय के लिए वर्चुअल मशीन उपलब्ध कराता है.
- कनेक्ट किया जा रहा है: इसके बाद, यह वीएम से कनेक्ट हो जाता है. इस पूरी प्रोसेस में एक या दो मिनट लग सकते हैं.
कमांड प्रॉम्प्ट (user@cloudshell:~ $) दिखने तक इंतज़ार करें.
2. प्रोजेक्ट सेटअप की पुष्टि करना
Cloud Shell, आम तौर पर आपके मौजूदा प्रोजेक्ट को अपने-आप चुन लेता है. सुरक्षित रहने के लिए, इसकी पुष्टि करें:
gcloud config get-value project
अगर यह आपके प्रोजेक्ट आईडी (raju-shop-agent) को वापस नहीं लाता है, तो इसे मैन्युअल तरीके से सेट करें:
gcloud config set project raju-shop-agent
दूसरा विकल्प: लोकल टर्मिनल
अगर आपको अपने लैपटॉप के टर्मिनल (iTerm, PowerShell वगैरह) का इस्तेमाल करना है, तो आपको कुछ और सेटअप करना होगा.
1. ज़रूरी शर्तें पूरी करना
पक्का करें कि आपने ये इंस्टॉल किए हों:
2. gcloud में लॉगिन करना और उसे कॉन्फ़िगर करना
Google Cloud CLI को शुरू करें और अपने खाते में साइन इन करें:
gcloud auth login
अपना प्रोजेक्ट सेट करें. इसके लिए, raju-shop-agent की जगह अपना प्रोजेक्ट आईडी डालें:
gcloud config set project raju-shop-agent
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करें. इससे लोकल टूल, Google Cloud से कम्यूनिकेट कर पाते हैं:
gcloud auth application-default login
खास जानकारी
इस चरण में, आपने डेवलपमेंट एनवायरमेंट (Cloud Shell या लोकल) चुना और उसे कॉन्फ़िगर किया.
इसके बाद, हम Meeting Gemini CLI में तेज़ी से काम करने में हमारी मदद करने वाले टूल के बारे में जानेंगे.
4. पेश है आपका असिस्टेंट (Gemini CLI)
अब मिलें एआई डेवलपमेंट के लिए अपने नए सबसे अच्छे दोस्त से: Gemini CLI!

Gemini CLI एक बेहतरीन कमांड-लाइन इंटरफ़ेस है. इससे आपको ये काम करने में मदद मिलती है:
- वर्कफ़्लो अपने-आप होने की सुविधा: अपने एआई प्रोजेक्ट को बेहतर तरीके से मैनेज करें.
- कोड जनरेट करना: कोड, यूज़र इंटरफ़ेस (यूआई) और यहां तक कि पूरी फ़ाइलें जनरेट करना.
- एक्सटेंशन का इकोसिस्टम: अलग-अलग एक्सटेंशन (जैसे, Cloud Run एक्सटेंशन, जिसका इस्तेमाल हम बाद में करेंगे) की मदद से इसकी क्षमताओं को बढ़ाएं.
1. Gemini CLI इंस्टॉल करना (सिर्फ़ लोकल टर्मिनल के लिए)
अगर लोकल लैपटॉप टर्मिनल का इस्तेमाल किया जा रहा है, तो:
npm install -g @google/gemini-cli
अगर Google Cloud Shell का इस्तेमाल किया जा रहा है, तो:
Gemini CLI, Cloud Shell में पहले से इंस्टॉल होता है. इसलिए, आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है!
2. लॉन्च करें और पुष्टि करें
अपने Cloud Shell (या लोकल टर्मिनल) में नई टर्मिनल विंडो (या टैब) खोलें और Gemini CLI लॉन्च करें:
gemini
पहली बार सेटअप करना: अगर आपने इसे पहली बार चलाया है, तो सीएलआई आपको सेटअप करने की प्रोसेस के बारे में बताएगा.
- पुष्टि करना: यह आपको साइन इन करने के लिए कहेगा. हमारा सुझाव है कि Gemini के मॉडल के लिए उपलब्ध ज़्यादा मुफ़्त कोटे का फ़ायदा पाने के लिए, निजी Gmail खाते का इस्तेमाल करें.
- प्रोजेक्ट का कॉन्टेक्स्ट:
geminiको अपने प्रोजेक्ट फ़ोल्डर से चलाना सबसे सही तरीका है, ताकि यह आपके कोड के कॉन्टेक्स्ट को समझ सके. (हमने अब तक फ़ोल्डर नहीं बनाया है. इसलिए, फ़िलहाल इसे आपकी होम डायरेक्ट्री से चलाया जा सकता है).
3. नमस्ते कहें!
gemini> प्रॉम्प्ट दिखने के बाद, एक टेस्ट करके देखें कि आपका दिमाग़ कनेक्ट है या नहीं:
Hi
आपको मॉडल से दोस्ताना जवाब मिलेगा.
4. ज़रूरी निर्देश
/quit: Gemini CLI से बाहर निकलने और अपने स्टैंडर्ड टर्मिनल पर वापस जाने के लिए, यह टाइप करें./help: उपलब्ध सभी निर्देशों की सूची देखें.
खास जानकारी
इस चरण में, आपने Gemini CLI को इंस्टॉल किया, पुष्टि की, और उसकी पुष्टि की.
इसके बाद, हम एजेंट डेवलपमेंट किट (एडीके) का इस्तेमाल करके, ओपनिंग शॉप (द कोड) में अपनी दुकान का स्ट्रक्चर बनाएंगे.
5. शेल्फ़ में सामान रखना (प्रोजेक्ट सेटअप करना)
हम इसे शुरू से नहीं बनाएंगे (स्मार्ट दुकानदार समय बचाते हैं). हम Agent Development Kit (ADK) का इस्तेमाल करेंगे.
एडीके क्या है?

ADK, "शॉप मैनेजमेंट सिस्टम" होता है. यह एक फ़्लेक्सिबल फ़्रेमवर्क है, जो इन कामों को मैनेज करता है:
- ऑर्केस्ट्रेशन: मुश्किल टास्क मैनेज करना. जैसे, राजू किसी ग्राहक से बात करते समय इन्वेंट्री की जांच कर रहा है.
- स्टेट मैनेजमेंट: इसमें ग्राहक का नाम और पाँच मिनट पहले की गई उसकी क्वेरी को याद रखा जाता है.
- टूलिंग: बाहरी सिस्टम (जैसे, इन्वेंट्री डेटाबेस) से कनेक्ट करना.
हम Agent Starter Pack का इस्तेमाल करके, प्रोडक्शन के लिए तैयार "Dukaan" को तुरंत सेट अप करेंगे. इससे हमें सुरक्षित और बढ़ाने लायक प्लैटफ़ॉर्म मिलता है, ताकि हम बिक्री पर ध्यान दे सकें.
अपने एजेंट को जनरेट करने के लिए, अपने Cloud Shell टर्मिनल या लोकल टर्मिनल में यह कमांड चलाएं:
uvx agent-starter-pack create raju-shop
CLI, आपकी दुकान को कॉन्फ़िगर करने के लिए आपसे कुछ सवाल पूछेगा. नीचे दिए गए विकल्प चुनें (नंबर टाइप करें और Enter दबाएं):
- एजेंट टाइप:
1(adk_base- एक बुनियादी ReAct एजेंट) चुनें. - डिप्लॉयमेंट टारगेट:
2(Cloud Run- बिना सर्वर वाले कंटेनर का एक्ज़ीक्यूशन) चुनें. - सेशन टाइप:
1(In-memory session- आसान और तेज़) चुनें. - CI/CD Runner:
3(Skip- We will deploy manually for now) चुनें.
प्रोसेस पूरी होने तक इंतज़ार करें. इसके बाद, अपनी दुकान की डायरेक्ट्री डालें और डिपेंडेंसी इंस्टॉल करें:
cd raju-shop
make install
source .venv/bin/activate
एजेंट को एक्सप्लोर और कॉन्फ़िगर करना
स्टार्टर पैक सेट अप हो गया है. अब इसके स्ट्रक्चर की समीक्षा करें.
1. फ़ोल्डर का स्ट्रक्चर देखना
अपनी दुकान को व्यवस्थित करने का तरीका देखने के लिए, यह कमांड चलाएं:
tree .
आपको इस तरह का स्ट्रक्चर दिखेगा:
.
├── app
│ ├── __init__.py
│ ├── agent.py
│ ├── app_utils
│ │ ├── telemetry.py
│ │ └── typing.py
│ └── fast_api_app.py
├── Dockerfile
├── GEMINI.md
├── Makefile
├── pyproject.toml
├── README.md
├── tests
│ ├── integration
│ │ ├── test_agent.py
│ │ └── test_server_e2e.py
│ └── unit
│ └── test_dummy.py
└── uv.lock
सबसे ज़रूरी फ़ाइल app/agent.py है. राजू का दिमाग यहीं रहता है!
2. कोड के बारे में जानकारी
Cloud Shell Editor (या लोकल आईडीई) में app/agent.py खोलें और एक नज़र डालें:
root_agent = Agent(...): इससे आपके एआई के बारे में पता चलता है. इसमेंmodel(दिमाग) औरtools(हाथ) हैं.- टूल: आपको
get_weatherजैसे Python फ़ंक्शन दिखेंगे. ये ऐसे टूल हैं जिनका इस्तेमाल एजेंट कर सकता है. app = App(...): इससे आपके एजेंट को वेब सर्वर में रैप किया जाता है, ताकि हम उससे बात कर सकें.
स्थानीय तौर पर टेस्ट करना
अपने Cloud Shell टर्मिनल (या लोकल टर्मिनल) में, एजेंट चलाएं:
adk web
इस कमांड से, पोर्ट 8000 पर एक लोकल वेब सर्वर शुरू होता है.
अगर Cloud Shell का इस्तेमाल किया जा रहा है, तो:
- वेब झलक बटन पर क्लिक करें. यह बटन सबसे ऊपर दाईं ओर मौजूद होता है और आंख जैसा दिखता है.
- पोर्ट बदलें को चुनें.
8000डालें और बदलें और झलक देखें पर क्लिक करें.
अगर लोकल टर्मिनल का इस्तेमाल किया जा रहा है, तो:
- अपना ब्राउज़र खोलें और
http://localhost:8000पर जाएं.
यूज़र इंटरफ़ेस खुलने के बाद:
- "ऐप्लिकेशन" चुनें: सबसे ऊपर बाईं ओर मौजूद ड्रॉप-डाउन में, पक्का करें कि आपने ऐप्लिकेशन नाम का एजेंट चुना हो. अगर
root_agentयाtest_agentदिखते हैं, तो उन्हें अनदेखा करें. - नमस्ते कहें: "नमस्ते!" टाइप करें और देखें कि क्या आपको जवाब मिलता है.
जब काम पूरा हो जाए, तो adk web सर्वर को रोकने के लिए, अपने टर्मिनल में Ctrl+C दबाएं.
खास जानकारी
इस चरण में, आपने अपने प्रोजेक्ट को तैयार किया, उसे Gemini API के लिए कॉन्फ़िगर किया, और अपने पहले एजेंट को स्थानीय तौर पर चलाया!
इसके बाद, हम अपने एजेंट को राजू (पर्सोना) को ट्रेनिंग देना में एक पर्सनैलिटी और नाम देंगे.
6. राजू (द पर्सोना) को ट्रेनिंग देना
फ़िलहाल, एजेंट का जवाब नीरस है. हम उसे एक पर्सनैलिटी देंगे!

हम कोड लिखने के बजाय, Gemini को सिर्फ़ यह बताएँगे कि हमें क्या चाहिए.
1. पर्सोना तय करना
राजू को यह बताने के लिए कि वह कौन है, अपने टर्मिनल में यह कमांड चलाएं:
gemini "In agent.py, update the root_agent instruction. You are Raju, a bargaining shopkeeper in a digital bazaar. You sell: Brass Lamp (50 coins), Silk Scarf (500 coins). Your goal is to sell high and be funny. Speak with an Indian-English flair."
2. कोड की पुष्टि करना
app/agent.py खोलें. आपको दिखेगा कि Gemini ने आपके लिए सिस्टम के निर्देश लिख दिए हैं!
3. स्थानीय तौर पर टेस्ट करें
अब राजू से चैट करें! अपने Cloud Shell टर्मिनल या लोकल टर्मिनल में:
adk web
वेब यूज़र इंटरफ़ेस (वेब प्रीव्यू पोर्ट 8000 या localhost:8000) खोलें. इसके बाद, ऐप्लिकेशन एजेंट चुनें और इन प्रॉम्प्ट को आज़माएं:
- "मुझे पीतल का लैंप चाहिए, लेकिन 50 सिक्के बहुत ज़्यादा हैं!"
- "मेरे दोस्त, तुम क्या बेचते हो?"
देखें कि वह कैसे प्रतिक्रिया देता है! वह मज़ेदार और नाटकीय होना चाहिए, लेकिन उसे बहुत कम कीमत पर बेचने से मना करना चाहिए.
खास जानकारी
इस चरण में, आपने एजेंट के सिस्टम निर्देशों को कस्टमाइज़ करके, "राजू" को बनाया है. राजू, मोलभाव करने वाला दुकानदार है और उसकी एक अलग पहचान है.
इसके बाद, हम राजू को इन्वेंट्री (Adding Tools) में जाकर, अपने स्टॉक की असल जानकारी देखने की सुविधा देंगे.
7. इन्वेंट्री (टूल जोड़ना)
राजू को यह पता होना चाहिए कि उसके पास कौनसे प्रॉडक्ट स्टॉक में हैं. हम उसे एक "डेटाबेस" और उसकी जांच करने के लिए एक टूल देंगे.

1. टूल बनाएं
इन्वेंट्री, टूल बनाने, और उसे राजू से कनेक्ट करने के लिए, यह एक ही निर्देश चलाएं:
gemini "In agent.py, create a dictionary INVENTORY with items: Brass Lamp (price 50, stock 5), Silk Scarf (price 500, stock 2), Taj Mahal (price 2000, stock 0). Then create a tool function check_inventory(item_name) that checks this dict. Finally, update the root_agent to use this tool and remove the default weather tools."
2. Magic की पुष्टि करना
app/agent.py को फिर से खोलें. आपको दिखेगा कि Gemini के पास ये सुविधाएं हैं:
INVENTORYशब्दकोश बनाया गया.check_inventoryPython फ़ंक्शन लिखा गया हो.- एजेंट की परिभाषा में
tools=[...]सूची को अपडेट किया गया.
3. इन्वेंट्री की जांच करना
- सर्वर को फिर से शुरू करें (Ctrl+C दबाएं, फिर
adk webदबाएं). - राजू से पूछें:
- "क्या आपके पास कोई ताजमहल है?" (उसे कहना चाहिए कि नहीं, स्टॉक में मौजूद प्रॉडक्ट की संख्या 0 है).
- "सिल्क स्कार्फ़ की कीमत कितनी है?" (उसे असली कीमत देखनी चाहिए).
खास जानकारी
इस चरण में, आपने check_inventory टूल लागू किया, डिफ़ॉल्ट क्लटर हटाया, और टूल को अपने एजेंट से कनेक्ट किया.
इसके बाद, हम राजू की दुकान लाइव हो गई (बैकएंड डिप्लॉय करना) में राजू को क्लाउड पर लाइव करेंगे.
8. Raju's Shop Goes Live (Deploying the Backend)
अब दुनिया के लिए खुलने का समय आ गया है! हम दुकान का फ़्रंट एंड बनाने से पहले, राजू के दिमाग़ और इन्वेंट्री (आपका एजेंट) को क्लाउड पर डिप्लॉय करेंगे.

अहम जानकारी: टर्मिनल मैनेजमेंट
ऐसा हो सकता है कि आपके मौजूदा टर्मिनल में, पिछले चरण से adk web चल रहा हो.
- अगर आपको स्थानीय तौर पर टेस्टिंग जारी रखनी है, तो इसे चालू रखें.
- इसके बाद, डिप्लॉयमेंट के लिए नई टर्मिनल विंडो/टैब खोलें.
- ध्यान दें:जब भी
agent.pyमें बदलाव किया जाता है, तो बदलावों को लागू करने के लिए, आपको Ctrl+C दबाकर बंद करना होगा और फिर रीस्टार्ट करना होगा!adk web
1. Gemini CLI तैयार करना
अपनी नई टर्मिनल विंडो में:
- देखें कि आप पहले से ही Gemini CLI में हैं या नहीं. इसके लिए,
gemini>प्रॉम्प्ट देखें. - अगर ऐसा है, तो स्टैंडर्ड शेल पर वापस जाने के लिए
/quitटाइप करें. - पक्का करें कि आप प्रोजेक्ट फ़ोल्डर में हों:
cd raju-shop
2. Cloud Run एक्सटेंशन इंस्टॉल करें
अपने Cloud Shell टर्मिनल (या लोकल टर्मिनल) में, Gemini CLI के लिए Cloud Run एक्सटेंशन इंस्टॉल करें:
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
3. Gemini CLI को फिर से लॉन्च करें
नए एक्सटेंशन का इस्तेमाल करने के लिए, Gemini CLI को फिर से लॉन्च करें:
gemini
आपको Gemini CLI का प्रॉम्प्ट दिखेगा.
4. एजेंट को डिप्लॉय करना
Gemini CLI एक्सटेंशन का इस्तेमाल दो तरीकों से किया जा सकता है:
पहला विकल्प: स्लैश कमांड (मैन्युअल) कमांड और फ़्लैग को साफ़ तौर पर टाइप किया जा सकता है:
/deploy --source . --name raju-agent --region us-central1 --allow-unauthenticated
दूसरा विकल्प: सामान्य भाषा (सुझाया गया) यह सबसे आसान और असरदार तरीका है! इसके लिए, Gemini से कहा जा सकता है. Gemini, सही टूल को कॉल करने के लिए MCP सर्वर का इस्तेमाल करेगा.
इस प्रॉम्प्ट को Gemini CLI में चिपकाकर देखें:
Deploy this agent app to cloud run on google cloud using the cloud-run MCP server.
Use project raju-shop-agent in us-central1 region.
Name the service raju-agent.
IMPORTANT: Make sure to allow unauthenticated invocations so my frontend can talk to it.
सीएलआई, cloud-run टूल का इस्तेमाल करने के लिए पुष्टि करने का अनुरोध कर सकता है. अनुमति देने के लिए, Enter दबाएं या y टाइप करें.
जादू होने का इंतज़ार करें: इसमें दो से तीन मिनट लगेंगे. इसके बाद, आपको इस तरह का मैसेज दिखेगा:
✦ I've successfully deployed your agent app to Cloud Run.
Service Details:
* Service Name: raju-agent
* Project: raju-shop-agent
* Region: us-central1
* URL: https://raju-agent-xyz123-uc.a.run.app
* Console: View in Google Cloud Console (...)
5. डिप्लॉयमेंट की पुष्टि करना
डप्लॉयमेंट पूरा होने के बाद, Gemini CLI आपको सेवा का यूआरएल देगा. इस यूआरएल को कॉपी करें.
ब्राउज़र की जांच (क्या यह काम कर रहा है?) यूआरएल को अपने ब्राउज़र में चिपकाएं.
- सफल: आपको FastAPI का दस्तावेज़ (Swagger UI) या सामान्य ADK लैंडिंग पेज दिखेगा. इससे पुष्टि होती है कि आपकी Cloud Run सेवा चल रही है और इसे ऐक्सेस किया जा सकता है.
- काम नहीं कर रहा: अगर आपको "403 Forbidden" मैसेज मिलता है, तो हो सकता है कि आपने डिप्लॉयमेंट प्रॉम्प्ट में "बिना पुष्टि किए गए अनुरोधों" को अनुमति देना भूल गए हों.
अगले चरण में, हम सही फ़्रंटएंड बनाकर, सौदेबाजी के लॉजिक की जांच करेंगे!
खास जानकारी
इस चरण में, आपने Gemini सीएलआई एक्सटेंशन का इस्तेमाल करके, अपने एजेंट के बैकएंड को Google Cloud Run पर डिप्लॉय किया. इससे, इसे सार्वजनिक यूआरएल का इस्तेमाल करके ऐक्सेस किया जा सकता है.
इसके बाद, हम खरीदारों के लिए एक सुंदर स्टोरफ़्रंट बनाएंगे, ताकि वे राजू से बात कर सकें. इसके लिए, स्टोरफ़्रंट (फ़्रंटएंड यूज़र इंटरफ़ेस) बनाना लेख पढ़ें.
9. दुकान को सजाना (फ़्रंटएंड यूज़र इंटरफ़ेस)
टेक्स्ट टर्मिनल बोरिंग होता है. हमें एक आकर्षक दुकान की खिड़की चाहिए!

ADK API कैसे काम करता है
अपनी पसंद के मुताबिक यूज़र इंटरफ़ेस बनाने के लिए, आपको यह समझना होगा कि एजेंट के बैकएंड से कैसे बात की जाती है. यह दो चरणों में काम करता है:
- सेशन शुरू करना: चैट करने से पहले, आपको एक सेशन आईडी बनाना होगा. जैसे, शॉपिंग कार्ट.
POST /apps/app/users/{user_id}/sessions/{session_id}
- मैसेज भेजें: बातचीत करने के लिए, आपको रन एंडपॉइंट पर अपना टेक्स्ट भेजना होगा.
POST /run(पेलोड मेंappName,userId,sessionId, और आपकाtextशामिल है).
- ज़्यादा जानें: ADK Runtime API और Python API के बारे में जानकारी वाले दस्तावेज़ देखें.
हम इस लॉजिक का इस्तेमाल करके, अपना फ़्रंटएंड बनाएंगे.
इस इंटरफ़ेस को बनाने के दो तरीके हैं:
पहला विकल्प: Google Antigravity (सुझाया गया - सिर्फ़ स्थानीय तौर पर उपलब्ध)
अगर लोकल मशीन पर काम किया जा रहा है, तो Google Antigravity का इस्तेमाल करना सबसे अच्छा होता है. यह एआई की मदद से काम करने वाला एक आईडीई है. इसकी मदद से, पूरे यूज़र इंटरफ़ेस (यूआई) को "वाइब कोड" किया जा सकता है.
1. डाउनलोड और इंस्टॉल करें
Google Antigravity के डाउनलोड पेज से, अपने ओएस के लिए इंस्टॉलर डाउनलोड करें और उसे इंस्टॉल करें.
2. अपना Workspace खोलें
Antigravity लॉन्च करें. Workspace के तौर पर, अपना raju-shop फ़ोल्डर खोलें. इससे एआई को आपके पूरे प्रोजेक्ट के बारे में जानकारी मिलती है.
3. Agent Manager की मदद से यूज़र इंटरफ़ेस (यूआई) जनरेट करना
हम कोड को लाइन-दर-लाइन लिखने के बजाय, एआई एजेंट से Agent Manager का इस्तेमाल करके ऐसा करने के लिए कहेंगे.
- Agent Manager का चैट इंटरफ़ेस ढूंढें. यह आम तौर पर दाईं ओर होता है.
- इस प्रॉम्प्ट को चैट में चिपकाएं:
Create a single file HTML chat interface named `index.html`. It should have a colorful header that says 'Raju's Royal Artifacts'. It should look like an Indian market stall with orange and pink colors.
**Backend Integration:**
The chat should send messages to my deployed agent at: <YOUR_DEPLOYED_AGENT_URL>
**API Logic:**
1. **On Load:** Generate a random userId and sessionId. Call `POST /apps/app/users/{userId}/sessions/{sessionId}` to initialize.
2. **On Send:** Call `POST /run` with a JSON payload containing `appName: "app"`, `userId`, `sessionId`, and `newMessage: { role: "user", parts: [{ text: userInput }] }`.
3. **Display:** Show the user's message and the agent's response (from `content.parts[0].text`).
(प्लेसहोल्डर यूआरएल को डिप्लॉयमेंट के चरण में मिले अपने असली सेवा यूआरएल से बदलना न भूलें!)
- एजेंट को आपके लिए कोड लिखते हुए देखें! रीयल-टाइम में फ़ाइल बनते हुए देखने के लिए, एडिटर व्यू पर स्विच करें.
4. अपने स्टोरफ़्रंट की जांच करना
Google Antigravity में, झलक देखने की सुविधाएं पहले से मौजूद होती हैं. अपने स्टोरफ़्रंट की लाइव झलक देखने के लिए, "झलक देखें" बटन (अक्सर यह आंख का आइकॉन होता है) पर क्लिक करें! इसके अलावा, python3 -m http.server 8000 की मदद से इसे स्थानीय तौर पर उपलब्ध कराएं.
दूसरा विकल्प: Gemini CLI (Cloud Shell के साथ काम करता है)
अगर Cloud Shell का इस्तेमाल किया जा रहा है, तो कुछ ही सेकंड में फ़्रंटएंड बनाने के लिए, Gemini CLI का इस्तेमाल किया जा सकता है.
अपने टर्मिनल में यह कमांड चलाएं:
gemini "Create a single file HTML chat interface named index.html. Header: 'Raju\'s Royal Artifacts', Indian market theme (orange/pink). Backend: <YOUR_DEPLOYED_AGENT_URL>. Logic: On load, generate random user/session IDs and POST to /apps/app/users/{uid}/sessions/{sid}. On chat, POST to /run with appName='app', userId, sessionId, and newMessage structure. Parse the JSON response to show the agent text." > index.html
(
को अपने Cloud Run के असली यूआरएल से बदलें!)
खास जानकारी
इस चरण में, आपने Google Antigravity का इस्तेमाल करके, कस्टम एचटीएमएल फ़्रंटएंड को "वाइब कोड" किया है. यह आपके लाइव एजेंट बैकएंड से कनेक्ट होता है.
इसके बाद, हम स्टोरफ़्रंट को वेब पर लाइव करना लेख में, इस स्टोरफ़्रंट को वेब पर होस्ट करने की प्रोसेस पूरी करेंगे.
10. ग्रैंड ओपनिंग (फ़्रंटएंड डिप्लॉय किया जा रहा है)
राजू ऑनलाइन है (बैकएंड), लेकिन उसकी दुकान के लिए सार्वजनिक पता (फ़्रंटएंड) ज़रूरी है! Google Antigravity से, हमारे यूज़र इंटरफ़ेस (यूआई) को क्लाउड पर डिप्लॉय करने के लिए कहें.

1. एजेंट मैनेजर से को डिप्लॉय करने के लिए कहें
हमें आईडीई छोड़ने की ज़रूरत नहीं है. बस, एजेंट मैनेजर से कहें कि वह आपके लिए डिप्लॉयमेंट को मैनेज करे.
इस प्रॉम्प्ट को चैट में चिपकाएं:
"मेरी index.html को Google Cloud Run पर स्टैटिक वेबसाइट के तौर पर डिप्लॉय करो. सेवा को नाम दें raju-shop-frontend. पक्का करें कि यह सबके लिए उपलब्ध हो."
2. जादू देखें
ऐसा हो सकता है कि एजेंट:
- स्टैटिक फ़ाइलें (जैसे, nginx या python का इस्तेमाल करना) दिखाने के लिए,
Dockerfileया कॉन्फ़िगरेशन बनाएं. - कंटेनर इमेज बनाएं.
- आपके लिए
gcloud run deployकमांड चलाता है.
3. अपने स्टोर पर जाएं!
एजेंट के जवाब देने के बाद, आपको एक यूआरएल मिलेगा. जैसे, https://raju-shop-frontend-xyz.run.app) पर क्लिक करें.
बधाई हो! अब आपके पास एआई की मदद से काम करने वाला, पूरी तरह से तैयार किया गया दुकानदार ऐप्लिकेशन है. अपने दोस्तों को इसका लिंक भेजें और देखें कि क्या उन्हें छूट मिलती है!
खास जानकारी
इस चरण में, आपने Antigravity Agent Manager का इस्तेमाल करके, अपने फ़्रंटएंड ऐप्लिकेशन को कंटेनर में बदला और उसे Cloud Run पर डिप्लॉय किया.
अब आपने फ़ुल स्टैक बना लिया है! हम बंद होने का समय (निष्कर्ष) में इस सेशन को खत्म करेंगे.
11. बंद होने का समय (निष्कर्ष)

बधाई हो! आपने 'मोलभाव करने वाला दुकानदार' एजेंट चैलेंज को पूरा कर लिया है! आपने राजू को सिर्फ़ एक आइडिया से लेकर, डिजिटल बाज़ार में पूरी तरह से काम करने वाले और इंटरैक्टिव एआई दुकानदार के तौर पर तैयार किया. आपने एजेंटिक डेवलपमेंट की ताकत को खुद आज़माया है.
आपकी यात्रा का रीकैप:
- Google Cloud: अपना प्रोजेक्ट और बिलिंग खाता सेट अप करें. साथ ही, अपने एजेंट को Cloud Run पर डिप्लॉय करें.
- Gemini 3: यह राजू के व्यक्तित्व और मोलभाव करने के कौशल को बेहतर बनाने में मदद करता है.
- एजेंट डेवलपमेंट किट (एडीके): यह एक ऐसा फ़्रेमवर्क है जो प्रोडक्शन के लिए तैयार फ़ाउंडेशन उपलब्ध कराता है. इसमें पहले से ही ऑब्ज़र्वेबिलिटी (टेलीमेट्री) की सुविधा मौजूद होती है. इससे आपका एजेंट पहले दिन से ही मज़बूत बन जाता है.
- Gemini CLI: यह कमांड-लाइन असिस्टेंट है. इसका इस्तेमाल, तुरंत किए जाने वाले टास्क, टेस्टिंग, और एक्सटेंशन के लिए किया जाता है.
- Google Antigravity: यह अगली पीढ़ी का IDE है. इसमें यूज़र इंटरफ़ेस (यूआई) को ‘वाइब कोडिंग' किया जाता है और डिप्लॉयमेंट को व्यवस्थित किया जाता है.
Digital Dukaan के लिए अगले चरण:
- टूटे हुए टेस्ट ठीक करना: आपने कोड में बदलाव किया है, लेकिन टेस्ट के बारे में क्या? डिफ़ॉल्ट टेस्ट (
tests/unit/test_agent.py) में अब भी मौसम की जानकारी देखी जाती है! उन्हें अपने-आप अपडेट करने के लिए, Gemini CLI का इस्तेमाल करें. इसे आज़माएं:gemini "Update the tests in tests/unit/test_agent.py to test the new check_inventory tool instead of weather." - डाइनैमिक इन्वेंट्री: जब कोई आइटम "बेच दिया जाता है", तब राजू की इन्वेंट्री में मौजूद आइटम की संख्या अपने-आप अपडेट हो जाए. क्या "खरीदारी" पूरी होने के बाद,
INVENTORYडिक्शनरी मेंstockको कम करने के लिए लॉजिक जोड़ा जा सकता है? - पेमेंट गेटवे टूल: मॉक
process_paymentटूल लागू करें. इसके बाद, राजू इस टूल को तब कॉल कर सकता है, जब कोई डील पक्की हो जाए! - Antigravity के बारे में जानें: Antigravity के Agent Manager और Workspaces के बारे में ज़्यादा जानें. क्या एजेंट से, लाइव रसीद दिखाने के लिए
index.htmlको बेहतर बनाने के लिए कहा जा सकता है? - अपनी दुकान शेयर करें: राजू की दुकान अब इंटरनेट पर लाइव है! अपने दोस्तों के साथ फ़्रंटएंड यूआरएल शेयर करें और देखें कि क्या उन्हें आपसे ज़्यादा छूट मिलती है!
संसाधन
12. साफ़-सफ़ाई सेवा
इस कोडलैब में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते पर गैर-ज़रूरी शुल्क लगने से रोकने के लिए, यह तरीका अपनाएं.
1. Cloud Run सेवाओं को अनडिप्लॉय करें (लागत कम करने का विकल्प)
अगर आपको अपने प्रोजेक्ट और अन्य कॉन्फ़िगरेशन को बरकरार रखते हुए, डिप्लॉय की गई सेवाओं से जुड़े संभावित शुल्क को रोकना है, तो Cloud Run सेवाओं को अनडिप्लॉय किया जा सकता है.
अपना Cloud Shell टर्मिनल (या लोकल टर्मिनल) खोलें और यहां दी गई gcloud कमांड चलाएं:
# Undeploy the backend agent
gcloud run services delete raju-agent --region us-central1
# Undeploy the frontend shop (if you deployed it)
gcloud run services delete raju-shop-frontend --region us-central1
2. Google Cloud प्रोजेक्ट मिटाएं (लागत पूरी तरह से रुक जाएगी)
अगर आपको यह पक्का करना है कि आगे कोई खर्च न हो और इस कोडलैब के दौरान बनाए गए सभी संसाधन पूरी तरह से हटा दिए जाएं, तो सबसे अच्छा तरीका यह है कि पूरा Google Cloud प्रोजेक्ट मिटा दिया जाए.
- Google Cloud Console में प्रोजेक्ट पेज पर जाएं.
- अपना प्रोजेक्ट (
raju-shop-agent) चुनें और मिटाएं पर क्लिक करें. - प्रोजेक्ट मिटाने की पुष्टि करने के लिए, निर्देशों का पालन करें.