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

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

टूल, खास सुविधाएँ होती हैं. जैसे, Google Search या कोड एक्ज़ीक्यूशन. इनका इस्तेमाल करके, मॉडल सवालों के जवाब दे सकता है. Gemini API में, पूरी तरह से मैनेज किए जाने वाले बिल्ट-इन टूल का एक सुइट उपलब्ध होता है. इसके अलावा, फ़ंक्शन कॉलिंग का इस्तेमाल करके, कस्टम टूल तय किए जा सकते हैं.

एक से ज़्यादा चरणों वाले, लक्ष्य-उन्मुख सिस्टम बनाने के लिए, एजेंट की खास जानकारी देखें.

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

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

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

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

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

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

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

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