ADK और Gemini CLI की मदद से, ट्रैवल एजेंट के तौर पर काम करने वाला एक आसान ऐप्लिकेशन बनाना

1. परिचय

9344c1d1a9f221b7.png

पिछले अपडेट की तारीख़: 22-06-2026

ADK की मदद से एक आसान ट्रैवल एजेंट बनाना

ADK Python(*) वर्कशॉप में आपका स्वागत है. Gemini CLI की मदद से, इसमें आपको कई सुविधाएं मिलेंगी!

इस कोडलैब को दो 🏅 माइलस्टोन में बांटा गया है:

  1. सीखने का एक सामान्य और आसान तरीका: सेटअप + तुरंत मिलने वाला फ़ायदा.
  2. एक ऐसा पाथ जिसे अपनी पसंद के मुताबिक़ बनाया जा सकता है. इसमें Gemini CLI की मदद से, किसी क्वेस्ट को पूरा करने का विकल्प चुना जा सकता है

दूसरे हिस्से की वजह से, यह कोडलैब हैकाथॉन के लिए एकदम सही है. साथ ही, सबसे क्रिएटिव समाधानों के लिए इनाम भी दिए जाते हैं!

पहला माइलस्टोन: ADK और Gemini CLI की मदद से अपना पहला एजेंट बनाना

इस माइलस्टोन का मकसद, ADK की मदद से सिलसिलेवार तरीके से एक आसान ट्रैवल एजेंट बनाना है. इसके लिए, सबसे पहले Gemini सीएलआई को सेट अप करना होगा, ताकि यह ADK के साथ कोड लिखने में हमारी मदद कर सके. इससे आपका लोकल शेल, Python ADK के नए वर्शन को चुन पाएगा, कोड और दस्तावेज़ों को समझ पाएगा, और आपके लक्ष्य को पूरा करने के लिए सबसे नया/सबसे अच्छा कोड उपलब्ध करा पाएगा.

यह एक हैंड-गाइडेड पार्ट है. इसमें हम छोटे और आसान चरणों में, पूरी तरह से काम करने वाला ऐप्लिकेशन बनाते हैं. आम तौर पर, इसमें करीब एक घंटा लगता है. इसमें इंस्टॉल करने में लगने वाला समय भी शामिल है.

दूसरा माइलस्टोन: अपने एजेंट को बेहतर बनाना

इसके बाद, हम आपको ऐप्लिकेशन को अपनी पसंद के मुताबिक बनाने के लिए, कई विकल्प (अलग-अलग कठिनाई के) देते हैं. इससे आपको यूज़र इंटरफ़ेस (यूआई), ऑपरेशन, एजेंट के साथ होने वाले मुश्किल इंटरैक्शन वगैरह जैसे अलग-अलग पहलुओं को एक्सप्लोर करने में मदद मिलती है

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

इस कोडलैब में, ADK और Gemini CLI का इस्तेमाल करके, ट्रैवल एजेंट ऐप्लिकेशन बनाया जाएगा. आपका ऐप्लिकेशन:

  • Airbnb एमसीपी के ज़रिए Airbnb के एपीआई से कनेक्ट करें.
  • अप-टू-डेट जानकारी (मौसम, तारीखें वगैरह) के लिए ऑनलाइन खोज करना
  • कस्टम टूल इस्तेमाल करना.
  • NanoBanana का इस्तेमाल करके, अपार्टमेंट/कमरों की इमेज जनरेट करें.

