← 返回列表

Function Calling तकनीकी सारांश

Function Calling तकनीकी सारांश

1. परिभाषा

Function Calling एक तंत्र है जो डेवलपर्स को JSON schema के माध्यम से बड़े भाषा मॉडल (LLM) को उपलब्ध बाहरी उपकरणों (जैसे API) का वर्णन करने की अनुमति देता है। जब मॉडल यह निर्णय लेता है कि उपयोगकर्ता के प्रश्न का उत्तर देने के लिए किसी उपकरण को कॉल करना आवश्यक है, तो यह संरचित tool_calls JSON डेटा आउटपुट करता है, जो कॉल किए जाने वाले फ़ंक्शन के नाम और पैरामीटर को इंगित करता है। होस्ट प्रोग्राम इस कॉल को पार्स और निष्पादित करता है, परिणाम मॉडल को लौटाता है, और मॉडल अंतिम उत्तर उत्पन्न करता है।

2. मूल सिद्धांत और हल की गई समस्याएं

  • सार: "दो-दौर वार्तालाप + मध्यवर्ती निष्पादन" का एक बंद लूप। पहले दौर में मॉडल निर्णय लेता है और उपकरण कॉल अनुरोध आउटपुट करता है; मध्यवर्ती कोड उपकरण निष्पादित करता है; दूसरे दौर में मॉडल निष्पादन परिणामों के आधार पर अंतिम उत्तर उत्पन्न करता है।
  • हल की गई समस्याएं: इसने पहले की समस्या को हल किया जहां मॉडल को उपकरण कॉल करने के लिए अस्थिर और त्रुटि-प्रवण प्राकृतिक भाषा पार्सिंग (if/else निर्णय) पर निर्भर रहना पड़ता था, संरचित आउटपुट के माध्यम से मानकीकरण और सटीकता में सुधार किया।

3. भूमिकाओं का विभाजन (कार्य प्रतिनिधिमंडल के अनुरूप)

  • डेवलपर (HR): उपकरणों को परिभाषित करता है, उपकरण की कार्यक्षमता, पैरामीटर आदि का वर्णन करने वाला JSON Schema लिखता है।
  • LLM मॉडल (प्रबंधक): उपकरण विवरण को समझता है, निर्णय लेता है कि कॉल करना है या नहीं, कौन सा उपकरण कॉल करना है और पैरामीटर क्या हैं, और संरचित कॉल अनुरोध (tool_calls) आउटपुट करता है। मॉडल केवल निर्णय लेता है और टेक्स्ट उत्पन्न करता है, कोड स्वयं निष्पादित नहीं करता
  • निष्पादक/होस्ट कोड (कर्मचारी): मॉडल के tool_calls अनुरोध को पार्स करता है, वास्तव में संबंधित फ़ंक्शन या API कॉल निष्पादित करता है, और परिणाम लौटाता है।

4. उपकरण परिभाषा (JSON Schema)

Schema उपकरण का "निर्देश पुस्तिका" है, प्रमुख जानकारी में शामिल हैं:
- name: उपकरण का अद्वितीय पहचानकर्ता।
- description: अत्यंत महत्वपूर्ण, मॉडल पूरी तरह से इस विवरण पर निर्भर करता है कि उपकरण को कॉल करना है या नहीं। विवरण जितना स्पष्ट और सटीक होगा, मॉडल का निर्णय उतना ही सटीक होगा।
- parameters: उपकरण के लिए आवश्यक पैरामीटर और उनके प्रकार, विवरण, बाधाएं (जैसे एनम मान, आवश्यकता आदि) परिभाषित करता है।

5. पूर्ण कॉल प्रक्रिया

लेख मौसम पूछताछ के एक कोड उदाहरण के माध्यम से दिखाता है कि कैसे उपयोगकर्ता प्रश्न से, उपकरण परिभाषा के साथ पहली मॉडल कॉल, मॉडल द्वारा tool_calls लौटाना, कोड द्वारा फ़ंक्शन निष्पादन, role: "tool" संदेश के रूप में परिणाम को वार्तालाप इतिहास में वापस डालना, और अंत में मॉडल द्वारा अंतिम प्राकृतिक भाषा उत्तर उत्पन्न करने की पूरी प्रक्रिया होती है।

6. उन्नत सुविधा - समानांतर उपकरण कॉल

जब उपयोगकर्ता के प्रश्न का उत्तर देने के लिए कई उपकरणों के सहयोग की आवश्यकता होती है (उदाहरण के लिए, एक साथ कई शहरों का मौसम पूछना), तो मॉडल एक प्रतिक्रिया में कई tool_calls की सूची आउटपुट कर सकता है। होस्ट कोड इन कॉलों को समानांतर रूप से निष्पादित कर सकता है, फिर सभी परिणामों को एक साथ मॉडल को लौटा सकता है ताकि वह संयोजित कर सके, जिससे दक्षता में सुधार होता है।

评论

暂无已展示的评论。

发表评论(匿名)