1. परिचय

पिछले अपडेट की तारीख: 22-06-2026
ADK की मदद से एक आसान ट्रैवल एजेंट बनाना
ADK Python(*) की इस वर्कशॉप में आपका स्वागत है. इसमें Gemini CLI की मदद से, कई सुविधाएं शामिल की गई हैं!
इस कोडलैब को दो 🏅 माइलस्टोन में बांटा गया है:
- सीखने का एक सामान्य और आसान तरीका: सेटअप करना + तुरंत संतुष्टि पाना.
- आपकी दिलचस्पी के हिसाब से तैयार किया गया पाथ, जिसमें Gemini CLI की मदद से किसी क्वेस्ट को हल करने का विकल्प मिलता है
दूसरा हिस्सा, इस कोडलैब को हैकथॉन के लिए बेहतरीन बनाता है. साथ ही, सबसे क्रिएटिव समाधानों के लिए इनाम भी मिलते हैं!
पहला माइलस्टोन: ADK और Gemini CLI की मदद से अपना पहला एजेंट बनाना
इस माइलस्टोन का मकसद, ADK की मदद से एक आसान ट्रैवल एजेंट को चरण-दर-चरण बनाना है. इसके लिए, हम सबसे पहले Gemini सीएलआई सेट अप करना चाहते हैं, ताकि यह ADK के साथ कोड करने में हमारी मदद कर सके. इससे आपकी लोकल शेल, Python ADK का नया वर्शन चुन पाएगी. साथ ही, कोड और दस्तावेज़ों को बेहतर बना पाएगी. इसके अलावा, यह आपके लक्ष्य के लिए, कोड का नया/सबसे अच्छा वर्शन उपलब्ध करा पाएगी.
यह एक ऐसा हिस्सा है जिसमें हम छोटे-छोटे और आसान चरणों में, पूरी तरह से काम करने वाला ऐप्लिकेशन बनाते हैं. आम तौर पर, इसमें एक घंटा लगता है. इसके अलावा, इसे इंस्टॉल करने में भी समय लगता है.
दूसरा माइलस्टोन: अपने एजेंट को बेहतर बनाना
इसके बाद, हम आपको अपनी पसंद के मुताबिक ऐप्लिकेशन को बेहतर बनाने के लिए, एक दर्जन विकल्प देते हैं. इनमें अलग-अलग तरह की समस्याएं शामिल होती हैं. इससे आपको अलग-अलग पहलुओं (यूज़र इंटरफ़ेस (यूआई), ऑपरेशंस, एजेंट के साथ जटिल इंटरैक्शन वगैरह) के बारे में जानने में मदद मिलती है
आपको क्या बनाने को मिलेगा
इस कोडलैब में, ADK और Gemini CLI का इस्तेमाल करके, ट्रैवल एजेंट ऐप्लिकेशन बनाने का तरीका बताया गया है. आपका ऐप्लिकेशन:
- Airbnb MCP के ज़रिए Airbnb API से कनेक्ट करें.
- अप-टू-डेट जानकारी (मौसम, तारीखें वगैरह) के लिए, ऑनलाइन खोज करना
- कस्टम टूल इस्तेमाल करना.
- NanoBanana का इस्तेमाल करके, अपार्टमेंट/कमरों की इमेज जनरेट करें.
Gemini CLI इन सभी कामों में आपकी मदद करेगा: कोड लिखना/समीक्षा करना और ADK रेपो के लोकल मिरर में नए दस्तावेज़ ढूंढना. यह काम Python या आपकी पसंदीदा भाषा में किया जा सकता है.
आपको क्या सीखने को मिलेगा
- ADK की मदद से ऐप्लिकेशन बनाने का तरीका
- स्थानीय दस्तावेज़ों के आधार पर ऐप्लिकेशन कोड करने के लिए, Gemini CLI का इस्तेमाल कैसे करें!
- रीयल-टाइम में बाहरी डेटा सोर्स से कनेक्ट करने के लिए, एमसीपी सर्वर के साथ इंटरैक्ट करने का तरीका. जैसे:
आपको इन चीज़ों की ज़रूरत होगी
- ऐसा कंप्यूटर जिस पर पैकेज इंस्टॉल किए जा सकते हैं. जैसे,
npm install .. - Python, TypeScript, Go या Java में से किसी एक में कोडिंग की बुनियादी जानकारी होनी चाहिए.
- हम आपको किसी आईडीई (Antigravity, vscode, IntelliJ, vim) का इस्तेमाल करने का सुझाव देते हैं.
ADK + Gemini CLI का इस्तेमाल क्यों करें?
आप में से कुछ लोगों के मन में यह सवाल हो सकता है कि मुझे ADK (एजेंट बिल्डर एसडीके) का इस्तेमाल Gemini CLI जैसे लोकल एजेंटिक कोड हेल्पर के साथ क्यों करना चाहिए? इसकी वजह यह है कि दोनों टूल बहुत ज़्यादा असरदार हैं. हालांकि, इनका इस्तेमाल करना आसान नहीं है. कई लोगों ने दोनों टूल का एक साथ इस्तेमाल करने की कोशिश की है, लेकिन वे ऐसा नहीं कर पाए. इसकी मुख्य वजह "लूप इन अ लूप" की समस्याएं हैं. इस कोडलैब में, दोनों को एक साथ इस्तेमाल करने के बारे में कुछ सुझाव दिए गए हैं.
2. सेट अप करना
इनमें से कोई एक विकल्प चुनें: अगर आपको इस कोडलैब को अपनी मशीन पर चलाना है, तो अपने हिसाब से एनवायरमेंट सेट अप करें चुनें. अगर आपको इस कोडलैब को पूरी तरह से क्लाउड में चलाना है, तो Cloud Shell शुरू करें चुनें.
अपने हिसाब से एनवायरमेंट सेट अप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.



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

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

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, Google Cloud पर काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब में मौजूद सभी टास्क, ब्राउज़र में किए जा सकते हैं. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.
3. ज़रूरी शर्तें (इंस्टॉल करने के लिए)
इस ट्यूटोरियल के लिए, आपको ये इंस्टॉल करने होंगे:
1. Python और uv
python और uv (Python के लिए पैकेज मैनेजर). यह ADK के लिए ज़रूरी है. पक्का करें कि आपने uv इंस्टॉल किया हो:
$ curl -LsSf https://astral.sh/uv/install.sh | sh
यूवी क्यों? आपके पास अपनी पसंद के Python मैनेजर का इस्तेमाल करने का विकल्प होता है. हालाँकि, uv का इस्तेमाल करने से यह पक्का किया जा सकेगा कि Python के लिए ENV/PATH सेटअप, आपके और Gemini CLI के लिए एक जैसा हो. इसलिए, शेल का आपका अनुभव, Gemini CLI के अनुभव जैसा ही होगा. अगर आपने virtualenv का इस्तेमाल किया है , तो Gemini CLI को आपके एनवायरमेंट की नकल करने के लिए, "source .env/venv/bin/activate && my-original-command" जैसे काम करने होंगे.
2. Gemini CLI
gemini CLI को इंस्टॉल करने के निर्देश यहां दिए गए हैं: https://github.com/google-gemini/gemini-cli .
# Note: This requires having npm or npx installed. npm install -g @google/gemini-cli
- Mac पर, आधिकारिक दस्तावेज़ों के मुताबिक
brewका इस्तेमाल किया जा सकता है. - Windows पर,
chocolateyका इस्तेमाल किया जा सकता है. इसके अलावा, https://nodejs.org/en/download से एक्ज़ीक्यूटेबल फ़ाइल डाउनलोड की जा सकती है
चौथे चरण (बाद में) के लिए, आपको npx भी इंस्टॉल करना होगा. npm और npx, दोनों को Gemini CLI के साथ स्वाभाविक तौर पर काम करना चाहिए. अगर ऐसा नहीं होता है, तो Gemini CLI से मदद लें.