Gemini CLI आपको इन सभी कामों में मदद करेगा: कोड लिखना/उसकी समीक्षा करना और ADK रिपॉज़िटरी के लोकल मिरर में नए दस्तावेज़ ढूंढना (Python या आपकी पसंदीदा भाषा में).

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

  • ADK की मदद से ऐप्लिकेशन बनाने का तरीका
  • लोकल दस्तावेज़ों के आधार पर ऐप्लिकेशन कोड करने के लिए, Gemini CLI का इस्तेमाल करने का तरीक़ा!
  • रीयल-टाइम में बाहरी डेटा सोर्स से कनेक्ट करने के लिए, एमसीपी सर्वर से इंटरैक्ट करने का तरीका. जैसे:

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

  • एक ऐसा कंप्यूटर जिस पर पैकेज इंस्टॉल किए जा सकते हैं (जैसे, npm install .. )
  • Python, TypeScript, Go, Java में से किसी एक भाषा में कोडिंग करने की बुनियादी जानकारी.
  • हमारा सुझाव है कि आप किसी आईडीई (Antigravity, vscode, IntelliJ, vim) का इस्तेमाल करें.

ADK और Gemini CLI का इस्तेमाल क्यों करें?

आपमें से कुछ लोगों के मन में यह सवाल हो सकता है: मुझे Gemini CLI जैसे लोकल एजेंटिक कोड हेल्पर के साथ, ADK (एजेंट बिल्डर SDK) का इस्तेमाल करने की क्या ज़रूरत है? इसकी वजह यह है कि दोनों टूल बेहद असरदार हैं. हालांकि, इनका इंटरैक्शन आसान नहीं है. कई लोगों ने दोनों को एक साथ इस्तेमाल करने की कोशिश की और वे नाकाम रहे. ज़्यादातर मामलों में, ऐसा "लूप में लूप" की समस्याओं की वजह से हुआ. इस कोडलैब में, दोनों को एक साथ इस्तेमाल करने के तरीके के बारे में कुछ सलाह दी गई हैं.

2. सेट अप करना

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

अपनी रफ़्तार से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन-इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

295004821bab6a87.png37d264871000675d.png96d86d3d5655cdbe.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह वर्णों की एक स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. आपके पास इसे किसी भी समय अपडेट करने का विकल्प होता है.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको इस बात की चिंता करने की ज़रूरत नहीं होती कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर, PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो कोई दूसरा आईडी जनरेट किया जा सकता है. इसके अलावा, अपनी पसंद का कोई हैंडल आज़माकर देखें कि वह उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट के खत्म होने तक लागू रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. कुछ एपीआई इसका इस्तेमाल करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ पढ़ें.
  1. इसके बाद, आपको Cloud के संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब को पूरा करने में आपको ज़्यादा खर्च नहीं करना पड़ेगा. इस ट्यूटोरियल के बाद, बिलिंग से बचने के लिए संसाधनों को बंद किया जा सकता है. इसके लिए, बनाए गए संसाधनों या प्रोजेक्ट को मिटाया जा सकता है. Google Cloud के नए उपयोगकर्ताओं को, मुफ़्त में आज़माने के लिए 300 डॉलर का क्रेडिट मिलेगा.

Cloud Shell शुरू करना

Google Cloud को आपके लैपटॉप से रिमोटली ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में आपको Google Cloud Shell का इस्तेमाल करना होगा. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Google Cloud Console में जाकर, सबसे ऊपर दाईं ओर मौजूद टूलबार में Cloud Shell आइकॉन पर क्लिक करें:

Cloud Shell चालू करें

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

Google Cloud Shell टर्मिनल का स्क्रीनशॉट, जिसमें दिख रहा है कि एनवायरमेंट कनेक्ट हो गया है

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, यह Google Cloud पर चलता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब का सारा काम ब्राउज़र में किया जा सकता है. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.

3. ज़रूरी शर्तें (इंस्टॉल करना)

इस ट्यूटोरियल के लिए, आपको ये इंस्टॉल करने होंगे:

1. Python और uv

python और uv (Python के लिए पैकेज मैनेजर). एडीके के लिए यह ज़रूरी है. पक्का करें कि आपने uv इंस्टॉल किया हो:

$ curl -LsSf https://astral.sh/uv/install.sh | sh

