- API में "Structured Outputs" पेश किया गया
- यह एक नई सुविधा है जो डेवलपर द्वारा दिए गए JSON schema के अनुसार मॉडल आउटपुट को ठीक-ठीक मेल कराने में मदद करती है
- पिछले साल DevDay में JSON mode पेश किया गया था, लेकिन वह किसी खास schema के अनुरूप response की गारंटी नहीं देता था
- Structured Outputs डेवलपर द्वारा दिए गए schema के अनुसार मॉडल आउटपुट को सीमित करता है और मॉडल को जटिल schema बेहतर समझने के लिए प्रशिक्षित करता है
- Structured Outputs की आवश्यकता
- unstructured input से structured data बनाना AI के प्रमुख use cases में से एक है
- OpenAI API का उपयोग करके data retrieval, question answering, data extraction, और multi-step workflow निर्माण जैसे कई काम किए जा सकते हैं
- पहले मॉडल आउटपुट को सिस्टम के साथ interoperable format में ढालने के लिए open source tools, prompts, retries आदि का सहारा लेना पड़ता था
- Structured Outputs इस समस्या को हल करता है और डेवलपर द्वारा दिए गए schema के अनुसार मॉडल आउटपुट को सीमित करता है
- प्रदर्शन मूल्यांकन
- जटिल JSON schema का पालन करने वाले evaluation में gpt-4o-2024-08-06 मॉडल ने 100% स्कोर हासिल किया
- gpt-4-0613 मॉडल ने 40% से कम स्कोर दर्ज किया
- Structured Outputs का उपयोग कैसे करें
- function calling के माध्यम से Structured Outputs: function definition के भीतर
strict: true सेट करें
- यह उन सभी मॉडलों में उपलब्ध है जो tools को support करते हैं
- सुरक्षित Structured Outputs
- यह OpenAI की मौजूदा safety policies का पालन करता है
- मॉडल असुरक्षित अनुरोधों को अस्वीकार कर सकता है
- API response में refusal string value शामिल होती है, जिससे प्रोग्राम के जरिए पता लगाया जा सकता है कि मॉडल ने अस्वीकृति उत्पन्न की है या नहीं
- native SDK समर्थन
- Python और Node SDK, Structured Outputs को native रूप से support करते हैं
- Pydantic या Zod objects देकर उन्हें JSON schema में बदला जा सकता है, और JSON response को अपने-आप serialize व parse किया जा सकता है
- सीमाएँ
- JSON schema का केवल कुछ हिस्सा ही समर्थित है
- नए schema के साथ पहली API response में अतिरिक्त latency हो सकती है
- मॉडल असुरक्षित अनुरोधों को अस्वीकार कर सकता है
- यह parallel function calling के साथ compatible नहीं है
- Structured Outputs, Zero Data Retention (ZDR) के दायरे में नहीं आता
- उपलब्धता
- Structured Outputs API में सामान्य रूप से उपलब्ध है
- function calling के माध्यम से Structured Outputs उन सभी मॉडलों में उपलब्ध है जो function calling support करते हैं
- response format option नवीनतम मॉडलों में उपलब्ध है
GN⁺ का सार
- OpenAI की नई सुविधा Structured Outputs, JSON schema के अनुसार मॉडल आउटपुट को ठीक-ठीक मेल कराने की क्षमता देती है
- डेवलपर इसके जरिए data retrieval, question answering, data extraction जैसे कई कार्य अधिक भरोसेमंद तरीके से कर सकते हैं
- Python और Node SDK में native support होने से development आसान हो जाता है
- unstructured data से structured data निकालने सहित इसके कई अतिरिक्त use cases हैं
- यह constrained decoding तकनीक का उपयोग करके मॉडल आउटपुट को सीमित करता है और केवल वैध JSON उत्पन्न होने देता है
2 टिप्पणियां
दिलचस्प फीचर है।
Hacker News राय
GPT-4o का उपयोग करके dynamic UI और code बनाया गया
gpt-4o-2024-08-06 में मुख्य बदलाव
vLLM के Outlines Structured Output के उपयोग का अनुभव
AI performance पर राय
OpenAI के approach पर राय
"strict: true"option को लेकर भ्रमयह राय कि model में JSON को hardcode करना AGI लक्ष्य की दिशा के उलट है
OpenAI फीचर्स इस्तेमाल करने पर lock-in effect को लेकर चिंता
JSON format error पर टिप्पणी
top-level level object होना क्यों जरूरी है, इस पर सवाल