टूल उपयोग, जिसे फंक्शन कॉलिंग भी कहा जाता है, वह क्षमता है जो एक बड़े भाषा मॉडल को प्रतिक्रिया उत्पन्न करने के भाग के रूप में किसी बाहरी फ़ंक्शन, API, या प्रोग्राम को संरचित तरीके से आमंत्रित करने की सुविधा देती है। केवल प्राकृतिक-भाषा पाठ उत्पन्न करने के बजाय, टूल उपयोग वाला मॉडल एक संरचित अनुरोध आउटपुट कर सकता है, जो आमतौर पर नामित तर्कों के साथ किसी फ़ंक्शन कॉल जैसा दिखता है, जिसे आस-पास का एप्लिकेशन मॉडल की ओर से निष्पादित करता है; परिणाम फिर मॉडल को लौटा दिया जाता है, अक्सर उसके संदर्भ-विंडो में वापस डाला जाता है, ताकि वह उस जानकारी को अपने अंतिम उत्तर में शामिल कर सके या आगे की कार्रवाई पर निर्णय ले सके। टूल उपयोग वह मूल तंत्र है जिसके द्वारा एक एआई-एजेंट अपने स्वयं के पाठ निर्माण के बाहर किसी भी चीज़ के साथ बातचीत करता है, जिसमें डेटाबेस, कैलकुलेटर, खोज इंजन, कोड निष्पादन वातावरण, और अन्य सॉफ़्टवेयर शामिल हैं।
विकास
प्रारंभिक भाषा मॉडल केवल सादा पाठ उत्पन्न कर सकते थे, इसलिए बाहरी प्रणालियों के साथ किसी भी बातचीत को मुक्त-रूप आउटपुट को पार्स करके और उम्मीद करके संभालना पड़ता था कि यह किसी अपेक्षित पैटर्न से मेल खाता है, जो एक अविश्वसनीय दृष्टिकोण था। संरचित फ़ंक्शन कॉलिंग को 2023 से प्रमुख प्रयोगशालाओं द्वारा एक प्रथम-श्रेणी मॉडल सुविधा के रूप में पेश किया गया, जिसमें प्रदाताओं ने मॉडलों को विशेष रूप से प्रशिक्षित किया ताकि वे प्रॉम्प्ट में वर्णित टूल के सेट के लिए अच्छी तरह से गठित कॉल उत्सर्जित करें, साथ ही मिलान वाले स्कीमा जो कॉल में शामिल तर्कों को प्रतिबंधित करते हैं। इसने टूल उपयोग को नाटकीय रूप से अधिक विश्वसनीय बना दिया और इसे 2024 तक लगभग सभी सीमांत चैट और API मॉडलों में एक मानक क्षमता में बदल दिया, साथ ही व्यापक प्रयासों के साथ, जिसमें एंथ्रोपिक का मॉडल-संदर्भ-प्रोटोकॉल नवंबर 2024 में पेश किया गया, ताकि विभिन्न विक्रेताओं और अनुप्रयोगों में टूल का वर्णन और मॉडलों से कनेक्शन मानकीकृत किया जा सके।
व्यवहार में यह कैसे काम करता है
एक सामान्य टूल-उपयोग आदान-प्रदान के तीन भाग होते हैं। पहला, कॉलिंग एप्लिकेशन उपलब्ध टूल का वर्णन मॉडल को करता है, आमतौर पर फ़ंक्शन नाम, विवरण, और अपेक्षित तर्क प्रकारों की सूची के रूप में, जो प्रॉम्प्ट में या उसके साथ शामिल होता है। दूसरा, जब मॉडल यह निर्धारित करता है कि उपयोगकर्ता के अनुरोध का उत्तर देने के लिए ऐसी जानकारी या कार्रवाई की आवश्यकता है जो वह स्वयं उत्पन्न नहीं कर सकता, जैसे वर्तमान डेटा देखना या सटीक गणना करना, तो यह प्राकृतिक-भाषा उत्तर के बजाय संबंधित टूल के लिए एक संरचित कॉल उत्सर्जित करता है। तीसरा, एप्लिकेशन उस कॉल को मॉडल के बाहर निष्पादित करता है, और परिणाम बातचीत में वापस फीड किया जाता है, जिसके बाद मॉडल इसका उपयोग अंतिम उत्तर बनाने या एक और कॉल जारी करने के लिए कर सकता है। यह लूप एक एजेंटिक कार्य के भीतर कई बार दोहराया जा सकता है, और मॉडल आमतौर पर स्वतंत्र रूप से निर्णय लेने के लिए प्रशिक्षित होते हैं कि टूल कॉल कब आवश्यक है बनाम जब वे अपने स्वयं के ज्ञान से सीधे उत्तर दे सकते हैं।
अनुप्रयोग
टूल उपयोग व्यावहारिक प्रणालियों की एक विस्तृत श्रृंखला का आधार है: एक मॉडल को हाल की घटनाओं के बारे में सवालों के जवाब देने के लिए एक वेब खोज फ़ंक्शन दिया जा सकता है, एक गणना या उत्पन्न कोड के टुकड़े को चलाने और सत्यापित करने के लिए एक कोड निष्पादन टूल, विशिष्ट रिकॉर्ड देखने के लिए एक डेटाबेस क्वेरी टूल, या संदेश भेजने या बाहरी प्रणाली में रिकॉर्ड अपडेट करने जैसी कार्रवाई करने के लिए एक API कॉल। यह पुनर्प्राप्ति-संवर्धित-पीढ़ी पाइपलाइनों का भी आधार है जो पुनर्प्राप्ति को एक कॉल करने योग्य टूल के रूप में उजागर करती हैं, और कंप्यूटर-उपयोग प्रणालियों का, जहां "टूल" एक संकीर्ण API के बजाय माउस और कीबोर्ड जैसे ग्राफिकल इंटरफ़ेस पर नियंत्रण है।
विश्वसनीयता और सुरक्षा
टूल उपयोग ऐसे विफलता मोड पेश करता है जो सादा पाठ पीढ़ी में नहीं होते, क्योंकि एक मॉडल गलत टूल कॉल कर सकता है, दोषपूर्ण या भ्रमित तर्क प्रदान कर सकता है, या किसी टूल को असामान्य रूप से बड़ी संख्या में लूप में कॉल कर सकता है। क्योंकि टूल कॉल के वास्तविक-दुनिया के दुष्प्रभाव हो सकते हैं, ईमेल भेजने से लेकर मनमाना कोड निष्पादित करने तक, टूल उपयोग अलग सुरक्षा प्रश्न भी उठाता है, जिसमें यह शामिल है कि किसी मॉडल को प्रतिकूल सामग्री द्वारा उपलब्ध टूल का दुरुपयोग करने के लिए हेरफेर करने से कैसे रोका जाए, एक हमला पैटर्न जो प्रॉम्प्ट-इंजेक्शन से निकटता से जुड़ा है। उत्पादन प्रणालियाँ आमतौर पर अनुमति स्कोपिंग, परिणामी कार्यों के लिए मानव पुष्टिकरण चरण, और किसी भी टूल के सैंडबॉक्सिंग के साथ इसका समाधान करती हैं जो कोड निष्पादित करता है या संवेदनशील डेटा तक पहुँचता है।