uv क्यों? अपनी पसंद का कोई भी Python मैनेजर इस्तेमाल किया जा सकता है. हालांकि, uv का इस्तेमाल करने से यह पक्का होगा कि Python के लिए ENV/PATH सेटअप, आपके और Gemini CLI के लिए एक जैसा हो. इससे आपको Gemini CLI जैसा ही शेल अनुभव मिलेगा. उदाहरण के लिए, अगर virtualenv का इस्तेमाल किया जाता है, तो Gemini CLI को आपके एनवायरमेंट की नकल करने के लिए, "source .env/venv/bin/activate && my-original-command" जैसी चीज़ें करने के लिए मजबूर होना पड़ेगा.

2. Gemini CLI

Gemini सीएलआई के लिए, इंस्टॉल करने के निर्देश यहां देखें: https://github.com/google-gemini/gemini-cli .

# Note: This requires having npm or npx installed.
npm install -g @google/gemini-cli
  1. आधिकारिक दस्तावेज़ों के मुताबिक, Mac पर brew का इस्तेमाल किया जा सकता है.
  2. Windows पर, chocolatey का इस्तेमाल किया जा सकता है या https://nodejs.org/en/download से एक्ज़ीक्यूटेबल फ़ाइल डाउनलोड की जा सकती है

चौथे चरण के लिए, आपको npx भी इंस्टॉल करना होगा. npm और npx, दोनों ही Gemini CLI के साथ उपलब्ध होने चाहिए. अगर ऐसा नहीं है, तो Gemini CLI से मदद लें.

efade99623113f1.png

पुष्टि करना

आपके पास Vertex AI की सुविधा वाला Google Cloud प्रोजेक्ट या Google AI Studio का एपीआई पासकोड होना चाहिए.

पहला विकल्प (वर्कशॉप के लिए सुझाया गया): अपनी एपीआई कुंजी एक्सपोर्ट करें:

export GOOGLE_API_KEY="your-api-key"

दूसरा विकल्प (Vertex AI): gcloud की मदद से पुष्टि करें:

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
export GOOGLE_GENAI_USE_VERTEXAI=true
gcloud auth application-default login

अपना वर्क एनवायरमेंट सेट अप करना

आपको mysolution/ में अपना समाधान बनाना है. इसलिए, चलिए फ़ोल्डर और दो ज़रूरी फ़ाइलें बनाते हैं.

अब अपना IDE (Visual Studio Code, IntelliJ, RubyMine, ..) और फ़ोल्डर खोलें.

# 1. Find an empty directory, and download this repo.
git clone https://github.com/palladius/adk-gemini-cli-workshop
cd adk-gemini-cli-workshop/

# 2. Create your solution empty skeleton
mkdir -p mysolution/
touch mysolution/__init__.py mysolution/agent.py

# 3. This installs ADK and MCP via `uv` by reading pyproject.toml
uv init
uv sync

# 4. Call Gemini CLI
gemini  # This runs Gemini CLI under the adk-gemini-cli-workshop/ folder.
# Login with your GMail account.

uv sync ज़रूरी नहीं है. हालांकि, अगर यह काम नहीं करता है, तो आपको Python या uv इंस्टॉलेशन को ठीक करना होगा. इससे adk और अन्य काम की स्क्रिप्ट, ./.venv/bin/ फ़ोल्डर में इंस्टॉल हो जाएंगी.

अपने सेटअप की जांच करने के लिए, make test-step1 को चलाएं और देखें कि आपको 403 PERMISSION DENIED. न मिले

उपलब्ध समाधान

कोड, 📂 steps/ में मौजूद है. आपके पास वहां से कोड कॉपी करने का विकल्प है.

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

  1. सॉफ़्टवेयर इंस्टॉल करना
  2. कॉन्फ़िगर करने / काम करने लायक बनाने, और
  3. एक सही फ़ीडबैक लूप में शामिल होना

हम चाहते हैं कि आप यहां यही सीखें. $ make web-4steps की मदद से, सभी थंबनेल एक साथ भी टेस्ट किए जा सकते हैं!

4. पहला चरण: बेसिक एजेंट

