API प्रवाह: (1) आप अपना प्रॉम्प्ट और function definitions (प्रत्येक function के नाम, विवरण और पैरामीटर का वर्णन करने वाले JSON schemas) भेजते हैं, (2) मॉडल तय करता है कि function को कॉल करना है या नहीं और कौन सा, (3) यह विशिष्ट arguments के साथ एक संरचित function call आउटपुट करता है, (4) आपका कोड function निष्पादित करता है और परिणाम लौटाता है, (5) मॉडल परिणाम को अपनी प्रतिक्रिया में शामिल करता है। कुछ मॉडल अनुक्रम में या समानांतर में कई functions कॉल कर सकते हैं।
Function calling मॉडल-स्तरीय primitive है: मॉडल संरचित tool calls आउटपुट करता है। MCP (Model Context Protocol) एक उच्च-स्तरीय प्रोटोकॉल है जो tools की खोज, वर्णन और कनेक्शन को मानकीकृत करता है। Function calling को instruction set और MCP को ऑपरेटिंग सिस्टम समझें — MCP नीचे function calling का उपयोग करता है लेकिन tool discovery, authentication और प्रदाताओं में मानकीकरण जोड़ता है।
Function calling मॉडल को टेक्स्ट के रूप में function calls आउटपुट करने के लिए कहने से अधिक विश्वसनीय है (जिसमें parsing की आवश्यकता होती है और त्रुटि-प्रवण है)। प्रदाता मॉडल के आउटपुट को आपके schema से मेल खाने वाले वैध function calls तक सीमित करके function calling लागू करते हैं — structured output के समान। लेकिन मॉडल अभी भी गलत functions चुन सकता है, पैरामीटर मान hallucinate कर सकता है, या जब नहीं करना चाहिए तब functions कॉल कर सकता है। मज़बूत अनुप्रयोगों में validation, error handling, और उच्च-जोखिम संचालन के लिए human-in-the-loop पुष्टि शामिल होती है।