Function calling (LLM) (HI)
Function Calling (फ़ंक्शन कॉलिंग) — यह बड़े भाषा मॉडलों (LLM) में एक ऐसा तंत्र है जो मॉडल को बाहरी उपकरणों और API के साथ संवाद करने में सक्षम बनाता है। इसमें मॉडल सीधे पाठ्य उत्तर देने के बजाय फ़ंक्शन को कॉल करने के लिए संरचित डेटा (सामान्यतः JSON) उत्पन्न करता है[1]।
दूसरे शब्दों में, मॉडल उपयोगकर्ता के अनुरोध के आधार पर यह निर्धारित करता है कि उपलब्ध फ़ंक्शनों के दिए गए समूह में से किस फ़ंक्शन को किन पैरामीटरों के साथ कॉल किया जाना चाहिए। यह तंत्र LLM के उपयोग के क्षेत्र को विस्तारित करता है, जिससे वे प्राकृतिक भाषा और व्यावहारिक कार्यों के बीच एक इंटरफ़ेस की भूमिका निभा सकते हैं। इससे AI को बाहरी प्रणालियों के साथ एकीकृत करने की संभावनाएँ खुलती हैं: मॉडल नवीनतम डेटा प्राप्त कर सकता है, ऑपरेशन निष्पादित कर सकता है या सेवाओं का उपयोग कर सकता है, जो बुद्धिमान सहायकों और स्वायत्त एजेंटों के निर्माण में विशेष रूप से मूल्यवान है। बाहरी उपकरणों का उपयोग विश्वसनीय स्रोतों पर निर्भरता के माध्यम से hallucinations (काल्पनिक तथ्यों) के जोखिम को भी कम करता है[2]।
इतिहास और कार्यान्वयन के दृष्टिकोण
प्रारंभिक दृष्टिकोण (prompting और Toolformer)
भाषा मॉडलों को उपकरण कॉल करना सिखाने का विचार 2022–2023 में आकार लिया। शुरुआती दृष्टिकोण जटिल prompting तकनीकों पर आधारित थे। उदाहरण के लिए, 2022 में ReAct योजना प्रस्तावित की गई, जहाँ मॉडल संवाद के दौरान तर्क और कार्यों (उपकरण कॉल) को एकल पाठ में एन्कोड करते हुए एकांतर करता था।
एक महत्वपूर्ण कदम Toolformer मॉडल का उद्भव था, जिसे Meta के शोधकर्ताओं ने 2023 की शुरुआत में प्रस्तुत किया। Toolformer ने दर्शाया कि LLM को विशेष रूप से fine-tune किया जा सकता है ताकि वे पाठ्य संकेतों के आधार पर स्वतंत्र रूप से बाहरी उपकरणों (कैलकुलेटर, सर्च इंजन, कैलेंडर) को कॉल कर सकें और उत्पन्न पाठ में विशेष API कॉल token सम्मिलित कर सकें[3]।
आधिकारिक समर्थन और विकास
OpenAI ने एक विशेष मील का पत्थर स्थापित किया, जिसने जून 2023 में GPT-3.5 और GPT-4 मॉडलों के लिए अपने API में Function Calling का आधिकारिक समर्थन लागू किया[4]। मॉडलों के नए संस्करणों को उन स्थितियों को पहचानने के लिए fine-tune किया गया जब उपयोगकर्ता का अनुरोध किसी बाहरी फ़ंक्शन के उपयोग की आवश्यकता दर्शाता है, और तर्कों के साथ सटीक रूप से संरचित JSON ऑब्जेक्ट उत्पन्न करने के लिए। OpenAI ने इस क्षमता को "GPT को बाहरी उपकरणों और API से विश्वसनीय रूप से जोड़ने का एक नया तरीका" कहा।
खुली पहल
व्यावसायिक कार्यान्वयनों के बाद, सही फ़ंक्शन कॉल उत्पन्न करने के लिए fine-tune किए गए खुले मॉडल सामने आए।
- Gorilla: UC Berkeley का प्रोजेक्ट, LLaMA का एक fine-tuned संस्करण, जो हज़ारों विभिन्न API को कॉल उत्पन्न करने में सक्षम है। ऐसे मॉडलों के मूल्यांकन के लिए Berkeley Function-Calling Leaderboard benchmark बनाया गया[5]।
- ToolAlpaca, ToolLLaMA, Hermes: खुले मॉडलों की श्रृंखलाएँ, जिन्हें फ़ंक्शन कॉल के सिंथेटिक उदाहरणों पर fine-tune किया गया है, जो अक्सर अधिक शक्तिशाली मॉडलों द्वारा उत्पन्न किए जाते हैं।
कार्य तंत्र
Function Calling के उपयोग की प्रक्रिया में सामान्यतः कई चरण शामिल होते हैं:
- फ़ंक्शनों की परिभाषा। डेवलपर पहले से मॉडल के लिए उपलब्ध फ़ंक्शनों का एक समूह परिभाषित करता है (उदाहरण के लिए, बाहरी API) और उनकी signatures तथा उद्देश्य का वर्णन करता है, सामान्यतः JSON Schema प्रारूप में।
- अनुरोध का विश्लेषण। संवाद के दौरान मॉडल उपयोगकर्ता के इरादे का विश्लेषण करता है और स्वतंत्र रूप से यह तय करता है कि उत्तर देने के लिए परिभाषित फ़ंक्शनों में से किसी एक को कॉल करना आवश्यक है या नहीं।
- कॉल उत्पन्न करना। यदि किसी कार्य की आवश्यकता है, तो LLM सामान्य पाठ के बजाय एक विशेष संरचित आउटपुट उत्पन्न करता है (उदाहरण के लिए, फ़ंक्शन के नाम और तर्कों के साथ JSON)। यदि कॉल की आवश्यकता नहीं है, तो मॉडल सामान्य पाठ्य उत्तर लौटाता है।
- फ़ंक्शन का निष्पादन। बाहरी प्रोग्राम (चैटबॉट का आवरण या एजेंट) JSON प्राप्त करता है, प्रस्तावित पैरामीटरों के साथ निर्दिष्ट फ़ंक्शन का वास्तविक कॉल निष्पादित करता है और परिणाम वापस मॉडल को भेजता है।
- अंतिम उत्तर का निर्माण। मॉडल प्राप्त डेटा का उपयोग उपयोगकर्ता के लिए अंतिम उत्तर उत्पन्न करने के लिए करता है[4]।
इस बहु-चरणीय प्रक्रिया को प्रबंधित करने के लिए मॉडल प्रशिक्षण के दौरान विशेष संवाद प्रारूपों का उपयोग किया जाता है, उदाहरण के लिए OpenAI का ChatML markup, जहाँ "उपयोगकर्ता" और "सहायक" की भूमिकाओं के अलावा कॉल परिणाम प्रेषित करने के लिए "फ़ंक्शन" की भूमिका भी शामिल है।
उपयोग और लाभ
फ़ंक्शन कॉल करने की क्षमता LLM के साथ हल की जा सकने वाली समस्याओं के दायरे को उल्लेखनीय रूप से विस्तारित करती है।
- बाहरी API के साथ एकीकरण। मॉडल उन अनुरोधों का उत्तर दे सकता है जिनके लिए नवीनतम जानकारी की आवश्यकता होती है, बाहरी सेवाओं को कॉल करके (उदाहरण के लिए, मौसम, मुद्रा विनिमय दरें, समाचार प्राप्त करने के लिए)।
- उपयोगकर्ता कार्यों का स्वचालन। LLM नियमित कार्य कर सकता है: ईमेल भेजना, कैलेंडर में इवेंट बनाना, ऑनलाइन स्टोर में ऑर्डर देना।
- डेटाबेस और विश्लेषण तक पहुँच। प्राकृतिक भाषा के अनुरोधों को डेटा निष्कर्षण और विश्लेषण के लिए आंतरिक API कॉल या SQL क्वेरी में अनुवादित किया जा सकता है।
- संरचित जानकारी का निष्कर्षण। LLM स्वयं लंबे पाठ से तथ्यों (जैसे नाम, तारीखें, पते) को निकाल सकता है और उन्हें एक संरचित JSON array के रूप में लौटा सकता है, जो बाद की प्रोग्रामेटिक प्रक्रिया के लिए सुविधाजनक है।
सुरक्षा समस्याएँ
मॉडलों की क्षमताओं को विस्तारित करते हुए, Function Calling साथ ही नए जोखिम भी लाता है।
- असत्यापित आउटपुट। बाहरी उपकरणों के साथ मॉडल की बातचीत को सावधानीपूर्वक सुरक्षित किया जाना चाहिए। यदि मॉडल को API से कोई दुर्भावनापूर्ण या गलत मान मिलता है, तो वह इसे उत्तर में शामिल कर सकता है या इसके आधार पर किसी अन्य फ़ंक्शन को कॉल कर सकता है, जिससे अप्रत्याशित परिणाम हो सकते हैं।
- फ़ंक्शन तर्कों के माध्यम से हमले। शोधकर्ताओं ने Function Calling मोड के लिए विशिष्ट कमज़ोरियाँ खोजी हैं। 2025 में एक हमले का प्रदर्शन किया गया जिसे "Function Calling का अंधेरा पक्ष" नाम दिया गया। इसका सार एक विशेष "फ़ंक्शन" मॉडल को प्रस्तावित करने में है, जिसके तर्कों के भीतर एक निषिद्ध निर्देश (jailbreak payload) छिपा होता है। मॉडल, फ़ंक्शन कॉल के सिद्धांत का पालन करते हुए, नियमों का उल्लंघन करने वाली सामग्री वाले तर्क उत्पन्न करता है और इस प्रकार मॉडरेशन फ़िल्टर को दरकिनार कर देता है। परीक्षण ने GPT-4 और Claude सहित छह आधुनिक मॉडलों पर 90% से अधिक मामलों में हमले की सफलता दिखाई[2]।
ऐसी घटनाओं को रोकने के लिए, मॉडल को केवल विश्वसनीय उपकरण प्रदान करने, महत्वपूर्ण कार्यों को निष्पादित करने से पहले उपयोगकर्ता की पुष्टि लागू करने, साथ ही विशेष "रक्षात्मक" prompt और खतरनाक सामग्री के लिए तर्कों की कड़ी जाँच का उपयोग करने की अनुशंसा की जाती है।
संदर्भ
- OpenAI द्वारा Function Calling की आधिकारिक घोषणा
- Gorilla LLM प्रोजेक्ट पृष्ठ
- Apideck (2024). An Introduction to Function Calling and Tool Use. Apideck Blog.
- LangChain (2025). Tool Calling (Documentation). LangChain Docs.
- Mistral AI (2025). Function Calling – Documentation. Mistral Docs.
- Hopsworks (2024). What is Function Calling with LLMs?. Hopsworks Dictionary.
- Hopsworks (2024). Unlocking the Power of Function Calling with LLMs. Hopsworks Blog.
- University of California, Berkeley (2025). Berkeley Function Calling Leaderboard V3. Online Resource.
साहित्य
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. ACL 2025.
- OpenAI (2023). Function Calling and Other API Updates. OpenAI Blog.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Patil, S. G. et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334.
- Liu, W. et al. (2024). ToolACE: Winning the Points of LLM Function Calling. arXiv:2409.00920.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
टिप्पणियाँ
- ↑ «What is Function Calling with LLMs?». Hopsworks. [१]
- ↑ 2.0 2.1 Wu, Z. et al. «The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models». Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing, 2025. [२]
- ↑ Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». arXiv:2302.04761, 2023. [३]
- ↑ 4.0 4.1 «Function calling and other API updates». OpenAI, 2023. [४]
- ↑ «Gorilla: Large Language Model Connected to Massive APIs». University of California, Berkeley. [५]