abfef47ab2ff0c98.png

आइए, सबसे पहले एक ऐसा एजेंट बनाएं जो बातचीत कर सके.

mysolution/__init__.py नाम की फ़ाइल में बदलाव करें. इसके लिए, यहां दिया गया कॉन्टेंट जोड़ें:

from .agent import root_agent

बस इतना ही! इससे ADK को पता चलता है कि आपका कोड कहां है: agent.py में.

mysolution/agent.py नाम की फ़ाइल में बदलाव करें. इसके लिए, यहां दिया गया कॉन्टेंट जोड़ें:

from google.adk.agents import Agent

root_agent = Agent(
    name="travel_basic",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant." +
    "You can help with general travel advice based on your knowledge.",
)

एजेंट की टेस्टिंग करना

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

  • CLI, फटाफट और ऑटोमेटेड टेस्ट के लिए सबसे सही है
  • वेब, विज़ुअल तौर पर यह देखने के लिए सबसे अच्छा है कि क्या हो रहा है. साथ ही, माइक्रोफ़ोन (!) का इस्तेमाल करने और समस्या हल करने के लिए भी यह सबसे अच्छा है.

सलाह: इस एक्सरसाइज़ के लिए, यूनिट टेस्टिंग को छोड़कर कोई भी काम करने के लिए, वेब का इस्तेमाल करें. यह वाकई शानदार है! सीएलआई का इस्तेमाल सिर्फ़ ऑटोमेटेड टेस्टिंग के लिए करें.

एक अच्छा प्रॉम्प्ट, जो पहले, दूसरे, तीसरे, और चौथे चरण को सही तरीके से टेस्ट करता है, वह यह हो सकता है (स्मार्ट "लिटमस प्रॉम्प्ट"):

नमस्ते, मुझे कल शाम के लिए पेरिस में एक होटल बुक करना है. मुझे पेरिस के सिटी सेंटर में एक रात के लिए कमरा चाहिए. यह होटल, ग्यार दे लायन के पास होना चाहिए. बजट: हर रात के लिए 200 यूरो से कम.

  1. मुझे बताओ कि कल कौनसी तारीख़ (YYYYMMDD) और हफ़्ते का कौनसा दिन है.
  2. मुझे बताएं कि आपको कल के लिए कौनसे होटल दिख रहे हैं. कम से कम तीन होटलों के नाम बताएं. मुझे यह जानकारी देखनी है: > किराया, पता, कुछ रेटिंग (XX/YY के फ़ॉर्मैट में, जैसे कि "4.7/5" - Google पर होटल, Booking या Airbnb से), समीक्षाओं की संख्या. मुझे यह जानकारी टेबल के फ़ॉर्मैट में दो. होटल का नाम, होटल के किसी यूआरएल से लिंक होना चाहिए. हालांकि, यूआरएल कॉलम जोड़ने की ज़रूरत नहीं है. पक्का करें कि लिंक सही हो. इसका मतलब है कि वह काम करता हो और पेज पर होटल की जानकारी मौजूद हो!

यह एक स्मार्ट प्रॉम्प्ट है, क्योंकि यह समय और होटलों की जांच करता है. साथ ही, पहले, दूसरे, और तीसरे चरण में अलग-अलग तरह से फ़ेल हो जाएगा. इसे सिर्फ़ चौथे चरण में पूरी तरह से सफल होना चाहिए. आप चाहें, तो अपनी पसंद का कोई भी प्रॉम्प्ट इस्तेमाल करें!

इसे bash (सीएलआई) से चलाएं:

# 1. If ADK was installed:
adk run mysolution/
# ... but if you get: -bash: adk: command not found"
# 2. Call ADK cli script through UV to avoid python install nightmares.
uv run adk run mysolution/

ऊपर दिए गए "लिटमस प्रॉम्प्ट" का इस्तेमाल करके देखें.

ऐसा हो सकता है कि यह किसी खास तारीख की जानकारी न दे पाए. हमें इसे तारीख के बारे में बताना होगा!

