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