Gemini API के साथ टूल और एजेंट इस्तेमाल करना

टूल और एजेंट, Gemini मॉडल की क्षमताओं को बढ़ाते हैं. इससे, ये मॉडल दुनिया में कार्रवाई कर सकते हैं, रीयल-टाइम में जानकारी ऐक्सेस कर सकते हैं, और मुश्किल कैलकुलेशन वाले काम कर सकते हैं. मॉडल, स्टैंडर्ड अनुरोध-जवाब वाले इंटरैक्शन और रीयल-टाइम स्ट्रीमिंग सेशन, दोनों में टूल इस्तेमाल कर सकते हैं. इसके लिए, उन्हें Live API का इस्तेमाल करना होगा.

  • टूल, खास सुविधाएँ होती हैं. जैसे, Google Search या कोड एक्ज़ीक्यूट करना. इनका इस्तेमाल करके मॉडल, क्वेरी के जवाब दे सकता है.
  • एजेंट ऐसे सिस्टम होते हैं जो उपयोगकर्ता के लक्ष्य को पूरा करने के लिए, कई चरणों वाले टास्क की योजना बना सकते हैं, उन्हें पूरा कर सकते हैं, और उन्हें एक साथ जोड़ सकते हैं.

Gemini API में, पूरी तरह से मैनेज किए जाने वाले, पहले से मौजूद टूल और एजेंट का सुइट मिलता है. इन्हें Gemini मॉडल के लिए ऑप्टिमाइज़ किया गया है. फ़ंक्शन कॉलिंग का इस्तेमाल करके, कस्टम टूल भी तय किए जा सकते हैं.

पहले से मौजूद टूल

टूल ब्यौरा उपयोग के उदाहरण
Google Search जवाबों में हाल की घटनाओं और वेब पर मौजूद तथ्यों को शामिल करना, ताकि गलत जानकारी देने की संभावना कम हो. - हाल के इवेंट के बारे में सवालों के जवाब देना
- अलग-अलग सोर्स से तथ्यों की पुष्टि करना
Google Maps जगह की जानकारी देने वाली ऐसी Assistant बनाएं जो जगहें ढूंढ सके, दिशाओं के लिए निर्देश दे सके, और स्थानीय संदर्भ के बारे में ज़्यादा जानकारी दे सके. - एक से ज़्यादा स्टॉप वाली यात्रा की योजना बनाना
- उपयोगकर्ता की शर्तों के आधार पर स्थानीय कारोबारों को ढूंढना
कोड को लागू करना मॉडल को गणित की समस्याओं को हल करने या डेटा को सटीक तरीके से प्रोसेस करने के लिए, Python कोड लिखने और चलाने की अनुमति दें. - मुश्किल गणितीय समीकरण हल करना
- टेक्स्ट डेटा को सटीक तरीके से प्रोसेस और उसका विश्लेषण करना
यूआरएल का कॉन्टेक्स्ट मॉडल को किसी वेब पेज या दस्तावेज़ से कॉन्टेंट पढ़ने और उसका विश्लेषण करने का निर्देश दें. - किसी खास यूआरएल या दस्तावेज़ के आधार पर सवालों के जवाब देना
- अलग-अलग वेब पेजों से जानकारी पाना
कंप्यूटर पर इस्तेमाल करना (प्रीव्यू) Gemini को स्क्रीन देखने और वेब ब्राउज़र के यूज़र इंटरफ़ेस (क्लाइंट-साइड एक्ज़ीक्यूशन) के साथ इंटरैक्ट करने के लिए कार्रवाइयां जनरेट करने की अनुमति दें. - वेब पर बार-बार किए जाने वाले वर्कफ़्लो को अपने-आप पूरा करना
- वेब ऐप्लिकेशन के यूज़र इंटरफ़ेस की जांच करना
फ़ाइल खोजना Retrieval Augmented Generation (RAG) को चालू करने के लिए, अपने दस्तावेज़ों को इंडेक्स करें और उनमें खोज करें. - तकनीकी मैनुअल खोजना
- मालिकाना हक वाले डेटा के आधार पर सवालों के जवाब देना

