- Token-Oriented Object Notation
- LLM में इनपुट देते समय token उपयोग कम करने के लिए डिज़ाइन किया गया serialization फ़ॉर्मैट
- JSON डेटा को बिना किसी हानि के व्यक्त करते हुए token efficiency और readability दोनों सुनिश्चित करता है
- एकसमान object arrays के लिए अनुकूलित संरचना, जो दोहराई जाने वाली keys को हटाकर 30~60% token बचत प्रदान करती है
- YAML की indentation-आधारित संरचना और CSV के table फ़ॉर्मैट को मिलाने वाला hybrid फ़ॉर्मैट
- गहरी nested संरचनाओं या non-uniform डेटा के लिए JSON अधिक कुशल है
- स्पष्ट structural information शामिल करता है ताकि LLM डेटा को स्थिर रूप से parse और validate कर सके
- array length (
[N]) और field definitions ({id,name,role}) को स्पष्ट रूप से बताकर संरचना की पहचान बेहतर बनाता है
- संक्षिप्त syntax के साथ अनावश्यक brackets, quotes और punctuation हटाकर minimal syntax डिज़ाइन
- indentation-आधारित hierarchical representation, CSV-जैसे row-आधारित data stream का समर्थन
- CLI tool के माध्यम से JSON ↔ TOON के बीच दो-तरफ़ा conversion का समर्थन
- automatic format detection, delimiter (
,, \t, |) निर्दिष्ट करना, token बचत statistics आउटपुट जैसे विकल्प प्रदान करता है
- API संरचना
encode() से JSON serialization, decode() से deserialization किया जाता है
- options के रूप में indentation, delimiter, length marker (
#) निर्दिष्ट किए जा सकते हैं
- Benchmark परिणाम: JSON की तुलना में औसतन 21~60% token बचत, LLM query accuracy 73.9% हासिल
- CSV से थोड़ा बड़ा, लेकिन structural validation सुविधाओं के कारण LLM reliability बेहतर होती है
- फ़ॉर्मैट नियम
- strings को केवल आवश्यकता होने पर quote किया जाता है, delimiter शामिल होने पर अपने-आप quoting होती है
- numbers, booleans, dates आदि को LLM-friendly रूप में बदला जाता है
- विभिन्न भाषा implementations उपलब्ध
- आधिकारिक: Python, Rust (विकासाधीन)
- community: Go, Java, Swift, C++, .NET, Ruby आदि
3 टिप्पणियां
मैं
function callingका इस्तेमाल कर रहा हूँ, एक बार इसे टेस्ट करके देखना पड़ेगा।कुछ उदाहरणों को देखें तो कहा जा रहा है कि whitespace हटाने पर JSON स्पेसिफिकेशन टोकन की संख्या कहीं ज़्यादा कम कर देता है.. अभी भी पूरी तरह समझ नहीं आ रहा। क्या यह वाकई ठीक से इस्तेमाल करने लायक स्पेसिफिकेशन है।
मॉडल के अनुसार सटीकता की तुलना
अगर सिर्फ benchmark नतीजों पर भरोसा करें, तो accuracy घटे बिना token उपयोग कम हो रहा है, इसलिए इसे न इस्तेमाल करने की कोई खास वजह नहीं दिखती।