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

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

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

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

उपलब्ध बिल्ट-इन टूल

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

टूल की मदद से स्ट्रक्चर्ड आउटपुट जनरेट करना

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

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