टून म्हणजे काय?
आम्ही सर्व तिथे गेलो आहोत. तुम्ही लार्ज लँग्वेज मॉडेल (LLM) साठी प्रॉम्प्ट इंजिनियरिंग करत आहात आणि तुम्हाला संरचित डेटा पास करणे आवश्यक आहे. तुम्ही JSON साठी पोहोचता. शेवटी, हे उद्योगाचे मानक आहे. परंतु जेव्हा तुम्ही तुमची संदर्भ विंडो अंतहीन कुरळे ब्रेसेस, वारंवार की आणि साध्या पूर्णांकांभोवती अवतरण चिन्हांनी भरलेली पाहता, तेव्हा तुम्हाला आश्चर्य वाटू लागते: यापेक्षा चांगला मार्ग आहे का?
YAML वाचनीयता देते परंतु अस्पष्टतेने ग्रस्त आहे. CSV दाट आहे परंतु पदानुक्रमाचा अभाव आहे.
TOON प्रविष्ट करा.
TOON हे डेटा सीरियलायझेशन फॉरमॅट आहे जे डेव्हलपरसाठी ताजी हवेचा श्वास आणि AI मॉडेल्ससाठी मूळ भाषा आहे. हे मानवी वाचनीयता आणि मशीन कार्यक्षमतेमधील अंतर कमी करते. आज, उच्च-कार्यक्षमता डेटा इंटरचेंजसाठी त्वरीत का आवडते बनत आहे हे समजून घेण्यासाठी TOON च्या वाक्यरचना आणि यांत्रिकीमध्ये खोलवर जाऊ या.
तत्वज्ञान: JSON शब्दार्थशास्त्र, YAML सौंदर्यशास्त्र
त्याच्या केंद्रस्थानी, TOON JSON सारखेच डेटा मॉडेल शेअर करते. जर तुम्ही ते JSON-प्रिमिटिव्हज (स्ट्रिंग्स, नंबर्स, बूलियन्स, नल), ऑब्जेक्ट्स आणि ॲरेमध्ये प्रेझेंट करू शकत असाल तर-तुम्ही TOON मध्ये त्याचे प्रतिनिधित्व करू शकता. तथापि, सादरीकरण पूर्णपणे भिन्न आहे.
तून ब्रेसेस खंदक करतो. हे YAML प्रमाणे पदानुक्रमाचे प्रतिनिधित्व करण्यासाठी इंडेंटेशन वापरते. एक साधी वस्तू स्वच्छ आणि पोहोचण्यायोग्य दिसते:
YAML च्या विपरीत, तथापि, TOON प्रकारांबद्दल कठोर आहे. नाही म्हणजे खोटे किंवा स्ट्रिंग "नाही" असा कोणताही अंदाज नाही. TOON मध्ये, स्ट्रिंग्सना अगदी आवश्यक असेल तेव्हाच अवतरणांची आवश्यकता असते—जसे की जेव्हा त्यात विशेष वर्ण असतात, संख्यांसारखे असतात किंवा रिक्त असतात. तुम्ही मेसेज: हॅलो वर्ल्ड टाइप केल्यास, तुम्हाला एक स्ट्रिंग मिळेल. तुम्ही count: 42 टाइप केल्यास, तुम्हाला एक नंबर मिळेल.
``यम्ल आयडी: १२३ नाव: अडा सक्रिय: खरे
ॲरेची शक्ती: लांबी आणि सारण्या
जिथे TOON खऱ्या अर्थाने स्वतःला पॅकपासून वेगळे करते ते म्हणजे त्याचे ॲरे हाताळणे. टोकन ऑप्टिमायझेशनसाठी हे "किलर वैशिष्ट्य" आहे.
TOON मधील प्रत्येक ॲरे स्पष्टपणे त्याची लांबी कंसात घोषित करते, जसे की आयटम[3]. हे माणसाला निरर्थक वाटू शकते, परंतु एलएलएमसाठी ही एक महासत्ता आहे. हे मॉडेलला रचना तत्काळ प्रमाणित करण्यास आणि ट्रंकेशन शोधण्यास अनुमती देते. जर प्रवाह दोन आयटमनंतर बंद झाला परंतु शीर्षलेखाने तीन वचन दिले, तर पार्सरला माहित आहे की काहीतरी चूक झाली आहे.
TOON प्रभावीपणे ॲरे हाताळण्याचे तीन मार्ग ऑफर करते, स्वयंचलितपणे सर्वात कार्यक्षम निवडून:
- इनलाइन प्रिमिटिव्स: संख्या किंवा स्ट्रिंगच्या साध्या सूचीसाठी, TOON ते कॉम्पॅक्ट ठेवते.
टॅग[3]: प्रशासन,ओप्स,देव
- मानक याद्या: मिश्र प्रकारांसाठी, ते YAML प्रमाणेच हायफनेटेड सूची वाक्यरचना वापरते.
- टेब्युलर ऑब्जेक्ट्स: हे गेम चेंजर आहे.
तुमच्याकडे समान की शेअर करणाऱ्या वस्तूंचा ॲरे असल्यास—डेटाबेस रेकॉर्डमधील एक अतिशय सामान्य नमुना—टून पिव्होट्स टॅब्युलर फॉरमॅट. प्रत्येक पंक्तीसाठी की पुनरावृत्ती करण्याऐवजी, हेडरमध्ये एकदा की घोषित करते.
वरील उदाहरणामध्ये, users[2]{id,name,role}: आम्हाला सांगते की आमच्याकडे 2 पंक्ती आहेत आणि स्कीमा परिभाषित करते. डेटा CSV सारखी रचना खालीलप्रमाणे आहे. हे प्रत्येक वापरकर्त्यासाठी "आयडी":, "नाव":, आणि "भूमिका": पुनरावृत्ती करण्याचे मोठे टोकन ओव्हरहेड काढून टाकते.
``यमल वापरकर्ते[2]{id,name,role}: 1, ॲलिस ॲडमिन, ॲडमिन 2, बॉब स्मिथ, वापरकर्ता
सीमांकक आणि टोकन कार्यक्षमता
वरील उदाहरणांमध्ये स्वल्पविरामांचा वापर तुमच्या लक्षात येईल. TOON प्रत्यक्षात तीन परिसीमकांना समर्थन देते: स्वल्पविराम (डीफॉल्ट), टॅब आणि पाईप्स (|).
हा फरक का पडतो? टोकनायझेशन.
अनेक LLM टोकनायझर्समध्ये, स्वल्पविराम त्यानंतर एक कोट अनेक टोकनमध्ये विभागला जाऊ शकतो. एक टॅब वर्ण, तथापि, बऱ्याचदा अगदी स्वच्छपणे टोकनाइज करतो. TOON तुम्हाला ॲरे हेडर स्तरावर सीमांकक स्विच करण्याची परवानगी देते. तुम्ही टॅब डिलिमिटर वापरत असल्यास, तुम्हाला अनेकदा स्पेस असलेल्या स्ट्रिंग्सची उद्धृत करण्याचीही गरज नसते, ज्यामुळे तुमचा डेटा संकुचित होईल.
"टक्कर" हाताळण्यासाठी स्वरूप पुरेसे स्मार्ट आहे. तुमच्या डेटामध्ये सक्रिय परिसीमक असल्यास, TOON फक्त त्या विशिष्ट मूल्याला उद्धृत करते.
``यम्ल आयटम[2]{sku,name,qty}: A1, विजेटचे नाव, 2 B2, गॅझेटचे नाव, 1
की फोल्डिंग: वक्र सपाट करणे
TOON चे कार्यक्षमतेवर लक्ष केंद्रित करणारे आणखी एक वैशिष्ट्य म्हणजे की फोल्डिंग. खोलवर नेस्टेड वस्तूंचा परिणाम सामान्यतः इंडेंटेशनचा "जिना" बनतो जो क्षैतिज जागा आणि टोकन खातो.
जर तुमच्याकडे खोल श्रेणीक्रम असेल जेथे मध्यवर्ती वस्तूंना भावंड नसतील, तर TOON त्यांना डॉट-नोटेशन मार्गामध्ये संकुचित करू शकते.
लिहिण्याऐवजी:
तुम्ही लिहू शकता:
``यमल डेटा: मेटाडेटा: आयटम[2]: a,b
हे वैशिष्ट्य, spec v1.5 पासून उपलब्ध आहे, लक्षणीयरीत्या ओळींची संख्या आणि इंडेंटेशन टोकन कमी करते. महत्त्वाचे म्हणजे, हे पूर्णपणे उलट करता येण्यासारखे आहे. जेव्हा तुम्ही पाथ विस्तार सक्षम करून डेटा डीकोड करता, तेव्हा ते डीप ऑब्जेक्ट पदानुक्रमाची उत्तम प्रकारे पुनर्रचना करते.
``यम्ल data.metadata.items[2]: a,b
कडकपणा आणि सुरक्षितता
त्याचे संक्षिप्त स्वरूप असूनही, TOON डेटासह सैल नाही. हे अवतरण आणि सुटण्याच्या नियमांच्या कठोर संचाचे पालन करते.
स्ट्रिंग सामान्यत: अकोट राहतात, जे वाचनीयतेसाठी उत्तम आहे. तथापि, डेटा अखंडता सुनिश्चित करण्यासाठी TOON एज केसेससाठी कोटिंग लागू करते. जर एखादी स्ट्रिंग एखाद्या संख्येसारखी दिसत असेल (उदा. "05" किंवा "1e-6"), ती संख्या म्हणून विश्लेषित होण्यापासून रोखण्यासाठी कोट केली जाते. जर स्ट्रिंग हा true किंवा null सारखा आरक्षित शब्द असेल, तर तो कोट केला जातो.
शिवाय, TOON संख्या सामान्य करते. हे प्रमाणिक दशांश फॉर्म उत्सर्जित करते—कोणतीही वैज्ञानिक नोटेशन नाही किंवा आउटपुटमध्ये मागे शून्य नाही—सुसंगतता सुनिश्चित करते. ते BigInt सुरक्षितपणे हाताळते; जर एखादी संख्या सुरक्षित पूर्णांक श्रेणी ओलांडत असेल, तर ती वाहतूक दरम्यान अचूक नुकसान टाळण्यासाठी स्ट्रिंग म्हणून अनुक्रमित केली जाते.
रूट फॉर्म
आपल्यापैकी बहुतेकजण रूट ऑब्जेक्ट्ससह कार्य करत असताना, TOON लवचिक आहे. दस्तऐवजाची सुरुवात की-व्हॅल्यू जोडीने होणे आवश्यक नाही. हे रूट ॲरे ([N]: ने लगेच सुरू होणारे) किंवा अगदी सिंगल रूट प्रिमिटिव्हला सपोर्ट करते. JSON सह या समानतेचा अर्थ असा आहे की तुम्ही जवळपास कोणत्याही पाइपलाइनमध्ये TOON स्वॅप करू शकता जिथे JSON सध्या वापरला जात आहे, जर तुमच्याकडे दुसऱ्या टोकाला पार्सर असेल.
अंतिम विचार
TOON हे फक्त "दुसरे स्वरूप" नाही. हे अशा युगासाठी एक विशेष साधन आहे जिथे डेटाचा वापर संभाव्य मॉडेल्सद्वारे केला जातो जितका वेळा तो निर्धारक कोडद्वारे केला जातो. JSON चे कठोर डेटा मॉडेल CSV ची घनता आणि YAML ची वाचनीयता एकत्र करून, ते प्रकार सुरक्षिततेचा त्याग न करता संदर्भ-विंडो ऑप्टिमायझेशनची विशिष्ट समस्या सोडवते.
जर तुम्ही एजंट्स, फाइन-ट्यूनिंग मॉडेल्स बनवत असाल किंवा अंतहीन क्लोजिंग ब्रेसेसमधून स्क्रोल करून कंटाळा आला असाल, तर TOON ला एक नजर देण्याची वेळ आली आहे.