किसी टूल से जुड़ी लागत के बारे में जानकारी पाने के लिए, कीमत की जानकारी वाला पेज देखें.

उपलब्ध एजेंट

एजेंट ब्यौरा उपयोग के उदाहरण
Deep Research यह कई चरणों में रिसर्च करने से जुड़े टास्क को अपने-आप प्लान करता है, उन्हें पूरा करता है, और उनसे जुड़ी जानकारी को एक साथ रखता है. - मार्केट ऐनलिसिस
- ज़रूरी जांच-पड़ताल
- साहित्य की समीक्षाएं

टूल के इस्तेमाल की सुविधा कैसे काम करती है

टूल की मदद से मॉडल, बातचीत के दौरान कार्रवाइयों का अनुरोध कर सकता है. यह फ़्लो इस बात पर निर्भर करता है कि टूल, Google की ओर से मैनेज किया जा रहा है या आपके हिसाब से बनाया गया है.

पहले से मौजूद टूल फ़्लो

Google Search, Google Maps, यूआरएल का कॉन्टेक्स्ट, फ़ाइल खोजने, और कोड एक्ज़ीक्यूट करने जैसे बिल्ट-इन टूल के लिए, पूरी प्रोसेस एक ही एपीआई कॉल में होती है:

  1. आपने यह प्रॉम्प्ट भेजा: "GOOG के मौजूदा स्टॉक की कीमत का वर्गमूल क्या है?"
  2. Gemini यह तय करता है कि उसे टूल की ज़रूरत है या नहीं.इसके बाद, वह Google के सर्वर पर उन टूल का इस्तेमाल करता है. उदाहरण के लिए, शेयर की कीमत खोजने के बाद, वह वर्गमूल का हिसाब लगाने के लिए Python कोड चलाता है.
  3. Gemini, टूल के नतीजों के आधार पर फ़ाइनल जवाब भेजता है.

कस्टम टूल फ़्लो (फ़ंक्शन कॉलिंग)

कस्टम टूल और कंप्यूटर के इस्तेमाल के लिए, आपका ऐप्लिकेशन एक्ज़ीक्यूशन को मैनेज करता है:

  1. आप फ़ंक्शन (टूल) के एलान के साथ एक प्रॉम्प्ट भेजते हैं.
  2. Gemini किसी फ़ंक्शन को कॉल करने के लिए, स्ट्रक्चर्ड JSON वापस भेज सकता है. उदाहरण के लिए, {"name": "get_order_status", "args": {"order_id": "123"}}. हालांकि, ऐसा हमेशा एक यूनीक id के साथ किया जाता है.
  3. आप अपने ऐप्लिकेशन या एनवायरमेंट में फ़ंक्शन को लागू करते हैं.
  4. आपको, फ़ंक्शन कॉल के लिए इस्तेमाल किए गए id के साथ, फ़ंक्शन के नतीजे Gemini को वापस भेजने होंगे.
  5. Gemini, नतीजों का इस्तेमाल करके फ़ाइनल जवाब जनरेट करता है या किसी अन्य टूल को कॉल करता है.

ज़्यादा जानकारी के लिए, फ़ंक्शन कॉल करने से जुड़ी गाइड पढ़ें.

