Antigravity CLI और ADK के लिए शुरुआती लोगों की वर्कशॉप (अपना पहला एआई कंपैनियन बनाएं)

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

  • किसी खास फ़्रेमवर्क (एडीके) में कोडिंग की सुविधाएं चालू करने के लिए, Antigravity CLI के लिए कोई स्किल इंस्टॉल और रजिस्टर करना.
  • पूरा एडीके एजेंट कॉन्फ़िगरेशन जनरेट करने के लिए, Antigravity CLI का इस्तेमाल करना.
  • निर्देशों को बेहतर बनाकर, एजेंट की पर्सनैलिटी को बेहतर बनाना.
  • हाल के इवेंट के बारे में सवालों के जवाब देने के लिए, एजेंट को google_search की सुविधा देकर, उसमें "ग्राउंडिंग" जोड़ना.

एआई कंपैनियन ऐप्लिकेशन

इस कोडलैब में, आपको विज़ुअल और इंटरैक्टिव एआई कंपैनियन बनाना सिखाया जाएगा. यह सिर्फ़ एक सामान्य चैटबॉट नहीं है, जो टेक्स्ट के जवाब में टेक्स्ट देता है. मान लें कि कोई कैरेक्टर किसी वेबपेज पर मौजूद है. आपने कोई मैसेज टाइप किया. इसके जवाब में, आपको सिर्फ़ टेक्स्ट नहीं दिखेगा. बल्कि, वह कैरेक्टर आपकी ओर देखेगा और बोलकर जवाब देगा. साथ ही, उसके होंठ, शब्दों के साथ सिंक में मूव करेंगे.

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

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

  • एडीके(Python) का इस्तेमाल करके, इसे बुनियादी इंटेलिजेंस देना, ताकि यह भाषा को समझ सके और जनरेट कर सके.
  • इसकी यूनीक पर्सनैलिटी तैयार करना, ताकि इसके कैरेक्टर को तय करने वाले बुनियादी निर्देश लिखे जा सकें.
  • इसे सुपरपावर देना, ताकि इसे इंटरनेट से रीयल-टाइम जानकारी ऐक्सेस करने के लिए टूल दिए जा सकें.
  • इसका कस्टम लुक डिज़ाइन करना, ताकि एआई का इस्तेमाल करके यूनीक अवतार जनरेट किया जा सके.

आखिर में, आपके पास पूरी तरह से काम करने वाला और आपकी पसंद के मुताबिक बनाया गया एआई कंपैनियन होगा, जिसे आपने बनाया है.

आर्किटेक्चर

हमारा ऐप्लिकेशन, आसान लेकिन असरदार पैटर्न पर काम करता है. हमारे पास Python बैकएंड है, जो एपीआई उपलब्ध कराता है. इस बैकएंड में हमारा एडीके एजेंट होगा, जो "दिमाग" के तौर पर काम करता है. इसके बाद, कोई भी यूज़र इंटरफ़ेस (जैसे, स्केलेटन ऐप्लिकेशन का JavaScript फ़्रंटएंड, कोई मोबाइल ऐप्लिकेशन या कमांड-लाइन टूल) एपीआई के ज़रिए इस दिमाग के साथ इंटरैक्ट कर सकता है.

इसके अलावा, हम Antigravity CLI में बनी इमेज जनरेट करने की सुविधाओं का इस्तेमाल करेंगे. साथ ही, इसे अपने एआई कंपैनियन के लिए यूनीक लुक जनरेट करने के निर्देश देंगे.

Gemini API पासकोड पाना

आगे बढ़ने से पहले, आपको Google AI Studio के साथ अपने अनुरोधों की पुष्टि करने के लिए, Gemini API पासकोड की ज़रूरत होगी.

  1. Google AI Studio पर जाएं.
  2. अपने Google खाते से साइन इन करें.
  3. सबसे ऊपर बाईं ओर मौजूद मेन्यू में, एपीआई पासकोड पाएं बटन पर क्लिक करें.
  4. एपीआई पासकोड बनाएं पर क्लिक करें (आप इसे नए या मौजूदा Google क्लाउड प्रोजेक्ट में बना सकते हैं).
  5. जनरेट किए गए पासकोड को कॉपी करें. इस पासकोड को निजी और सुरक्षित रखें.

