LLM JSON आउटपुट वैलिडेटर
JSON Schema और LLM जवाब चिपकाएं, हर जांच गलती उसके JSON पाथ और लाइन के साथ दिखेगी। कोड फ़ेंस, आख़िरी कॉमा, सिंगल या घुमावदार कोट्स, कमेंट और Python के True/None पहले ठीक होते हैं। जांच आपके ब्राउज़र में Ajv 8.20.0 (draft-07, 2019-09, 2020-12) से होती है।
कैसे इस्तेमाल करें
- बाईं ओर JSON Schema चिपकाएं। name और schema वाला OpenAI response_format रैपर अपने आप खुल जाता है।
- दाईं ओर मॉडल का आउटपुट जैसा आया वैसा चिपकाएं, चाहे उसके आसपास कोड फ़ेंस या बातचीत वाला टेक्स्ट हो।
- नतीजा देखें। हर गलती की लाइन और कॉलम (क्लिक करके वहां जाएं), JSON पाथ और समस्या दिखती है। अगर आउटपुट पहले साफ़ करना पड़ा, तो सुधार की सूची आती है और साफ़ JSON कॉपी के लिए तैयार रहता है।
गणना कैसे होती है
पहले आउटपुट को जैसा है वैसा पढ़ा जाता है। न पढ़ पाए तो टूल वे समस्याएं हटाता है जो मॉडल सबसे ज़्यादा करते हैं और फिर कोशिश करता है: Markdown कोड फ़ेंस, JSON से पहले या बाद का टेक्स्ट, BOM, घुमावदार कोट्स, सिंगल कोट वाली स्ट्रिंग, // और /* */ कमेंट, आख़िरी कॉमा, और Python के True, False और None। स्ट्रिंग के अंदर का टेक्स्ट कभी नहीं बदला जाता।
स्कीमा की जांच Ajv 8.20.0 से होती है, जो एक लोकप्रिय JSON Schema वैलिडेटर है और सिर्फ़ तब लोड होता है जब आप कुछ चिपकाते हैं। $schema फ़ील्ड में 2020-12 या 2019-09 लिखा हो तो वही ड्राफ़्ट, वरना draft-07 इस्तेमाल होता है। सिर्फ़ पहली नहीं, सारी गलतियां बताई जाती हैं।
format कीवर्ड (email, date-time वग़ैरह) नहीं जांचा जाता और रिमोट $ref लिंक नहीं लाए जाते।
आपका चिपकाया कुछ भी सेव नहीं होता, कहीं भेजा नहीं जाता और पेज के पते में नहीं लिखा जाता।
LLM की सबसे आम गलतियां
| समस्या | उदाहरण | अपने आप ठीक |
|---|---|---|
| कोड फ़ेंस | ```json { ... } ``` | हां |
| JSON के आसपास टेक्स्ट | Sure! Here it is: { ... } | हां |
| आख़िरी कॉमा | {"a": 1,} | हां |
| सिंगल या घुमावदार कोट्स | {'a': 'b'} | हां |
| ज़रूरी फ़ील्ड ग़ायब | {"title": "x"} | नहीं, बताया जाता है |
| ग़लत टाइप | "rating": "5" | नहीं, बताया जाता है |
| फ़ालतू फ़ील्ड | additionalProperties false होने पर "author": "x" | नहीं, बताया जाता है |
शुरू से सही आउटपुट पाना
- जहां हो सके प्रदाता का स्ट्रक्चर्ड आउटपुट मोड इस्तेमाल करें। OpenAI का strict json_schema और Anthropic के structured outputs मॉडल को स्कीमा में बांधते हैं।
- strict मोड में हर प्रॉपर्टी required में होनी चाहिए और additionalProperties false होना चाहिए। देख लें कि आपका स्कीमा इन नियमों को मानता है।
- strict मोड के बिना मॉडल आउटपुट पढ़ते समय यहां जैसा सफ़ाई वाला चरण रखें और डेटा पर भरोसा करने से पहले जांच लें।
अक्सर पूछे जाने वाले सवाल
मेरा JSON ठीक दिखता है, फिर भी पढ़ा क्यों नहीं जाता?
आम वजहें हैं आख़िरी आइटम के बाद कॉमा, JSON के चारों ओर कोड फ़ेंस, या चैट विंडो से आए घुमावदार कोट्स। टूल इन्हें ठीक करता है और बताता है कि क्या बदला।
कौन से JSON Schema ड्राफ़्ट चलते हैं?
डिफ़ॉल्ट रूप से draft-07, और $schema फ़ील्ड में लिखा हो तो 2019-09 और 2020-12 भी।
क्या मेरा डेटा अपलोड होता है?
नहीं। पढ़ना और जांचना आपके ब्राउज़र में होता है, टेक्स्ट न सेव होता है न URL में जाता है।
क्या मैं OpenAI का response_format ऑब्जेक्ट चिपका सकता हूं?
हां। name और schema वाला, या json_schema.schema वाला ऑब्जेक्ट खोला जाता है और अंदर का स्कीमा इस्तेमाल होता है।