पुष्टि करना
आपके पास Vertex AI की सुविधा वाला Google Cloud प्रोजेक्ट या Google AI Studio API पासकोड होना चाहिए.
पहला विकल्प (वर्कशॉप के लिए सुझाव दिया गया है): एपीआई पासकोड एक्सपोर्ट करें:
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.
यूवी सिंक करना ज़रूरी नहीं है. हालांकि, अगर यह काम नहीं करता है, तो आपको Python या uv इंस्टॉलेशन को ठीक करना होगा. इससे adk और अन्य काम की स्क्रिप्ट, ./.venv/bin/ फ़ोल्डर में इंस्टॉल हो जाएंगी.
सेटअप की जांच करने के लिए, make test-step1 चलाएं और देखें कि आपको 403 PERMISSION DENIED. नहीं मिला है
उपलब्ध समाधान
पूरा कोड 📂 steps/ में मौजूद है. आपके पास वहां से कोड कॉपी करने का विकल्प होता है.
इस कोडलैब में, एडीके का अच्छा कोड लिखने का तरीका नहीं बताया गया है. इसमें, अपने निर्देशों के मुताबिक अपने-आप अच्छा कोड लिखने के लिए, एनवायरमेंट सेट अप करने का तरीका बताया गया है.
- सॉफ़्टवेयर इंस्टॉल करना
- कॉन्फ़िगर करने / इसे काम करने के लिए तैयार करने में, और
- फ़ीडबैक लूप में सही जानकारी डालना
हम चाहते हैं कि आप यहां यह सीखें. $ make web-4steps की मदद से, इन सभी को एक साथ भी टेस्ट किया जा सकता है!
4. पहला चरण: बेसिक एजेंट