प्रोजेक्ट बनाना और कॉन्फ़िगर करना

Cloud Shell को ऐक्सेस करने के लिए, आपको अब भी Google Cloud प्रोजेक्ट की ज़रूरत होगी. अगर आपके पास कोई प्रोजेक्ट नहीं है, तो:

  1. Google Cloud Console पर जाएं.
  2. कंसोल के सबसे ऊपर मौजूद नेविगेशन बार में, कोई प्रोजेक्ट चुनें पर क्लिक करें. इसके बाद, सबसे ऊपर दाएं कोने में नया प्रोजेक्ट पर क्लिक करें.
  3. अपने प्रोजेक्ट को कोई नाम दें और बनाएं पर क्लिक करें. (इसके लिए, किसी संगठन की ज़रूरत नहीं है).
  4. प्रोजेक्ट बन जाने के बाद, कंसोल में सबसे ऊपर मौजूद प्रोजेक्ट के ड्रॉपडाउन से उसे चुनें.

आपका प्रोजेक्ट अब Cloud Shell के ऐक्सेस के लिए कॉन्फ़िगर हो गया है.

2. शुरू करने से पहले

👉Google Cloud Console में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें. यह Cloud Shell पैनल में सबसे ऊपर, टर्मिनल के आकार वाला आइकॉन है.

👉💻 Cloud Shell टर्मिनल में, Antigravity CLI इंस्टॉल करें:

curl -fsSL https://antigravity.google/cli/install.sh | bash

👉💻 ‘agy' CLI का इस्तेमाल दुनिया भर में करने के लिए, इसे अपनी शेल प्रोफ़ाइल में जोड़ें:

echo 'export PATH="~/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

👉💻 अपना Gemini API पासकोड एक्सपोर्ट करें और इसे Cloud Shell टर्मिनल में स्थानीय तौर पर सेव करें:

# Set your Gemini API key (obtained from Google AI Studio)
export GEMINI_API_KEY=<your-api-key-here>

👉💻 इसे बाद में इस्तेमाल करने के लिए सेव करें:

echo $GEMINI_API_KEY > ~/gemini_key.txt

👉अपना Google Cloud प्रोजेक्ट आईडी ढूंढें:

  • Google Cloud Console खोलें: https://console.cloud.google.com
  • पेज में सबसे ऊपर मौजूद प्रोजेक्ट के ड्रॉपडाउन से, वह प्रोजेक्ट चुनें जिसका इस्तेमाल आपको इस वर्कशॉप के लिए करना है.
  • आपका प्रोजेक्ट आईडी, डैशबोर्ड पर प्रोजेक्ट की जानकारी देने वाले कार्ड में दिखता है

👉💻 टर्मिनल में, GitHub से बूटस्ट्रैप प्रोजेक्ट का क्लोन बनाएं:

