11 मार्च, 2025 तक, हमने अपने नए Agents प्लेटफ़ॉर्म के बिल्डिंग ब्लॉक्स जारी कर दिए हैं। विवरण के लिए, हमारे Responses API, Web Search, File Search, और Computer Use सहित Tools, और Agents SDK with Tracing के लिए हमारे API docs देखें।
फ़ंक्शन कॉलिंग आपको OpenAI मॉडल को बाहरी टूल और सिस्टम से जोड़ने देती है. यह कई चीज़ों के लिए उपयोगी है, जैसे AI सहायकों को क्षमताओं से सशक्त बनाना, या आपके एप्लिकेशन और LLM के बीच गहरे इंटीग्रेशन बनाना.
हमारी फ़ंक्शन कॉलिंग डेवलपर गाइड में और जानें.
जून 2024 में, हमने स्ट्रक्चर्ड आउटपुट लॉन्च किया. जब आप अपनी फ़ंक्शन परिभाषा में strict: true सेट करके इसे चालू करते हैं, तो स्ट्रक्चर्ड आउटपुट गारंटी देता है कि फ़ंक्शन कॉल के लिए मॉडल द्वारा जनरेट किए गए आर्ग्युमेंट्स ठीक उसी JSON स्कीमा से मेल खाते हैं जो आपने फ़ंक्शन परिभाषा में दिया था.
अक्टूबर 2024 में, हमने “कुछ भी जनरेट करें” फ़ीचर लॉन्च किया, जो डेवलपरों को किसी फ़ंक्शन का वर्णन करने, उसे सीधे पेस्ट करने या अपना कोड पेस्ट करके मान्य फ़ंक्शन स्कीमा जनरेट करने की सुविधा देता है. “कुछ भी जनरेट करें” के बारे में अधिक जानें इस सहायता केंद्र लेख में.
मैं फ़ंक्शन कॉलिंग का उपयोग कैसे कर सकता/सकती हूँ?
फ़ंक्शन कॉलिंग बड़ी संख्या में उपयोग मामलों के लिए उपयोगी है, जैसे:
सहायकों को डेटा लाने में सक्षम बनाना:
सहायकों को कार्रवाइयाँ करने में सक्षम बनाना:
सहायकों को गणना करने में सक्षम बनाना:
समृद्ध वर्कफ़्लो बनाना:
एक डेटा एक्सट्रैक्शन पाइपलाइन जो रॉ टेक्स्ट लाती है, फिर उसे स्ट्रक्चर्ड डेटा में बदलती है और डेटाबेस में सहेजती है.
फ़ंक्शन कॉलिंग रिस्पॉन्सेस API में समर्थित है, जो उन क्षमताओं को एकीकृत करता है जो पहले चैट कम्प्लीशन्स API और असिस्टेंट्स API में विभाजित थीं.
मैं JSON मोड का उपयोग कैसे कर सकता/सकती हूँ?
जब JSON मोड चालू होता है, तो मॉडल का आउटपुट मान्य JSON होना सुनिश्चित किया जाता है, कुछ एज केस छोड़कर जिन्हें आपको पहचानकर उचित रूप से संभालना चाहिए.
चैट कम्प्लीशन्स API के साथ JSON मोड का अनुरोध करने के लिए, समर्थित मॉडल पर response_format को { "type": "json_object" } पर सेट करें. रिस्पॉन्सेस API में, जहाँ लागू हो, text.format को { "type": "json_object" } पर सेट करें, उदाहरण के लिए text: { "format": { "type": "json_object" } }. किसी भी API में, JSON मोड केवल तभी काम करता है जब मॉडल/मैसेज/टूल की पूर्वापेक्षाएँ पूरी हों (उदाहरण के लिए, मॉडल json_object का समर्थन करता हो, बातचीत में JSON बनाने के निर्देश शामिल हों, और कोई भी टूल बाधाएँ संगत हों). प्रभावी इनपुट संदर्भ में कम-से-कम एक अनुरोध संदेश या इनपुट संदेश में बड़े-छोटे अक्षरों की परवाह किए बिना json होना चाहिए, जैसे JSON, json, या Json; अन्यथा, API त्रुटि लौटाता है. रिस्पॉन्सेस में, केवल शीर्ष-स्तरीय निर्देश फ़ील्ड इस वैलिडेशन को पूरा नहीं करता. जब संगत मॉडल/पाथ पर फ़ंक्शन कॉलिंग का उपयोग किया जाता है, तो फ़ंक्शन-कॉल आर्ग्युमेंट्स पर JSON बाधाएँ अपने आप लागू हो जाती हैं; असंगत मॉडल या टूल/रिस्पॉन्स-फ़ॉर्मैट संयोजन अस्वीकार किए जा सकते हैं या JSON-बाधित सैंपलिंग का उपयोग नहीं कर सकते.
महत्वपूर्ण नोट्स:
JSON मोड का उपयोग करते समय, आपको हमेशा बातचीत में किसी संदेश के माध्यम से मॉडल को JSON बनाने का निर्देश देना होगा, उदाहरण के लिए अपने सिस्टम संदेश के माध्यम से. यदि आप JSON जनरेट करने का स्पष्ट निर्देश शामिल नहीं करते हैं, तो मॉडल व्हाइटस्पेस की अंतहीन स्ट्रीम जनरेट कर सकता है और अनुरोध टोकन सीमा तक पहुँचने तक लगातार चलता रह सकता है. यह सुनिश्चित करने में मदद के लिए कि आप भूलें नहीं, JSON मोड अनुरोधों को तब तक अस्वीकार करता है जब तक संबंधित इनपुट संदेशों या निर्देशों में बड़े-छोटे अक्षरों की परवाह किए बिना किसी रूप में
jsonशब्द न हो.JSON मोड यह गारंटी नहीं देगा कि आउटपुट किसी विशिष्ट स्कीमा से मेल खाता है, केवल यह कि वह मान्य है और बिना त्रुटियों के पार्स होता है. आपको यह सुनिश्चित करने के लिए स्ट्रक्चर्ड आउटपुट का उपयोग करना चाहिए कि यह आपके स्कीमा से मेल खाता है, या यदि यह संभव नहीं है, तो आपको वैलिडेशन लाइब्रेरी और संभवतः रीट्राई का उपयोग करना चाहिए ताकि आउटपुट आपके इच्छित स्कीमा से मेल खाए.
आपके एप्लिकेशन को उन एज केस का पता लगाकर उन्हें संभालना होगा जिनके कारण मॉडल आउटपुट पूर्ण JSON ऑब्जेक्ट नहीं रह सकता (नीचे देखें).