वेब के लिए, यह तरीका अपनाएं:

  1. uv run adk web . : इससे इस फ़ोल्डर में मौजूद सभी एजेंट चालू हो जाते हैं. आपको इसे "mysolution/" सब-फ़ोल्डर पर ले जाना है
  2. सबसे ऊपर दाईं ओर मौजूद, mysolution/ को चुनें (यहां दी गई इमेज देखें)
  3. टेक्स्ट या माइक्रोफ़ोन का इस्तेमाल करके, "लिटमस प्रॉम्प्ट" जैसा कोई सवाल पूछें.

ADK के वेब यूज़र इंटरफ़ेस (यूआई) में, ट्रैवल एजेंट के नतीजे दिख रहे हैं

ध्यान दें कि आपको सीएलआई वर्शन के हिसाब से, ऊपर दिए गए फ़ोल्डर से adk web को कॉल करना होगा.

पीला रोबोट - तारीख और होटल के सुझावों के साथ पहले चरण का नतीजा

यहां एक संभावित समाधान दिया गया है. इसमें तारीख के बारे में आधी-अधूरी जानकारी दी गई है. ध्यान दें कि पांच में से तीन बुकिंग लिंक काम कर रहे हैं! सही है.

5. दूसरा चरण: now() टूल जोड़ना

Cloud Shell एडिटर में, agent.py में now() टूल का इस्तेमाल दिखाया गया है

इस फ़ंक्शन को agent.py में, root_agent की परिभाषा से ठीक पहले जोड़ें:

from datetime import datetime

def now() -> dict:
    """Returns the current date and time."""
    my_datetime = ... # Ask Gemini CLI to help you!
    return {
        "status": "success",
        "current_time": my_datetime
    }

एजेंट की परिभाषा को अपडेट करें, ताकि उसमें टूल शामिल किया जा सके:

  # file XXX.py

  root_agent = Agent(
        name="..",
        model="..",
        instruction="..",
        tools=[now] # <== This is the only line you want to add.
    )

इसे फिर से चलाएं और वही सवाल पूछें. अब इसे तारीख पता होनी चाहिए (अच्छी बात है) और होटलों के बारे में साफ़ तौर पर जानकारी नहीं होनी चाहिए (बुरी बात है)!

इसे इस तरह से भी टेस्ट किया जा सकता है:

# Let's pretend we're in Milan. This should call the tool
# and respond correctly (possibly with some TZ math issues)
echo "What time is it in Milan?" | uv run adk run mysolution/

6. तीसरा चरण: अब पढ़ाई पर ध्यान दें: google_search

google_search. इससे हमारे एजेंट को वेब से रीयल-टाइम में जानकारी ऐक्सेस करने की अनुमति मिलती है.

3cd72c019b8b225f.png

आपका टास्क, दूसरे चरण में बनाए गए एजेंट में बदलाव करना है. now टूल का इस्तेमाल करने के बजाय, ADK लाइब्रेरी से google_search टूल को इंपोर्ट करके इस्तेमाल किया जाएगा.

# Full Code: `steps/step03_search/agent.py`
# Remember to REMOVE the now() tool here. See above why.
from google.adk.agents import Agent
from google.adk.tools import google_search

root_agent = Agent(
    name="travel_agent",
    model="gemini-2.5-flash",
    tools=[google_search],
    instruction="""You are a travel agent.
Your job is to help the user plan a trip.
You have access to a search engine.
If you don't know the answer, you can use the search engine.
When you are done, reply with "DONE".""",
)

कैसे चलाएं

पहले चरण की तरह ही.

सिर्फ़ विशेषज्ञ. ज़्यादा ऐडवांस इंटिग्रेशन (google_search और now को एक साथ इस्तेमाल करना) के लिए, steps/step03b_search_and_tool/agent.py में मौजूद कोड देखें और उसे make run-step3b के साथ चलाएं. यह ज़रूरी नहीं है.