आइए, बातचीत करने वाला एक बुनियादी एजेंट बनाएं.
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.",
)
एजेंट की जांच करना
यह सभी चरणों पर लागू होता है. ADK की मदद से, एजेंट को दो तरीकों से टेस्ट किया जा सकता है: सीएलआई और वेब.
- CLI, तुरंत और ऑटोमेटेड टेस्ट के लिए सबसे सही है
- वेब पर, यह देखना सबसे अच्छा होता है कि क्या हो रहा है. साथ ही, माइक्रोफ़ोन (!) का इस्तेमाल करना और समस्या हल करना भी सबसे अच्छा होता है.
अहम जानकारी: इस अभ्यास के लिए, यूनिट टेस्टिंग को छोड़कर कोई भी काम करने के लिए, वेब का इस्तेमाल करें. यह वाकई बहुत शानदार है! सीएलआई को सिर्फ़ ऑटोमेटेड टेस्टिंग के लिए रखें.
एक अच्छा प्रॉम्प्ट, जो पहले-दूसरे-तीसरे-चौथे चरण की सही तरीके से जांच करता है, यह हो सकता है (स्मार्ट "लिटमस प्रॉम्प्ट"):
नमस्ते, मुझे पेरिस में कल शाम के लिए, एक रात के लिए, पेरिस के सिटी सेंटर में एक होटल बुक करना है. यह ग्या दे लियों के पास होना चाहिए. बजट: एक रात का किराया 200 यूरो से कम हो.
- मुझे बताओ कि कल की तारीख क्या है और वह हफ़्ते का कौनसा दिन है.
- मुझे बताओ कि तुम्हें कल के लिए कौन-कौनसे होटल दिख रहे हैं (कम से कम तीन). मुझे यह जानकारी देखनी है: > किराया, पता, कुछ रेटिंग (XX/YY के फ़ॉर्मैट में, जैसे कि "4.7/5" - Google Hotels, Booking या Airbnb से), # समीक्षाएं. मुझे यह जानकारी टेबल के फ़ॉर्मैट में दो. आदर्श रूप से, होटल का नाम होटल के किसी यूआरएल से लिंक होना चाहिए. यूआरएल कॉलम जोड़ने की ज़रूरत नहीं है. पक्का करें कि लिंक सही हो. इसका मतलब है कि लिंक काम करता हो और पेज पर होटल के बारे में जानकारी मौजूद हो!
यह एक स्मार्ट प्रॉम्प्ट है, क्योंकि इसमें समय और होटलों की जानकारी शामिल है. इसलिए, यह पहले, दूसरे, और तीसरे चरण में अलग-अलग तरीके से फ़ेल होगा. यह सिर्फ़ चौथे चरण में पूरी तरह से पास होगा. बेशक, अपनी पसंद का कोई भी प्रॉम्प्ट इस्तेमाल किया जा सकता है!
इसे बैश (सीएलआई) से चलाएं:
# 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/
ऊपर दिए गए "लिटमस प्रॉम्प्ट" का इस्तेमाल करके देखें.
ऐसा हो सकता है कि वह खास तारीखों के बारे में जानकारी न दे पाए. हमें इसे तारीख के बारे में बताना होगा!
वेब के लिए, यह काम ऐसे किया जा सकता है:
uv run adk web .: इससे इस फ़ोल्डर में मौजूद सभी एजेंट चलते हैं. आपको इसे "mysolution/" सबफ़ोल्डर पर ले जाना है- सबसे ऊपर दाईं ओर मौजूद,
mysolution/को चुनें (बगल में दी गई इमेज देखें) - टेक्स्ट में या माइक्रोफ़ोन के ज़रिए, "लिटमस प्रॉम्प्ट" के बारे में सवाल पूछें.

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

