एक AI मॉडल की क्षमता जो बातचीत के दौरान बाहरी फ़ंक्शन या उपकरण कॉल कर सकता है। टेक्स्ट उत्पन्न करने के बजाय, मॉडल इंटरनेट पर खोज कर सकता है, कोड चला सकता है, एक डेटाबेस के लिए प्रश्न पूछ सकता है, या एक API कॉल कर सकता है — फिर परिणामों को अपनी प्रतिक्रिया में शामिल कर सकता है। मॉडल एक संरचित "टूल कॉल" आउटपुट करता है जिसे मेजबान एप्लिकेशन निष्पादित करता है।
यहाँ टूल के उपयोग के बारे में वास्तविक कार्य तरीका है। जब आप किसी एपीआई जैसे क्लॉउड या जीपीटी-4 के लिए संदेश भेजते हैं, तो आप एक टूल परिभाषाओं की सूची भी भेजते हैं — प्रत्येक एक जेएसओएन स्कीमा होता है जो फंक्शन के नाम, उसके पैरामीटर (टाइप और विवरण के साथ) और उसके कार्य का वर्णन करता है। मॉडल इन परिभाषाओं को अपने संदर्भ के भाग के रूप में पढ़ता है, और जब यह निर्णय लेता है कि एक टूल को कॉल करना उपयोगकर्ता के प्रश्न के उत्तर देने में मदद करेगा, तो यह टेक्स्ट उत्पन्न करना बंद कर देता है और बजाय एक संरचित टूल-कॉल ऑब्जेक्ट उत्पन्न करता है: फंक्शन के नाम और उसके द्वारा पारित करने चाहे वाले आर्गुमेंट। आपके एप्लिकेशन कोड फिर उस फंक्शन को निष्पादित करता है (एपीआई को हिट करके, डेटाबेस को प्रश्न करके, एक गणना चलाकर), और परिणाम को मॉडल के लिए एक नए संदेश के रूप में वापस भेजता है। मॉडल परिणाम को पढ़ता है और अपनी प्रतिक्रिया उत्पन्न करना जारी रखता है। यह मॉडल के "कोड चलाना" नहीं है — यह मॉडल के द्वारा संरचित आउटपुट उत्पन्न करना है जिसे आपके एप्लिकेशन द्वारा व्याख्या किया जाता है और उस पर कार्रवाई की जाती है।
आपके टूल परिभाषाओं की गुणवत्ता बहुत महत्वपूर्ण होती है। मॉडल अपने नाम और विवरण के आधार पर टूल चुनता है, इसलिए एक टूल जिसका नाम search_docs है और जिसका विवरण "एक प्राकृतिक भाषा प्रश्न के आधार पर आंतरिक ज्ञान बेस के लिए संबंधित दस्तावेज़ खोजें" है, उपयुक्त तरीके से उपयोग किया जाएगा, जबकि एक टूल जिसका नाम sd है और जिसका कोई विवरण नहीं है, मॉडल को भ्रमित करेगा। पैरामीटर विवरण भी बराबर महत्वपूर्ण होते हैं — यदि आपके पास एक date पैरामीटर है, तो अपेक्षित फॉर्मेट ("ISO 8601, उदाहरण के लिए 2025-03-15") निर्दिष्ट करें, अन्यथा मॉडल अनुमान लगाएगा। क्लॉउड एपीआई में, आप एक tool_choice पैरामीटर भी जोड़ सकते हैं जिससे मॉडल को एक विशिष्ट टूल का उपयोग करना अनिवार्य कर दिया जाए, इसकी आजाद चुनौती दी जाए या टूल के उपयोग को पूरी तरह रोक दिया जाए। ओपनएआई के एपीआई में इसके समान नियंत्रण हैं। इन परिभाषाओं को सही तरीके से प्राप्त करना अक्सर एक टूल-उपयोग समाकलन के बीच अंतर होता है जो विश्वसनीय रूप से काम करता है और एक जो किनारे के मामलों में टूट जाता है।
समानांतर टूल कॉलिंग एक विशेषता है जो आसानी से छूट जाती है लेकिन प्रदर्शन के लिए महत्वपूर्ण है। जब मॉडल कई स्रोतों से जानकारी एकत्र करने की आवश्यकता होती है — उदाहरण के लिए, तीन शहरों में मौसम जांचना — तो यह एक उत्तर में कई टूल कॉल उत्पन्न कर सकता है। आपके एप्लिकेशन उन्हें समानांतर में निष्पादित करता है और सभी परिणाम एक साथ वापस भेजता है। क्लॉउड, जीपीटी-4 और जेमिनी सभी इसका समर्थन करते हैं। वैकल्पिक विकल्प (क्रमानुसार कॉल, प्रत्येक राउंड ट्रिप के लिए) लैटेंसी जो तेजी से जमा हो जाता है जोड़ता है। यदि आप एक टूल-उपयोग समाकलन बना रहे हैं, तो अपने निष्पादन परत को टूल कॉल के एरे के लिए शुरू से डिज़ाइन करें।
एक सामान्य बात यह है कि टूल के उपयोग निश्चित नहीं होता है। एक ही प्रॉम्प्ट और टूल के उपयोग के बावजूद, मॉडल अलग-अलग टूल को कॉल कर सकता ह