7. चौथा चरण: ज़्यादा बेहतर टूल: एमसीपी

ADK का लोगो

अब हमने कस्टम और पहले से मौजूद टूल, दोनों के बारे में जान लिया है. चलिए, अब कुछ और बेहतर टूल के बारे में जानते हैं: मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) का इस्तेमाल करके, मॉडल-ऐज़-अ-टूल पैटर्न.

इस चरण में एमसीपी की बेहतरीन सुविधाओं पर फ़ोकस बनाए रखने के लिए, हम अपने पिछले टूल (google_search) को एक बार फिर से बदलेंगे. हम अपने आसान now टूल को फिर से लॉन्च करेंगे, ताकि इसे airbnb_mcp टूल के साथ इस्तेमाल किया जा सके. इससे पता चलता है कि कोई एजेंट, मुश्किल टास्क पूरे करने के लिए, साथ काम करने वाले कई टूल (इस मामले में, FunctionTool और MCPToolset) का इस्तेमाल कैसे कर सकता है.

# Full Code: steps/step04_mcp/agent.py
# ... Imports as before
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

def now() -> dict:
    # ... as before

# Configure the Airbnb MCP Toolset
airbnb_mcp = MCPToolset(
    connection_params=StdioConnectionParams(
        server_params=StdioServerParameters(
            command='npx',
            args=["-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"],
        ),
    )
)

root_agent = Agent(
    name="travel_mcp",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant. You can find accommodation using Airbnb, and have access to the current time.",
    tools=[now, airbnb_mcp],
)

कैसे चलाएं

इस चरण को पूरा करने के लिए, आपके सिस्टम पर npx इंस्टॉल होना ज़रूरी है. बाकी के लिए, यह ऊपर बताए गए तरीके जैसा ही है.

चेतावनियां/ गड़बड़ियां

  1. अगर आपको robots.txt पाबंदी से जुड़ी गड़बड़ी का मैसेज मिलता है, तो एमसीपी को 'रोबोट डायरेक्टिव को अनदेखा करें' के साथ पैच किया जा सकता है. ज़्यादा जानकारी के लिए, दस्तावेज़ पढ़ें: https://github.com/openbnb-org/mcp-server-airbnb
  2. अगर आपको timeout गड़बड़ी मिलती है (Airbnb को जवाब पाने के लिए पांच सेकंड बहुत कम हैं), तो ADK दस्तावेज़ देखें. इसमें टाइम आउट को बढ़ाने का तरीका बताया गया है. जैसे, 30 सेकंड तक. इसके अलावा, Gemini CLI का इस्तेमाल करके भी ऐसा किया जा सकता है! ध्यान दें कि 3 दिसंबर 2025 को Cloud Shell ने मुझे टाइम आउट की गड़बड़ी दी. मैंने टाइम आउट की गड़बड़ी को ठीक किया, लेकिन फिर भी मुझे गड़बड़ियां मिलती रहीं. इसके बाद, मैंने इसे पिछले वर्शन पर वापस लाया: args=["-y", "@openbnb/mcp-server-airbnb@0.1.2", "--ignore-robots-txt"].

8. 🏅 पहला माइलस्टोन पूरा हुआ!

बधाई हो! 🏅 अब आप एआई डेवलपमेंट किट के विशेषज्ञ बन गए हैं! आपने वर्कशॉप का पहला हिस्सा पूरा कर लिया है. साथ ही, कस्टम टूल, पहले से मौजूद टूल, और ऐडवांस एमसीपी टूल की मदद से एआई एजेंट बना लिए हैं और उनकी जांच कर ली है. अब आप Google Agent Development Kit की मदद से, अपने शानदार एजेंट बनाने के लिए तैयार हैं!

अब आपके पास एक ऐसा ट्रैवल एजेंट है जो समय बता सकता है और वेब पर खोज कर सकता है. अब आपके लिए कुछ भी नामुमकिन नहीं है!

अब "Gemini CLI" की मदद से, एक और सुविधा जोड़ने का समय आ गया है.

