LLM सह TOON कसे वापरावे
जर तुम्ही कधीही ChatGPT किंवा Claude मध्ये मोठा JSON ॲरे पेस्ट केला असेल, तर तुम्हाला संदर्भ विंडो बंद होण्याच्या वेदना जाणवल्या असण्याची शक्यता आहे. JSON वेब API साठी विलक्षण आहे, परंतु लार्ज लँग्वेज मॉडेल्स (LLM) साठी, ते आश्चर्यकारकपणे व्यर्थ आहे. प्रत्येक रेकॉर्डसाठी "id":, "name":, आणि "timestamp": सारख्या फील्ड नावांची पुनरावृत्ती करणे केवळ अनावश्यक नाही; हे टोकन्सद्वारे बर्न होते ज्यासाठी वास्तविक पैसे आणि मौल्यवान संदर्भ जागा खर्च होते.
इथेच TOON (टेबल ऑब्जेक्ट नोटेशन) चमकते. हे केवळ डेटा स्वरूप नाही; LLM परस्परसंवाद ऑप्टिमाइझ करण्यासाठी ही एक रणनीती आहे. JSON चा सिंटॅक्स कर काढून टाकून आणि स्पष्ट रचना शीर्षलेख जोडून, TOON तुम्हाला तुमच्या मॉडेल्समध्ये अधिक डेटा पास करण्याची आणि त्या बदल्यात अधिक विश्वासार्ह संरचित आउटपुट मिळविण्याची अनुमती देते.
TOON चे टोकन इकॉनॉमिक्स
फॉरमॅट बदलण्याचा त्रास का घ्यायचा? गणित सोपे आहे. ऑब्जेक्ट्सच्या मानक JSON ॲरेमध्ये, प्रत्येक पंक्तीसाठी स्कीमाची पुनरावृत्ती केली जाते. तुमच्याकडे 50 वापरकर्त्यांची यादी असल्यास, तुम्ही फील्डच्या नावांसाठी 50 वेळा पैसे देत आहात.
हेडरमध्ये एकदा स्कीमा घोषित करून TOON ही अनावश्यकता काढून टाकते. डेटा दाट, प्रवाह-रेखा असलेल्या स्वरूपात येतो. व्यवहारात, याचा परिणाम स्वरूपित JSON च्या तुलनेत एकसमान ॲरेसाठी टोकन वापरामध्ये ३०-६०% घट होतो. जेव्हा तुम्ही मोठ्या कॉन्टेक्स्ट विंडो किंवा हाय-व्हॉल्यूम API कॉल्सशी व्यवहार करत असता, तेव्हा ती कार्यक्षमता थेट कमी बिले आणि कमी विलंबामध्ये अनुवादित होते.
डेटा पाठवणे: "दाखवा, सांगू नका" नियम
जेव्हा तुम्हाला डेटाचे विश्लेषण करण्यासाठी LLM ची आवश्यकता असते, तेव्हा तुमची त्वरित रणनीती महत्त्वपूर्ण असते. नवशिक्या अनेकदा डेटा स्वरूप स्पष्ट करणारे लांब परिच्छेद लिहितात. TOON सह, तुम्हाला ते करण्याची गरज नाही.
LLM ही पॅटर्नशी जुळणारी इंजिने आहेत. त्यांना अंतर्ज्ञानाने TOON समजते कारण ते YAML आणि CSV च्या संकरासारखे दिसते—स्वरूप त्यांनी प्रशिक्षणादरम्यान अब्जावधी वेळा पाहिले आहे.
डेटा पाठवण्यासाठी, तो फक्त कुंपण असलेल्या कोड ब्लॉकमध्ये गुंडाळा. तुम्ही त्याला टून असे लेबल लावू शकता, परंतु मॉडेलचे सिंटॅक्स हायलाइटर अधिकृतपणे समर्थन देत नसले तरी, मॉडेलला रचना लगेच समजते.
इनपुट उदाहरण
स्कीमाचे वर्णन करण्याऐवजी, फक्त ब्लॉक प्रदान करा:
हेडर वापरकर्ते[3]{id,name,role,lastLogin} मॉडेलला त्याला माहित असणे आवश्यक असलेली प्रत्येक गोष्ट सांगते: अस्तित्व प्रकार, संख्या (3 पंक्ती) आणि फील्डचा क्रम. इंडेंटेशन पदानुक्रम हाताळते. हे "स्व-दस्तऐवजीकरण" स्वरूप वाक्यरचना पार्सिंग सूचनांऐवजी वास्तविक तर्कशास्त्र कार्यावर लक्ष केंद्रित करण्यासाठी तुमची सूचना मुक्त करते.
``md येथे वापरकर्ता क्रियाकलाप लॉग आहे. डेटा TOON फॉरमॅटमध्ये आहे (2-स्पेस इंडेंट, स्पष्ट शीर्षलेख).
वापरकर्ते[3]{id,name,role,lastLogin}: 1,ॲलिस,प्रशासक,2025-01-15T10:30:00Z 2,बॉब,वापरकर्ता,2025-01-14T15:22:00Z 3,चार्ली,वापरकर्ता,2025-01-13T09:45:00Z
कार्य: लॉगचे विश्लेषण करा आणि कोणत्या वापरकर्त्यांनी गेल्या 24 तासांमध्ये लॉग इन केले नाही ते ओळखा.
विश्वसनीय आउटपुट व्युत्पन्न करत आहे
_read_डेटा करण्यासाठी LLM मिळवणे सोपे आहे; वैध संरचित डेटा generate मिळवणे हा कठीण भाग आहे. मॉडेल्सना भ्रमनिरास करणे, JSON कापून घेणे किंवा ब्रेसेस बंद करणे विसरणे आवडते.
TOON त्याच्या हेडर सिंटॅक्सद्वारे सुरक्षिततेचा एक स्तर जोडते, विशेषतः [N] संख्या. जेव्हा तुम्ही मॉडेलला TOON आउटपुट करण्यास सांगता, तेव्हा तुम्ही डेटा जनरेट करण्यापूर्वी स्ट्रक्चरला कमिट करण्यास सांगत आहात.
पिढीसाठी प्रॉम्प्टिंग
सर्वोत्तम परिणाम मिळविण्यासाठी, तुम्हाला अपेक्षित असलेले हेडर स्वरूप प्रदान करा आणि मॉडेलला पंक्ती भरण्यासाठी निर्देश द्या.
मॉडेलला [N] ची गणना करण्यास सांगून, आपण "विचारांची साखळी" प्रक्रिया सक्ती केली जेथे मॉडेलने आउटपुट आकाराची योजना करणे आवश्यक आहे. ही उशिर छोटी अडचण मॉडेलच्या सूचीमधून अर्धवट कापण्याची शक्यता लक्षणीयरीत्या कमी करते.
``md कार्य: "वापरकर्ता" या भूमिकेसह सक्रिय वापरकर्त्यांची सूची परत करा. स्वरूप: TOON वापरा. तुम्ही व्युत्पन्न केलेल्या पंक्तींच्या अचूक संख्येशी जुळण्यासाठी हेडरमध्ये [N] मूल्य सेट करा.
अपेक्षित स्वरूप: वापरकर्ते[N]{id,name,role,lastLogin}:
कठोर मोडसह प्रमाणीकरण
जेव्हा तुम्हाला LLM कडून प्रतिसाद मिळतो, तेव्हा तुम्ही त्यावर विश्वास ठेवू नये. येथेच TOON लायब्ररीचा कठोर मोड उत्पादन अनुप्रयोगांसाठी एक महासत्ता बनतो.
तुम्ही TypeScript लायब्ररी वापरत असल्यास, कठोर मोडसह डीकोडिंग प्रमाणित करते की व्युत्पन्न केलेल्या पंक्ती हेडरच्या संख्येशी जुळतात:
हे तुम्हाला तुमच्या ऍप्लिकेशनमध्ये खराब डेटा डाउनस्ट्रीम शोधण्याऐवजी प्रोग्रामॅटिकरित्या "आळशी" मॉडेल आउटपुट किंवा नेटवर्क ट्रंकेशन्स त्वरित पकडण्याची अनुमती देते.
``टाइपस्क्रिप्ट '@toon-format/toon' वरून { डीकोड } आयात करा;
प्रयत्न करा { // जर मॉडेल [५] असे म्हणत असेल परंतु 4 पंक्ती पुरवत असेल, तर यामुळे त्रुटी येते. const डेटा = decode(modelOutput, { strict: true }); console.log('वैध डेटा प्राप्त झाला:', डेटा); } पकडणे (त्रुटी) { console.error('मॉडेल हॅलुसिनेशन किंवा ट्रंकेशन आढळले:', error.message); }
प्रगत ऑप्टिमायझेशन: टॅब युक्ती
जर तुम्हाला ऑप्टिमायझेशनचे वेड असेल (आणि LLM च्या जगात, तुम्ही कदाचित असायला हवे), तर तुम्ही तुमचे सीमांकक हुशारीने निवडून आणखी कार्यक्षमता मिळवू शकता.
स्वल्पविराम मानक आहेत, परंतु टॅब (\t) बऱ्याच टोकनायझर शब्दसंग्रहांमध्ये एकल टोकन म्हणून प्रस्तुत केले जातात. शिवाय, टॅब क्वचितच नैसर्गिक मजकूर फील्डमध्ये दिसतात, ज्यामुळे एस्केप कॅरेक्टरची आवश्यकता कमी होते (जसे कोट्समध्ये स्ट्रिंग गुंडाळणे).
तुम्ही तुमचा डेटा मॉडेलवर पाठवण्यापूर्वी टॅब वापरून एन्कोड करू शकता:
फक्त प्रॉम्प्टमध्ये मॉडेलला सूचित करण्याचे लक्षात ठेवा: "डेटा टॅब-सेपरेटेड TOON आहे." हे एक हायपर-कॉम्पॅक्ट प्रतिनिधित्व तयार करते जे मॉडेलचे विश्लेषण आणि व्युत्पन्न करणे आश्चर्यकारकपणे सोपे आहे.
``टाइपस्क्रिप्ट const toonPrompt = एन्कोड (डेटा, { डिलिमिटर: '\t' });
एक पूर्ण वर्कफ्लो उदाहरण
चला वास्तविक-जगातील परिस्थिती पाहू: फिल्टरिंग सिस्टम लॉग. तुम्हाला मॉडेलवर कच्चे लॉग पाठवायचे आहेत आणि त्रुटींची संरचित सूची परत मिळवायची आहे.
प्रॉम्प्ट:
मॉडेल आउटपुट:
``md TOON फॉरमॅटमध्ये सिस्टम लॉग (टॅब-विभक्त):
कार्यक्रम[4]{id,level,message,timestamp}: 1,त्रुटी,कनेक्शन कालबाह्य,2025-01-15T10:00:00Z 2,चेतावणी,मंद क्वेरी,2025-01-15T10:05:00Z 3,माहिती,वापरकर्ता लॉगिन,2025-01-15T10:10:00Z 4,त्रुटी,डेटाबेस त्रुटी025-01-15T10:15:00Z
कार्य: स्तर 'त्रुटी' सह सर्व घटना काढा. अद्ययावत शीर्षलेख संख्येसह वैध TOON म्हणून निकाल परत करा.
परिणाम:
``टून कार्यक्रम[2]{id,level,message,timestamp}: 1,त्रुटी,कनेक्शन कालबाह्य,2025-01-15T10:00:00Z 4,त्रुटी,डेटाबेस त्रुटी,2025-01-15T10:15:00Z
मॉडेलने सूची योग्यरित्या फिल्टर केली आणि, महत्त्वाचे म्हणजे हेडर इव्हेंट[2] वर अपडेट केले. हा प्रतिसाद डीकोड करून, तुम्हाला तुमच्या ऍप्लिकेशन लॉजिकसाठी स्वच्छ, टाइप-सुरक्षित ॲरे मिळेल.
सारांश
TOON मानवी वाचनीयता आणि मशीन कार्यक्षमतेमधील अंतर कमी करते. हे मजबूत सॉफ्टवेअर डेव्हलपमेंटसाठी आवश्यक संरचना प्रदान करताना LLM च्या खर्चाच्या मर्यादांचा आदर करते.
- ते लहान ठेवा: तुमच्या उदाहरणांमध्ये 2-5 पंक्ती वापरा; मॉडेल सामान्यीकरण करेल.
- स्पष्ट व्हा: हेडर स्पष्टपणे परिभाषित करा जेणेकरून मॉडेलला स्कीमा माहित असेल.
- कठोरपणे सत्यापित करा: जनरेशन एरर पकडण्यासाठी फॉरमॅटचा मेटाडेटा वापरा.
तुमच्या प्रॉम्प्ट पेलोडसाठी JSON पासून दूर जाऊन, तुम्ही फक्त टोकन जतन करत नाही—तुम्ही अधिक विश्वासार्ह AI पाइपलाइन तयार करत आहात.