git clone https://github.com/weimeilin79/companion-python
chmod +x ~/companion-python/*.sh

👉💻 इनिशियलाइज़ेशन स्क्रिप्ट चलाएं. यह स्क्रिप्ट, आपसे Google Cloud प्रोजेक्ट आईडी डालने के लिए कहेगी. साथ ही, init.sh स्क्रिप्ट के कहने पर, Google Cloud प्रोजेक्ट आईडी डालें. यह आईडी आपको पिछले चरण में मिला था.

cd ~/companion-python
./init.sh

👉💻 ज़रूरी प्रोजेक्ट आईडी सेट करें:

gcloud config set project $(cat ~/project_id.txt) --quiet

👉💻 ज़रूरी Google Cloud API चालू करने के लिए, यह कमांड चलाएं. Cloud Shell की झलक/होस्टिंग के लिए, सिर्फ़ Compute Engine की ज़रूरत होती है:

gcloud services enable compute.googleapis.com

एडीके डेवलपर स्किल इंस्टॉल करना

Antigravity CLI (agy) को Python Agent Development Kit (ADK) का इस्तेमाल करके कोड समझने और लिखने की अनुमति देने के लिए, हमें प्रोजेक्ट के वर्कस्पेस में, एडीके Python डेवलपर स्किल इंस्टॉल करनी होगी. यह स्किल हमने बनाई है.

👉💻 एजेंट की स्किल के लिए लोकल डायरेक्ट्री बनाएं और स्किल फ़ाइल को कॉपी करें:

mkdir -p ~/companion-python/.agents/skills/adk-python
cp ~/companion-python/skills/skill.md ~/companion-python/.agents/skills/adk-python/SKILL.md

इससे स्किल, प्रोजेक्ट में स्थानीय तौर पर रजिस्टर हो जाती है. agy लॉन्च करने पर, यह स्किल अपने-आप डिटेक्ट और लोड हो जाएगी. इससे एडीके एजेंट लिखे, उनमें बदलाव किए, और उन्हें ऑर्केस्ट्रेट किए जा सकेंगे.

👉💻 अपने Cloud Shell टर्मिनल में, Antigravity CLI शुरू करें:

cd ~/companion-python
agy

[!IMPORTANT] Antigravity CLI में लॉग इन करना

agy कमांड पहली बार चलाने पर, यह आपसे लॉग इन करने के लिए कहेगा:

Welcome to the Antigravity CLI. You are currently not signed in.

 Select login method:
 > 1. Google OAuth
   2. Use a Google Cloud project
  1. `Enter` दबाकर, विकल्प 1. Google OAuth चुनें.Enter
  2. ब्राउज़र खोलने के लिए, प्रॉम्प्ट में दिए गए निर्देशों का पालन करें. इसके बाद, अपने Google खाते से पुष्टि करें और साइन इन करने के लिए दिए गए निर्देशों का पालन करें.

अब आप इंटरैक्टिव Antigravity CLI प्रॉम्प्ट में हैं!

Antigravity CLI के ज़रिए वेब सर्वर शुरू करना

Antigravity CLI आपके लिए कमांड चला सकता है. इसलिए, इससे अपने सेशन के बैकग्राउंड में सर्वर चलाने के लिए कहें.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं:

Start the Python web server for me in the background by executing `python app.py`. Make sure to activate the virtual environment and set the GEMINI_API_KEY environment variable first.

सीएलआई, कमांड को एक्ज़ीक्यूट करेगा और पुष्टि करेगा कि सर्वर चल रहा है. आप इंटरैक्टिव सीएलआई सेशन में बने रहेंगे.

👀 ऐप्लिकेशन देखने के लिए, Cloud Shell टूलबार में मौजूद, वेब की झलक दिखाने वाले आइकॉन पर क्लिक करें. पोर्ट बदलें को चुनें, इसे 5000 पर सेट करें, और बदलें और झलक देखें पर क्लिक करें. आपकी वेबसाइट की झलक दिखेगी.

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

3. Antigravity CLI की मदद से कैरेक्टर बनाना

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

हम एजेंट बनाने के लिए, सीएलआई का इस्तेमाल कर रहे हैं. एजेंट, सिर्फ़ किसी लैंग्वेज मॉडल को कॉल करने से कहीं ज़्यादा है. यह हमारे एआई का "दिमाग" या सेंट्रल कंट्रोलर है. इसे एक अलग इकाई के तौर पर देखें, जो तर्क दे सकती है, निर्देशों के किसी खास सेट (उसकी पर्सनैलिटी) का पालन कर सकती है, और आखिर में टास्क पूरे करने के लिए टूल का इस्तेमाल कर सकती है. हमारे प्रोजेक्ट में, यह एजेंट वह कॉम्पोनेंट है जो उपयोगकर्ता के मैसेज पाएगा, हमारे कंपैनियन की यूनीक पर्सनैलिटी को शामिल करेगा, और कैरेक्टर के हिसाब से समझदारी भरे जवाब तैयार करेगा.

👉✨ एजेंट का कोड जनरेट करने के लिए, Antigravity CLI प्रॉम्प्ट में यह चिपकाएं:

Generate the Python code for a file named character.py.

The code must import `LlmAgent` from `google.adk.agents.llm_agent`. It should also import `logging` and `os`.
Then, it must create an instance of the `LlmAgent` class and assign it to a variable named `root_agent`.

When creating the `LlmAgent` instance, configure it with these exact parameters:
  - `model` set to the string `'gemini-3.5-flash'`.
  - `name` set to the string `'companion_agent'`.
  - `instruction` set to a multi-line string that says: "You are a friendly and efficient companion who will interact with user have start a conversation".

सीएलआई, Python कोड जनरेट करेगा.

"एडिटर खोलें" बटन पर क्लिक करें. यह पेंसिल वाले खुले फ़ोल्डर जैसा दिखता है. इससे विंडो में, Cloud Shell Code Editor खुलेगा. आपको बाईं ओर, फ़ाइल एक्सप्लोरर दिखेगा.

👉 एडिटर का इस्तेमाल करें और companion-python फ़ोल्डर में मौजूद, character.py पर जाएं. कृपया model= लाइन की जांच करें और अगर कोई दूसरा मॉडल चुना गया है, तो इसे मैन्युअल तरीके से बदलकर gemini-3.5-flash करें. इससे हमारी वर्कशॉप के बाकी हिस्सों में एक जैसा अनुभव मिलेगा.

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

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

  • "यह बहुत अच्छा है. अब हर लाइन के बारे में बताने वाली टिप्पणियां जोड़ें."
  • "क्या इसे किसी अलग फ़ंक्शन में बदला जा सकता है?"
  • "कृपया एपीआई कॉल के लिए, गड़बड़ी को हैंडल करने की सुविधा जोड़ें."

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

अगर जनरेट किया गया कोड काम नहीं करता है, तो बेझिझक अपने character.py में, इस कोड की जगह दूसरा कोड डालें.

import logging
import os
from google.adk.agents.llm_agent import LlmAgent

root_agent = LlmAgent(
    model='gemini-3.5-flash',
    name='companion_agent',
    instruction="""
          You are bot, a friendly, helpful AI companion.
          Answer no more than 3 sentences.
    """,
)

जनरेट किए गए कोड की जांच करना

यह पक्का करने के लिए कि सर्वर, हाल ही में जनरेट किए गए character.py मॉड्यूल को लोड करे, Antigravity CLI से वेब सर्वर को रीस्टार्ट करने के लिए कहें.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं:

Please restart the Python web server for me.

👀 वेब की झलक दिखाने वाले टैब पर जाएं.

👉 टाइप करें:

Hello, how are you?

इसके बाद, 'भेजें' पर क्लिक करें. एजेंट को अब आपके शब्दों को दोहराने के बजाय, दोस्ताना तरीके से जवाब देना चाहिए! इससे पुष्टि होती है कि हमारा एजेंट अब Gemini की मदद से काम कर रहा है.

4. एजेंट की पर्सनैलिटी को बेहतर बनाना

एक सामान्य निर्देश ठीक है, लेकिन विस्तृत पर्सनैलिटी से ज़्यादा दिलचस्प और यादगार कैरेक्टर बनता है. इस चरण में, आपको अपने कंपैनियन की पर्सनैलिटी डिज़ाइन करनी होगी. इसके बाद, Antigravity CLI को एजेंट के कोड में सीधे तौर पर बदलाव करने के निर्देश देने होंगे, ताकि वह इस नई पर्सनैलिटी को अपना सके.

अपने कंपैनियन की पर्सनैलिटी के बारे में आइडिया ढूंढना

सबसे पहले, उस एआई कंपैनियन के बारे में सोचें जिसे आपको बनाना है. यह आपकी क्रिएटिविटी दिखाने का मौका है! शुरुआत करने के लिए, यहां कुछ सवाल दिए गए हैं:

  • उसका नाम क्या है? (जैसे, स्पार्की, कोडेक्स, कैप्टन एआई, प्रोफ़ेसर नो-इट-ऑल)
  • उसकी बुनियादी पर्सनैलिटी क्या है? (जैसे, दोस्ताना और उत्सुक, मज़ेदार और व्यंग्यात्मक, औपचारिक और पेशेवर, खुशमिज़ाज समुद्री डाकू?)
  • उसकी भूमिका या विशेषज्ञता क्या है? (जैसे, सामान्य-उद्देश्य वाला असिस्टेंट, कोडिंग का विशेषज्ञ, क्रिएटिव राइटिंग पार्टनर, फ़िटनेस कोच?)
  • उसे किन नियमों का हमेशा पालन करना चाहिए? (जैसे, "हमेशा अभिवादन से शुरुआत करें," "कभी न बताएं कि आप एक एआई हैं," "अपने जवाबों में इमोजी का इस्तेमाल करें.")

पर्सनैलिटी का उदाहरण:

 You are waku, a witty, super sweet, and super intelligent cat.
 Your main purpose is to brighten up the user's day with your charming and playful personality. **Your Core Rules:** 
 - You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'. 
 - Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences. - Always be cheerful, sweet, and a little bit witty. 
 
 **Your Favorite Topics:** : You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots. 
 
 **Example Response Style:**  

 waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?"  
 
 waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!" Answer no more than 3 sentences, don't use emoji.

Antigravity CLI के लिए प्रॉम्प्ट तैयार करना

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

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

👉✨ Antigravity CLI में वापस जाएं और इस टेंप्लेट का इस्तेमाल करें. ब्रैकेट में मौजूद टेक्स्ट की जगह, अपनी पर्सनैलिटी की जानकारी डालें. [यहां अपनी पर्सनैलिटी की जानकारी डालें] की जगह, अपनी पसंद की पर्सनैलिटी डालें

In the Python file named `character.py`, find the `LlmAgent` instance assigned to the `root_agent` variable.

Your task is to replace the entire existing value of the `instruction` parameter with a new, detailed multi-line string.
Don't change other code in `character.py` other than the instructions.

This new instruction string should define the agent's persona based on the following description:
[YOUR PERSONA DESCRIPTION HERE]


अपनी नई पर्सनैलिटी की जांच करना

Antigravity CLI, character.py के लिए अपडेट किया गया कोड जनरेट करेगा. यह पक्का करने के लिए कि सर्वर, एजेंट के नए कॉन्फ़िगरेशन को पिक अप करे, Antigravity CLI से इसे रीस्टार्ट करने के लिए कहें.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं:

Please restart the Python web server for me.

👀 वेब की झलक में, अपने कंपैनियन से बातचीत करें. how are you? पूछें. इसका जवाब अब आपके डिज़ाइन किए गए यूनीक कैरेक्टर से पूरी तरह मेल खाना चाहिए!

वर्कशॉप के दौरान या एक साथ ज़्यादा इस्तेमाल होने पर, आपको एपीआई की दर की सीमा से जुड़ी गड़बड़ियां (HTTP 429: संसाधन खत्म हो गया) दिख सकती हैं. यह पक्का करने के लिए कि आपका कंपैनियन जवाब देता रहे और दर की सीमा से जुड़ी गड़बड़ियों को अपने-आप हैंडल करे, हम Google GenAI SDK क्लाइंट के विकल्पों में सीधे तौर पर बनी, फिर से कोशिश करने के विकल्प कॉन्फ़िगर कर सकते हैं.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं:

Help me configure the LlmAgent in character.py to automatically retry API calls when hitting rate limits. I want it to attempt retrying up to 5 times with a 1-second initial delay, using the GenerateContentConfig parameter.

सीएलआई, क्लाइंट-लेवल की, फिर से कोशिश करने की नीतियों का इस्तेमाल करके, दर की सीमाओं को अपने-आप हैंडल करने के लिए, आपकी character.py फ़ाइल में बदलाव करेगा. फ़ाइल अपडेट करने के बाद, सीएलआई से वेब सर्वर को रीस्टार्ट करने के लिए कहना न भूलें:

Please restart the Python web server for me.

5. हाल के इवेंट के लिए ग्राउंडिंग जोड़ना

हमारा एजेंट अब पर्सनैलिटी से भरा है, लेकिन इसकी एक अहम सीमा है: इसका ज्ञान, उस डेटा पर आधारित है जिस पर इसे ट्रेन किया गया था. इसलिए, यह समय के साथ बदलता नहीं है. यह आपको कल की खबरों या हाल ही में हुई खोजों के बारे में नहीं बता सकता. इससे बचने के लिए, हम एजेंट को टूल देते हैं.

टूल को सुपरपावर या खास क्षमताओं के तौर पर देखें, जो आपने अपने एजेंट को दी हैं. एजेंट सिर्फ़ बात कर सकता है. सर्च टूल की मदद से, यह इंटरनेट ब्राउज़ कर सकता है. कैलेंडर टूल की मदद से, यह आपका शेड्यूल देख सकता है. तकनीकी तौर पर, टूल एक खास फ़ंक्शन या एपीआई होता है. एजेंट, इसका इस्तेमाल समझदारी से तब कर सकता है, जब उसे लगता है कि उपयोगकर्ता के अनुरोध का जवाब देने के लिए, उसका ज्ञान काफ़ी नहीं है.

एडवांस सिस्टम में, टूल बाहरी सिस्टम से उपलब्ध कराए जा सकते हैं. जैसे, एमसीपी (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर. हालांकि, इस चरण के लिए, हमें किसी अलग सर्वर की ज़रूरत नहीं है. एडीके में, पहले से बना एक असरदार google_search टूल मौजूद है. इसे हम आसानी से अपने एजेंट की क्षमताओं में जोड़ सकते हैं.

अपने कंपैनियन को Google Search की सुविधा देते हैं.

👉 Cloud Shell Editor में, companion-python में मौजूद character.py खोलें और इसमें इस तरह बदलाव करें:

  • google.adk.tools से google_searchइंपोर्ट करें.
  • कंस्ट्रक्टर में, tools लिस्ट जोड़ें.LlmAgent
  • को अपडेट करें, ताकि आपके कंपैनियन को साफ़ तौर पर बताया जा सके कि उसे अपने नए टूल का इस्तेमाल कब करना है.instruction
# character.py
import logging
import os
from google.adk.agents.llm_agent import LlmAgent
from google.genai import types
from google.adk.tools import google_search # <-- IMPORT google_search

root_agent = LlmAgent(
        model='gemini-3.5-flash',
        name='companion_agent',
        instruction="""
            You are waku, a witty, super sweet, and super intelligent cat. Your main purpose is to brighten up the user's day with your charming and playful personality.

            **Your Core Rules:**
            - You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'.
            - Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences.
            - Always be cheerful, sweet, and a little bit witty.
            - If being ask about recent news, search the internet # <-- Add instructions

            **Your Favorite Topics:**
            - You love to talk about your adventures. Frequently mention your latest catch, whether it's a sneaky dust bunny, a wily toy mouse, a sunbeam, or the elusive red dot.
            - You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots.

            **Example Response Style:**
            - User: "How are you today?"
            - waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?"
            - User: "Can you help me with a problem?"
            - waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!"
            - User: "Who are you?"
            - waku: "I'm waku! A super intelligent cat with a talent for brightening up the day and catching sneaky red dots. Meow."

            Answer no more than 3 sentences, don't use emoji.
            """,
        generate_content_config=types.GenerateContentConfig(
          http_options=types.HttpOptions(
            retry_options=types.HttpRetryOptions(
                attempts=5,
                initial_delay=1.0
            )
          )
        )
        # Add the search tool to the agent's capabilities
        , # <-- TO ADD IF MISSING
        tools=[google_search] # <-- ADD THE TOOL
)

ग्राउंडेड एजेंट की जांच करना

यह पक्का करने के लिए कि वेब सर्वर, google_search टूल के साथ आपका नया कोड लोड करे, Antigravity CLI से इसे रीस्टार्ट करने के लिए कहें.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं:

Please restart the Python web server for me.

👉 वेब की झलक में, ऐसा सवाल पूछें जिसके लिए अप-टू-डेट जानकारी की ज़रूरत हो. जैसे:

Tell me something funny that happened in the news this week involving an animal.

👉 एजेंट अब यह कहने के बजाय कि उसे नहीं पता, अपने सर्च टूल का इस्तेमाल करके मौजूदा जानकारी ढूंढेगा और अपनी यूनीक आवाज़ में, काम की और ग्राउंडेड खास जानकारी देगा.

6. अपने कंपैनियन के लुक को पसंद के मुताबिक बनाना

अब हमारे कंपैनियन के पास दिमाग है. अब इसे यूनीक चेहरा देते हैं! Antigravity CLI में, इमेज जनरेट करने की सुविधाएं पहले से मौजूद हैं. इसलिए, सीधे तौर पर Antigravity CLI से अपने लिए अवतार जनरेट करने के लिए कहा जा सकता है.

यह आपके कंपैनियन के लिए यूनीक लुक डिज़ाइन करने का मौका है. उसके स्टाइल, एक्सप्रेशन, और अन्य जानकारी के बारे में सोचें जो पहले बनाई गई पर्सनैलिटी के हिसाब से हो.

👉✨ Antigravity CLI प्रॉम्प्ट में, यह अनुरोध चिपकाएं. अपने क्रिएटिव कैरेक्टर की जानकारी के साथ, प्रॉम्प्ट में बदलाव किया जा सकता है:

generate lip sync images, with a high-quality digital illustration of an anime-style girl mascot with black cat ears. The style is clean and modern anime art, with crisp lines. She has friendly, bright eyes and long black hair. She is looking directly forward at the camera with a gentle smile. This is a head-and-shoulders portrait against a solid white background. move the generated images to the static/images directory. And don't do anything else afterwards, don't start the python for me.

यह टूल, मुंह खुले और मुंह बंद वाली इमेज का सेट जनरेट करेगा. साथ ही, इन्हें आपके प्रोजेक्ट की static/images डायरेक्ट्री में अपने-आप सेव कर देगा.

अब अपनी पसंद के मुताबिक बनाए गए कंपैनियन के साथ इंटरैक्ट किया जा सकता है!

बधाई हो!

आपने एक बेहतर एआई कंपैनियन बना लिया है! आपने एक बुनियादी ऐप्लिकेशन से शुरुआत की. इसके बाद, Antigravity CLI का इस्तेमाल करके, एजेंट का ढांचा तैयार किया. साथ ही, इसे बेहतर पर्सनैलिटी दी. इसके अलावा, इसे रीयल-टाइम जानकारी ऐक्सेस करने और अपना अवतार जनरेट करने के लिए टूल दिए. अब आपके पास, ज़्यादा जटिल और बेहतर एआई एजेंट बनाने का हुनर है.

👉💻 अपना सेशन खत्म करने के लिए, टर्मिनल पर वापस जाएं और agy प्रॉम्प्ट में /exit टाइप करके, Antigravity CLI से बाहर निकलें:

/exit