9. 🏅 दूसरा माइलस्टोन: Gemini CLI के ज़रिए ADK का इस्तेमाल करके वाइब कोडिंग करना

अब हम वर्कशॉप के दिलचस्प हिस्से पर आते हैं.

  1. पक्का करें कि आपने कोड को किसी सुरक्षित जगह पर git commit किया हो. ओरिजनल कोड को फ़ोर्क किया जा सकता है या कोई ब्रांच बनाई जा सकती है: चिंता न करें, Gemini CLI इसमें आपकी मदद कर सकता है!
  2. लागू करने के लिए कोई 💡 आइडिया ढूंढें. नीचे दिए गए आइडिया देखें, खुद कोई आइडिया ढूंढें या Gemini से rag/ में मौजूद दस्तावेज़ देखने और कुछ स्मार्ट आइडिया देने के लिए कहें.
  3. ज़रूरी शर्तें पूरी करें, ताकि Gemini, ADK के दस्तावेज़ पढ़ सके. इसके बाद, Gemini का इस्तेमाल किया जा सकता है!

💡 आइडिया

  1. 🟢 [आसान] क्या आपको कई भाषाएं आती हैं? क्या आपको go, java या TypeScript देना है? मौजूदा कोड को रीफ़ैक्टर करना बहुत आसान है! बस सही ADK डाउनलोड करें और Gemini CLI से अनुवाद करने के लिए कहें!
  2. 🟢 [आसान] इमोजी जोड़ें या अपनी पसंद का कोई आउटपुट फ़ॉर्मैट तय करें. उदाहरण के लिए, होटल के इमोजी वाली टेबल, उसके बाद कीमत, और फिर 1 से 5 स्टार वाले इमोजी. आधे स्टार के लिए 🌕🌕🌕🌗🌑 का इस्तेमाल करें!).
  3. 🟢 [आसान] प्रॉम्प्ट में बदलाव करके, उसे उन चीज़ों के बारे में बताएं जो आपको खास तौर पर चाहिए या नहीं चाहिए. जैसे, पालतू जानवरों के लिए सही, ग्राउंड फ़्लोर पर न हो, शांत हो, बस, मेट्रो वगैरह के पास हो, .. और इसे टेस्ट करें. ऊपर दी गई जानकारी के आधार पर, "YOUR_NAME की ओर से 1 से 10 तक की रेटिंग" जैसी कोई निजी रेटिंग जोड़ें. इसके बाद, उस रेटिंग के हिसाब से क्रम में लगाएं.
  4. 🟢 [आसान] क्या रूम में कोई ऑपरेटर है? Cloud Run पर डिप्लॉय करें! या Vertex AI Agent Engine पर! क्या आपको पता है कि इस एजेंट को इंटिग्रेट किया जा सकता है और इसे सीधे नए Gemini Enterprise से कॉल किया जा सकता है?
  5. 🟢 [आसान] adk run को 🍌 NanoBanana MCP के साथ इंटिग्रेट करें. इसके लिए, Gemini API पासकोड ज़रूरी है. यहां इमेज बनाई जा सकेंगी, लेकिन उन्हें विज़ुअलाइज़ नहीं किया जा सकेगा. ज़्यादा मुश्किल वैरिएंट के लिए यहां देखें.
  6. 🟡 [मीडियम] एक सब-एजेंट बनाएं, जो HotelSearch करे. साथ ही, एक BudgetAgent या LocationAgent बनाएं, जो आपकी जगह की जानकारी के हिसाब से होटलों की जानकारी को बेहतर बना सके और उन्हें दोहरा सके. उदाहरण के लिए, "LOCATION से X कि॰मी॰ से ज़्यादा दूर नहीं". अगर एपीआई इसकी अनुमति नहीं देता है, तो हो सकता है कि Google Search की मदद से कुछ जानकारी इधर-उधर हो जाए. ध्यान दें: Gemini CLI आपकी मदद कर सकता है.
  7. 🟡 [मीडियम] एक AirbnbReviewAgent लागू करें, जो समीक्षाओं को पढ़े और कुछ कलर-कोडेड बुलेट पॉइंट में अच्छी और खराब बातों की खास जानकारी दे. यह जानकारी, खोज के नतीजे में मिले एक या उससे ज़्यादा होटलों के लिए होनी चाहिए. आपके पास पहले से ही दो टूल (Google Search और MCP Airbnb) हैं. इसके बाद, आपको इन्हें मुख्य एजेंट से कनेक्ट करना होगा. साथ ही, हो सकता है कि आपको इनके बीच कम्यूनिकेशन के लिए कोई प्रोटोकॉल बनाना पड़े.
  8. 🟡 [medium] A2A के साथ इंटिग्रेट करें. इसे एटूए एजेंट बनाएं! फिर से, Gemini CLI से मदद मांगें!
  9. 🔴 [complex] Flights या एमसीपी की अन्य सुविधाओं के साथ इंटिग्रेट करके, कई तरह की सुविधाओं वाला ट्रैवल एजेंट बनाया जा सकता है.
  10. 🔴 [complex] Integrate ADK web with 🍌 NanoBanana MCP. यह ऊपर दिए गए तरीके से ज़्यादा मुश्किल है. इससे जुड़ी कुछ सलाह पाने के लिए, https://github.com/palladius/ai-friendly-agents/issues/11 पर जाएं . लेखक को Gemini CLI और Gemini3 के साथ तीन घंटे तक काम करना पड़ा. साथ ही, हम दोनों को rag/ से दस्तावेज़/कोड पढ़ने पड़े!