पहले से मौजूद और कस्टम टूल को एक साथ इस्तेमाल करने का फ़्लो

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

  1. आपको एक प्रॉम्प्ट भेजना होगा. साथ ही, आपको यह बताना होगा कि आपको कौनसे बिल्ट-इन टूल और कस्टम फ़ंक्शन चालू करने हैं. इसके बाद, आपको एक फ़्लैग सेट करना होगा, ताकि कॉम्बिनेशन की सुविधा चालू हो सके.
  2. Gemini में पहले से मौजूद टूल इस्तेमाल किए जाते हैं. अगर कोई क्लाइंट-साइड फ़ंक्शन कॉल जनरेट होता है, तो Gemini उपयोगकर्ता को जवाब देता है. कौन सा फ़ंक्शन पहले काम करेगा, यह प्रॉम्प्ट और मॉडल के फ़ैसले पर निर्भर करता है. यह फ़ंक्शन, इन चीज़ों के साथ जवाब भेजता है:
    • टूल कॉल की पुष्टि करना
    • टूल के जवाब के नतीजे (अगर मॉडल ने दो पैरलल फ़ंक्शन कॉल जनरेट किए हैं, तो यह JSON के बाद दिख सकता है)
    • आपके फ़ंक्शन को कॉल करने के लिए स्ट्रक्चर्ड JSON
    • कॉन्टेक्स्ट को बनाए रखने के लिए, एन्क्रिप्ट (सुरक्षित) किए गए थॉट सिग्नेचर
  3. आप अपने ऐप्लिकेशन या एनवायरमेंट में फ़ंक्शन को लागू करते हैं.
  4. आपको Gemini के जवाब के सभी हिस्सों के साथ-साथ, फ़ंक्शन कॉल के नतीजे भी वापस भेजने होंगे.
  5. Gemini, सभी कॉन्टेक्स्ट को मिलाकर फ़ाइनल जवाब जनरेट करता है.

टूल कॉम्बिनेशन गाइड पढ़ें. इसमें, पहले से मौजूद और कस्टम टूल कॉम्बिनेशन के लिए सहायता चालू करने का तरीका बताया गया है. साथ ही, कॉन्टेक्स्ट सर्कुलेशन के उदाहरण भी दिए गए हैं.

स्ट्रक्चर्ड आउटपुट बनाम फ़ंक्शन कॉलिंग

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

टूल के साथ स्ट्रक्चर्ड आउटपुट

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

कोड के उदाहरणों के लिए, टूल की मदद से स्ट्रक्चर्ड आउटपुट पाना लेख पढ़ें.

बिल्डिंग एजेंट

एजेंट ऐसे सिस्टम होते हैं जो कई चरणों वाले टास्क पूरे करने के लिए, मॉडल और टूल का इस्तेमाल करते हैं. Gemini में, वजह बताने की क्षमता ("दिमाग") और ज़रूरी टूल ("हाथ") उपलब्ध होते हैं. हालांकि, एजेंट की मेमोरी को मैनेज करने, प्लान लूप करने, और जटिल टूल चेनिंग करने के लिए, आपको अक्सर ऑर्केस्ट्रेशन फ़्रेमवर्क की ज़रूरत होती है.

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

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

एजेंट फ़्रेमवर्क

Gemini, ओपन-सोर्स एजेंट फ़्रेमवर्क के साथ इंटिग्रेट होता है. जैसे:

  • LangChain / LangGraph: ग्राफ़ स्ट्रक्चर का इस्तेमाल करके, स्टेटफ़ुल, मुश्किल ऐप्लिकेशन फ़्लो, और मल्टी-एजेंट सिस्टम बनाएं.
  • LlamaIndex: Gemini एजेंट को अपने निजी डेटा से कनेक्ट करें, ताकि RAG की मदद से बेहतर वर्कफ़्लो बनाए जा सकें.
  • CrewAI: यह ऑटोनॉमस एआई एजेंट के साथ मिलकर काम करने और भूमिका निभाने में मदद करता है.
  • Vercel AI SDK: JavaScript/TypeScript में, एआई की मदद से काम करने वाले यूज़र इंटरफ़ेस और एजेंट बनाएं.
  • Google ADK: यह एक ओपन-सोर्स फ़्रेमवर्क है. इसका इस्तेमाल, अलग-अलग प्लैटफ़ॉर्म पर काम करने वाले एआई एजेंट बनाने और उन्हें व्यवस्थित करने के लिए किया जाता है.