यहां एक संभावित जवाब दिया गया है, जिसमें तारीख के बारे में कुछ हद तक गलत जानकारी दी गई है. ध्यान दें कि पांच में से तीन बुकिंग लिंक काम कर रहे हैं! ठीक है.
5. दूसरा चरण: now() टूल जोड़ना

इस फ़ंक्शन को root_agent की डेफ़िनिशन से ठीक पहले agent.py में जोड़ें:
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. Step 3: Let's switch gears: google_search
google_search. इससे हमारा एजेंट, वेब से रीयल-टाइम में जानकारी ऐक्सेस कर पाता है.

आपका काम, चरण 2 में दिए गए एजेंट में बदलाव करना है. 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. चौथा चरण: ज़्यादा बेहतर टूल: एमसीपी

अब हमने कस्टम और बिल्ट-इन, दोनों तरह के टूल देख लिए हैं. आइए, अब कुछ और बेहतर टूल के बारे में जानते हैं: मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) का इस्तेमाल करके, मॉडल-एज़-अ-टूल पैटर्न.
इस चरण में, हम एमसीपी की बेहतर सुविधाओं पर फ़ोकस करेंगे. इसलिए, हम एक बार फिर अपने पिछले टूल (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 इंस्टॉल होना ज़रूरी है. बाकी के लिए, यह ऊपर दिए गए तरीके जैसा ही है.
अहम जानकारी/ गड़बड़ियां
- अगर आपको
robots.txtसे जुड़ी पाबंदी की गड़बड़ी का मैसेज मिलता है, तो रोबोट डायरेक्टिव को अनदेखा करके, एमसीपी को पैच किया जा सकता है. ज़्यादा जानकारी के लिए, दस्तावेज़ पढ़ें: https://github.com/openbnb-org/mcp-server-airbnb - अगर आपको
timeoutगड़बड़ी का मैसेज मिलता है (Airbnb को जवाब पाने के लिए पांच सेकंड का समय बहुत कम है), तो ADK के दस्तावेज़ देखें. इसमें बताया गया है कि टाइम आउट को 30 सेकंड तक कैसे बढ़ाया जाए. इसके अलावा.. Gemini CLI का इस्तेमाल करके भी ऐसा किया जा सकता है! ध्यान दें कि 3 दिसंबर, 2025 को Cloud Shell में टाइम आउट की गड़बड़ी हुई थी. मैंने टाइम आउट की गड़बड़ी को ठीक किया, लेकिन इसके बाद भी गड़बड़ियां होती रहीं. इसके बाद, मैंने 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 के ज़रिए वाइब कोडिंग करना
अब हम वर्कशॉप के दिलचस्प हिस्से पर आते हैं.
- पक्का करें कि आपने कोड को किसी सुरक्षित जगह पर
git commitकिया हो. आपके पास ओरिजनल कोड को फ़ोर्क करने या ब्रांच बनाने का विकल्प होता है: चिंता न करें, Gemini CLI इस काम में आपकी मदद कर सकता है! - लागू करने के लिए कोई 💡 आइडिया ढूंढें. यहाँ दिए गए आइडिया देखें, कोई आइडिया खुद खोजें या Gemini से rag/ में मौजूद दस्तावेज़ देखने और कुछ स्मार्ट आइडिया देने के लिए कहें.
- ज़रूरी शर्तें पूरी करें, ताकि Gemini, ADK के दस्तावेज़ पढ़ सके. इसके बाद, आप इसका इस्तेमाल कर सकते हैं!
💡 आइडिया
- 🟢 [आसान] क्या आपको कई भाषाएँ आती हैं? क्या आपको
go,javaयाTypeScriptमें से किसी ऐप्लिकेशन को अनुमति देनी है? मौजूदा कोड को फिर से फ़ैक्टर करना बहुत आसान है! बस यह पक्का करें कि आपने सही ADK डाउनलोड किया हो. इसके बाद, Gemini CLI से अनुवाद करने के लिए कहें! - 🟢 [आसान] इमोजी जोड़ें या आउटपुट का कोई ऐसा फ़ॉर्मैट तय करें जो आपको पसंद हो. उदाहरण के लिए, होटल के इमोजी वाली टेबल, उसके बाद कीमत, उसके बाद 1 से 5 स्टार वाले इमोजी. इसमें 🌕🌕🌕🌗🌑 का इस्तेमाल करके, आधे स्टार भी दिखाए जा सकते हैं!
- 🟢 [आसान] प्रॉम्प्ट में बदलाव करके, उसे उन चीज़ों के बारे में बताएं जो आपको चाहिए या नहीं चाहिए. जैसे, पालतू जानवरों को साथ ले जाने की अनुमति, ग्राउंड फ़्लोर पर कमरा न होना, शांत जगह, सार्वजनिक परिवहन के पास होना वगैरह. इसके बाद, इसे टेस्ट करें. ऊपर दी गई जानकारी के आधार पर, "YOUR_NAME की रेटिंग 1 से 10 के बीच है" जैसी कोई निजी रेटिंग जोड़ें और उस रेटिंग के हिसाब से क्रम से लगाएं.
- 🟢 [आसान] क्या कमरे में कोई ऑपरेटर मौजूद है? Cloud Run पर डिप्लॉय करें! या Vertex AI Agent Engine पर जाएं! क्या आपको पता है कि इस एजेंट को इंटिग्रेट किया जा सकता है और सीधे Gemini Enterprise से कॉल किया जा सकता है?
- 🟢 [easy]
adk runको 🍌 NanoBanana MCP के साथ इंटिग्रेट करें. इसके लिए, Gemini API पासकोड की ज़रूरत होती है. यहाँ इमेज बनाई जा सकती हैं, लेकिन उन्हें विज़ुअलाइज़ नहीं किया जा सकता. ज़्यादा मुश्किल वैरिएंट के लिए, यहां देखें. - 🟡 [मीडियम] एक ऐसा सब-एजेंट बनाएं जो
HotelSearchका काम करे. साथ ही, एकBudgetAgentयाLocationAgentबनाएं. यह आपकी जगह की ज़रूरतों के हिसाब से, होटल की जानकारी को दोहरा सकता है और उसे बेहतर बना सकता है. जैसे, "जगह से X कि॰मी॰ से ज़्यादा दूर नहीं". अगर एपीआई इसकी अनुमति नहीं देता है, तो GoogleSearch की मदद से कुछ जानकारी इधर-उधर की जा सकती है. ध्यान दें: Gemini CLI आपकी मदद कर सकता है. - 🟡 [मीडियम] खोज के नतीजों में मिले एक या N होटलों के लिए,
AirbnbReviewAgentलागू करें. इससे समीक्षाओं के बारे में जानकारी मिलती है. साथ ही, रंग कोड वाले कुछ बुलेट पॉइंट में सकारात्मक और नकारात्मक समीक्षाओं के बारे में खास जानकारी मिलती है. आपके पास पहले से ही दो कॉम्पोनेंट (GoogleSearch और MCP Airbnb) हैं. अब आपको इसे मुख्य एजेंट से कनेक्ट करना होगा. साथ ही, उनके बीच बातचीत करने के लिए कोई प्रोटोकॉल बनाना होगा. - 🟡 [medium] A2A के साथ इंटिग्रेट करें. इसे A2A एजेंट बनाओ! एक बार फिर, Gemini CLI से मदद मांगें!
- 🔴 [जटिल] फ़्लाइट या एमसीपी की अन्य सुविधाओं के साथ इंटिग्रेट करके, कई तरह की सुविधाएं देने वाला ट्रैवल एजेंट बनाया जा सकता है.
- 🔴 [complex] ADK वेब को 🍌 NanoBanana MCP के साथ इंटिग्रेट करें. यह ऊपर दिए गए उदाहरण से ज़्यादा मुश्किल है. इसके बारे में कुछ सलाह पाने के लिए, https://github.com/palladius/ai-friendly-agents/issues/11 पर जाएं. इस लेख को लिखने में लेखक को तीन घंटे लगे. इस दौरान, उन्होंने Gemini CLI और Gemini 3 के साथ कई बार बातचीत की. साथ ही, हम दोनों ने
rag/के दस्तावेज़/कोड पढ़े!
क्या आपको और आइडिया चाहिए?
- कुछ आइडिया पाने के लिए, ADK के आधिकारिक ट्यूटोरियल देखें.
- 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 "RAG" के लिए ज़रूरी शर्तें
किसी सुविधा को वाइब कोड करने के लिए, हमारा सुझाव है कि आप पूरा एडीके Python एडीके डाउनलोड करें (ध्यान दें: इसे आपकी पसंदीदा भाषा, जैसे कि Java या Go के हिसाब से आसानी से बदला जा सकता है!)
कोड ./rag में है और इसे ./download-adk.sh से डाउनलोड किया जा सकता है.
rag फ़ोल्डर को आपकी .gitignore फ़ाइल में शामिल किया गया है. इसलिए, पक्का करें कि आपकी .gemini/settings.json फ़ाइल में यह जानकारी मौजूद हो:
{
"context": {
"includeDirectories": ["rag"]
}
}
क्यों? हम चाहते हैं कि Gemini उन फ़ाइलों को पढ़ सके, जबकि उन्हें सुरक्षित तरीके से git-ignored किया गया हो. तकनीकी तौर पर, context.fileFiltering.respectGitIgnore को false पर सेट करके, सभी .gitignore फ़ाइलों को भी अनहाइड किया जा सकता है. हालांकि, इससे बहुत सारा node_modules/ और __pycache__/ कचरा खुल जाता है. इसलिए, फ़ोल्डर को साफ़ तौर पर शामिल करना बेहतर विकल्प है.
10. अगले चरण
Curiosity: इस वर्कशॉप को Gemini CLI की मदद से बनाया गया था. अगर आपको यह जानना है कि मैंने यह कैसे किया, तो इस फ़ोल्डर में मौजूद GEMINI.md और WORKSHOP_PLAN.md को देखें.
सीखे गए सबक
हमने ADK को Gemini CLI के साथ जोड़ने का तरीका सीखा
आपकी मदद के लिए लेख
- Antigravity के इन दो आधिकारिक कोडलैब को देखें:
- कुछ आइडिया पाने के लिए, ADK के आधिकारिक ट्यूटोरियल देखें.
