OpenAI
या पेजला मशीनद्वारे भाषांतरित केले आहे. मूळ इंग्रजी लेख पहा.

OpenAI API मधील फंक्शन कॉलिंग

फंक्शन कॉलिंग म्हणजे काय आणि ते OpenAI API मध्ये कसे कार्य करते?

अपडेट केले: 18 days ago

11 मार्च 2025 पासून, आम्ही आमच्या नवीन Agents प्लॅटफॉर्मचे मूलभूत घटक प्रकाशित केले आहेत. तपशीलांसाठी, आमचे Responses API साठीचे API docs, Web Search, File Search, आणि Computer Use यांसह Tools, तसेच Agents SDK मधील Tracing यांसाठी आमचे API docs पहा.

फंक्शन कॉलिंगमुळे तुम्ही OpenAI मॉडेल्सना बाह्य साधने आणि प्रणालींशी जोडू शकता. AI सहाय्यकांना विविध क्षमता देणे किंवा तुमचे अनुप्रयोग आणि LLM यांच्यात सखोल एकात्मता निर्माण करणे अशा अनेक गोष्टींसाठी हे उपयुक्त आहे.

आमच्या फंक्शन कॉलिंग विकसक मार्गदर्शिकेत अधिक जाणून घ्या.

जून २०२४ मध्ये आम्ही स्ट्रक्चर्ड आउटपुट्स सादर केले. समर्थित मॉडेल्स आणि विनंती संरचनांमध्ये, मॉडेलने फंक्शन कॉल केल्यावर तुमच्या फंक्शनच्या व्याख्येत strict: true निश्चित केल्यास निर्माण केलेली इनपुट मूल्ये दिलेल्या स्कीमाचे पालन करतात. यासाठी स्कीमाने JSON स्कीमाचा समर्थित उपसंच वापरणे आणि कठोर मोडच्या आवश्यकता पूर्ण करणे गरजेचे आहे. असमर्थित किंवा नियमांशी विसंगत स्कीमा असलेल्या विनंत्या त्रुटी दर्शवून नाकारल्या जातात.

ऑक्टोबर २०२४ मध्ये आम्ही ‘काहीही निर्माण करा’ हे वैशिष्ट्य सादर केले. यामुळे विकसक फंक्शनचे वर्णन देऊन ते थेट पेस्ट करू शकतात किंवा स्वतःचा कोड पेस्ट करून वैध फंक्शन स्कीमा तयार करू शकतात. ‘काहीही निर्माण करा’ याबद्दल येथे दिलेल्या मदत केंद्रातील लेखात अधिक जाणून घ्या.

मी फंक्शन कॉलिंग कसे वापरू शकतो?

फंक्शन कॉलिंग अनेक वापरप्रकरणांसाठी उपयुक्त आहे, जसे:

  • असिस्टंट्सना डेटा आणण्यास सक्षम करणे:

  • असिस्टंट्सना कृती करण्यास सक्षम करणे:

  • असिस्टंट्सना गणना करण्यास सक्षम करणे:

  • समृद्ध वर्कफ्लोज तयार करणे:

  • कच्चा मजकूर आणणारी, नंतर तो स्ट्रक्चर्ड डेटामध्ये रूपांतरित करून डेटाबेसमध्ये जतन करणारी डेटा एक्स्ट्रॅक्शन पाइपलाइन.

फंक्शन कॉलिंग 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 ऑब्जेक्ट नसण्यास कारणीभूत ठरू शकणाऱ्या एज केसेस तुमच्या अ‍ॅप्लिकेशनने ओळखून हाताळल्या पाहिजेत (खाली पहा).

हा लेख उपयुक्त आहे का?