jsonquotefixer: गलत LLM JSON संरचना आउटपुट को साफ़-सुथरे तरीके से ठीक करने वाला Python पैकेज
(github.com/abzb1)नमस्ते!
AI मॉडल का उपयोग करते समय कई बार structured JSON output की सख्त ज़रूरत पड़ती है।
मैंने भी कई प्रोजेक्ट्स पर काम करते हुए JSON output का उपयोग करने वाली स्थितियों का अक्सर सामना किया, और हर बार वही असुविधा हुई।
LLM structured output की असुविधाएँ मुख्य रूप से 3 थीं।
-
code block(````json … ``` ) हैंडलिंग
ज़्यादातर LLM, JSON लौटाते समय तीन backticks औरjsonकीवर्ड से घिरे code block का उपयोग करते हैं।
इसे साधारण regex से भी प्रोसेस किया जा सकता है, लेकिन हर बार इसे दोहराना झंझट लगता था। अगर यह पैकेज स्तर पर एक लाइन में हो जाए तो कहीं ज़्यादा सुविधाजनक है। -
nested quotes की समस्या
JSON में string को double quotes(\") में घेरना होता है। लेकिन अगर string के अंदर फिर से quotation marks आएँ, तो\\\"जैसे escape की ज़रूरत पड़ती है।
LLM अक्सर इस फर्क को मिस कर देते हैं और गलत JSON लौटा देते हैं। मुझे ऐसा फीचर चाहिए था जो इस समस्या को अपने-आप सुधार दे। -
smart quotes (Unicode quotation marks)
LLM द्वारा जनरेट किए गए वाक्यों में अक्सर“ ”जैसे smart quotes शामिल होते हैं।
ये JSON standard के अनुरूप नहीं होते, इसलिए इन्हें सामान्य double quotes(\") में एक साथ बदला जा सकना चाहिए।
खोजने पर Node.js आधारित ai-json-fixer प्रोजेक्ट तो मिला, लेकिन Python ecosystem में कोई ढंग का टूल नहीं था।
इसलिए मैंने इसे बना दिया! (GPT सर के साथ haha)
इसे pip से आसानी से install करके इस्तेमाल किया जा सकता है।
pip install jsonquotefixer
एक बार इस्तेमाल करके खुलकर आलोचना कीजिए haha
2 टिप्पणियां
अगर GitHub पर
ipynbमें उदाहरण अच्छी तरह दिखें तो अच्छा रहेगा।समय जटिलता n (sequence length) है!