क्या आपको और आइडिया चाहिए?

  1. कुछ आइडिया पाने के लिए, एडीके का आधिकारिक ट्यूटोरियल देखें.
  2. Gemini CLI से rag/ में मौजूद दस्तावेज़ों को देखकर आइडिया ढूंढने के लिए कहें: इसके लिए, यह प्रॉम्प्ट दिया जा सकता है: Is there a feature in here which seems very succulent to you? Give me 3 proposals and let's implement together the one I choose.

एडीके "आरएजी" के लिए ज़रूरी शर्तें

किसी फ़ंक्शन को वाइब कोड करने के लिए, हमारा सुझाव है कि आप पूरा ADK python ADK डाउनलोड करें. ध्यान दें: इसे आपकी पसंदीदा भाषा, जैसे कि Java या Go में आसानी से बदला जा सकता है!

कोड, ./rag के तहत उपलब्ध है. इसे ./download-adk.sh की मदद से डाउनलोड किया जा सकता है.

rag फ़ोल्डर आपकी .gitignore फ़ाइल में मौजूद है. इसलिए, पक्का करें कि आपके .gemini/settings.json में ये चीज़ें शामिल हों:

{
 "context": {
   "includeDirectories": ["rag"]
 }
}

क्यों? हम चाहते हैं कि Gemini उन फ़ाइलों को पढ़ सके, जबकि वे git-ignore में सुरक्षित तरीके से सेव हों. तकनीकी तौर पर, context.fileFiltering.respectGitIgnore को false पर सेट करके, सभी .gitignore फ़ाइलों को भी दिखाया जा सकता है. हालांकि, इससे बहुत सारी node_modules/ और __pycache__/ फ़ाइलें खुल जाती हैं. इसलिए, फ़ोल्डर को साफ़ तौर पर शामिल करना बेहतर विकल्प है.

10. अगले चरण

Curiosity: इस वर्कशॉप को Gemini CLI की मदद से बनाया गया है. अगर आपको जानना है कि मैंने यह कैसे किया, तो इस फ़ोल्डर में मौजूद GEMINI.md और WORKSHOP_PLAN.md देखें.

सीख

हमने Gemini CLI के साथ ADK को जोड़ने का तरीका सीख लिया है

आपकी मदद के लिए लेख

6d05afb6b8b235d8.png