एलएलएम के साथ TOON का उपयोग कैसे करें

एलएलएम
शीघ्र इंजीनियरिंग

यदि आपने कभी चैटजीपीटी या क्लाउड में एक बड़ी JSON सरणी चिपकाई है, तो आपको संभवतः संदर्भ विंडो बंद होने का दर्द महसूस हुआ होगा। JSON वेब एपीआई के लिए शानदार है, लेकिन बड़े भाषा मॉडल (एलएलएम) के लिए, यह अविश्वसनीय रूप से बेकार है। प्रत्येक रिकॉर्ड के लिए "id":, "name":, और "timestamp": जैसे फ़ील्ड नामों को दोहराना न केवल अनावश्यक है; यह उन टोकन के माध्यम से बर्न होता है जिनकी कीमत वास्तविक धन और मूल्यवान संदर्भ स्थान होती है।

यहीं पर TOON (टेबल ऑब्जेक्ट नोटेशन) चमकता है। यह सिर्फ एक डेटा प्रारूप नहीं है; यह एलएलएम इंटरैक्शन को अनुकूलित करने की एक रणनीति है। JSON के सिंटैक्स टैक्स को हटाकर और स्पष्ट संरचना हेडर जोड़कर, TOON आपको अपने मॉडलों में अधिक डेटा पास करने और बदले में अधिक विश्वसनीय संरचित आउटपुट प्राप्त करने की अनुमति देता है।

TOON का सांकेतिक अर्थशास्त्र

प्रारूप बदलने में परेशानी क्यों? गणित सरल है. ऑब्जेक्ट के मानक JSON सरणी में, स्कीमा को प्रत्येक पंक्ति के लिए दोहराया जाता है। यदि आपके पास 50 उपयोगकर्ताओं की सूची है, तो आप फ़ील्ड नामों के लिए 50 बार भुगतान कर रहे हैं।

TOON हेडर में एक बार स्कीमा घोषित करके इस अतिरेक को समाप्त कर देता है। डेटा सघन, स्ट्रीम-लाइन प्रारूप में चलता है। व्यवहार में, इसके परिणामस्वरूप आमतौर पर स्वरूपित JSON की तुलना में समान सरणियों के लिए टोकन उपयोग में 30-60% की कमी आती है। जब आप बड़े पैमाने पर संदर्भ विंडो या उच्च-मात्रा एपीआई कॉल से निपट रहे हैं, तो वह दक्षता सीधे कम बिल और कम विलंबता में तब्दील हो जाती है।

डेटा भेजना: "दिखाओ, बताओ मत" नियम

जब आपको डेटा का विश्लेषण करने के लिए एलएलएम की आवश्यकता होती है, तो आपकी त्वरित रणनीति महत्वपूर्ण होती है। शुरुआती लोग अक्सर डेटा प्रारूप को समझाते हुए लंबे पैराग्राफ लिखते हैं। TOON के साथ, आपको ऐसा करने की आवश्यकता नहीं है।

एलएलएम पैटर्न-मिलान इंजन हैं। वे सहजता से TOON को समझते हैं क्योंकि यह YAML और CSV के मिश्रित प्रारूप जैसा दिखता है - जिसे उन्होंने प्रशिक्षण के दौरान अरबों बार देखा है।

डेटा भेजने के लिए, बस इसे एक बाड़े वाले कोड ब्लॉक में लपेटें। आप इसे टून लेबल कर सकते हैं, लेकिन भले ही मॉडल का सिंटैक्स हाइलाइटर आधिकारिक तौर पर इसका समर्थन नहीं करता है, मॉडल संरचना को तुरंत समझ लेता है।

इनपुट उदाहरण

स्कीमा का वर्णन करने के बजाय, केवल ब्लॉक प्रदान करें:

हेडर users[3]{id,name,role,lastLogin} मॉडल को वह सब कुछ बताता है जो उसे जानना आवश्यक है: इकाई प्रकार, गिनती (3 पंक्तियाँ), और फ़ील्ड का क्रम। इंडेंटेशन पदानुक्रम को संभालता है। यह "स्वयं-दस्तावेजीकरण" प्रकृति सिंटैक्स पार्सिंग निर्देशों के बजाय वास्तविक तर्क कार्य पर ध्यान केंद्रित करने के लिए आपके संकेत को मुक्त करती है।

यहां उपयोगकर्ता गतिविधि लॉग है. डेटा TOON प्रारूप (2-स्पेस इंडेंट, स्पष्ट हेडर) में है। 

उपयोगकर्ता[3]{आईडी,नाम,भूमिका,अंतिमलॉगिन}: 
1,ऐलिस,एडमिन,2025-01-15T10:30:00Z 
2,बॉब,उपयोगकर्ता,2025-01-14T15:22:00Z 
3,चार्ली,उपयोगकर्ता,2025-01-13T09:45:00Z 

कार्य: लॉग का विश्लेषण करें और पहचानें कि पिछले 24 घंटों के भीतर किन उपयोगकर्ताओं ने लॉग इन नहीं किया है। 

विश्वसनीय आउटपुट उत्पन्न करना

डेटा पढ़ने के लिए एलएलएम प्राप्त करना आसान है; इसे वैध संरचित डेटा उत्पन्न करना कठिन हिस्सा है। मॉडलों को मतिभ्रम करना, JSON को छोटा करना या ब्रेसिज़ बंद करना भूल जाना पसंद है।

TOON अपने हेडर सिंटैक्स, विशेष रूप से [N] गणना के माध्यम से सुरक्षा की एक परत जोड़ता है। जब आप किसी मॉडल को TOON आउटपुट करने के लिए कहते हैं, तो आप उसे डेटा उत्पन्न करने से पहले एक संरचना के लिए प्रतिबद्ध होने के लिए कह रहे हैं।

पीढ़ी के लिए प्रेरणा

सर्वोत्तम परिणाम प्राप्त करने के लिए, आपको अपेक्षित हेडर प्रारूप प्रदान करें और मॉडल को पंक्तियाँ भरने का निर्देश दें।

मॉडल को [एन] की गणना करने के लिए कहकर, आप एक "विचार श्रृंखला" प्रक्रिया को बाध्य करते हैं जहां मॉडल को आउटपुट आकार की योजना बनानी होगी। यह प्रतीत होता है कि छोटी सी बाधा किसी सूची से मॉडल के आधे रास्ते से बाहर हो जाने की संभावना को काफी कम कर देती है।

कार्य: "उपयोगकर्ता" भूमिका के साथ सक्रिय उपयोगकर्ताओं की सूची लौटाएँ। 
प्रारूप: टून का प्रयोग करें. आपके द्वारा उत्पन्न पंक्तियों की सटीक संख्या से मेल खाने के लिए हेडर में [एन] मान सेट करें। 

अपेक्षित प्रारूप: 
उपयोगकर्ता[एन]{आईडी,नाम,भूमिका,अंतिमलॉगिन}: 

सख्त मोड के साथ मान्यकरण

जब आपको एलएलएम से प्रतिक्रिया मिलती है, तो आपको उस पर भरोसा नहीं करना चाहिए। यहीं पर TOON लाइब्रेरी का सख्त मोड उत्पादन अनुप्रयोगों के लिए एक महाशक्ति बन जाता है।

यदि आप टाइपस्क्रिप्ट लाइब्रेरी का उपयोग कर रहे हैं, तो सख्त मोड के साथ डिकोडिंग यह सत्यापित करती है कि उत्पन्न पंक्तियाँ हेडर गिनती से मेल खाती हैं:

यह आपको अपने एप्लिकेशन में खराब डेटा डाउनस्ट्रीम की खोज करने के बजाय प्रोग्रामेटिक रूप से "आलसी" मॉडल आउटपुट या नेटवर्क ट्रंकेशन को तुरंत पकड़ने की अनुमति देता है।

'@toon-format/toon' से आयात {डिकोड }; 

प्रयास करें { 
// यदि मॉडल कहता है [5] लेकिन 4 पंक्तियाँ प्रदान करता है, तो यह एक त्रुटि देता है। 
स्थिरांक डेटा = डीकोड (मॉडल आउटपुट, { सख्त: सच }); 
कंसोल.लॉग ('मान्य डेटा प्राप्त हुआ:', डेटा); 
} पकड़ें (त्रुटि) { 
कंसोल.त्रुटि ('मॉडल मतिभ्रम या काट-छांट का पता चला:', त्रुटि.संदेश); 
} 

उन्नत अनुकूलन: टैब ट्रिक

यदि आप अनुकूलन के प्रति जुनूनी हैं (और एलएलएम की दुनिया में, शायद आपको ऐसा होना भी चाहिए), तो आप अपने सीमांकक को बुद्धिमानी से चुनकर और भी अधिक दक्षता प्राप्त कर सकते हैं।

अल्पविराम मानक हैं, लेकिन टैब (\t) को अक्सर कई टोकन शब्दावली में एकल टोकन के रूप में दर्शाया जाता है। इसके अलावा, टैब शायद ही कभी प्राकृतिक पाठ फ़ील्ड के अंदर दिखाई देते हैं, जिससे एस्केप वर्णों की आवश्यकता कम हो जाती है (जैसे उद्धरण चिह्नों में स्ट्रिंग लपेटना)।

आप अपने डेटा को मॉडल पर भेजने से पहले टैब का उपयोग करके एन्कोड कर सकते हैं:

बस प्रॉम्प्ट में मॉडल को सूचित करना याद रखें: "डेटा टैब से अलग किया गया है।" यह एक हाइपर-कॉम्पैक्ट प्रतिनिधित्व बनाता है जो मॉडल के लिए पार्स करने और उत्पन्न करने के लिए अविश्वसनीय रूप से आसान है।

const toonPrompt = एनकोड (डेटा, {डिलीमीटर: '\t' }); 

एक संपूर्ण वर्कफ़्लो उदाहरण

आइए वास्तविक दुनिया के परिदृश्य को देखें: सिस्टम लॉग को फ़िल्टर करना। आप मॉडल में कच्चे लॉग भेजना चाहते हैं और त्रुटियों की एक संरचित सूची वापस प्राप्त करना चाहते हैं।

प्राम्प्ट:

मॉडल आउटपुट:

TOON प्रारूप में सिस्टम लॉग (टैब से अलग): 

घटनाएँ[4]{आईडी,स्तर,संदेश,टाइमस्टैम्प}: 
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]{आईडी,स्तर,संदेश,टाइमस्टैम्प}: 
1,त्रुटि,कनेक्शन टाइमआउट,2025-01-15T10:00:00Z 
4,त्रुटि,डेटाबेस त्रुटि,2025-01-15T10:15:00Z 

मॉडल ने सूची को सही ढंग से फ़िल्टर किया और, महत्वपूर्ण रूप से, हेडर को इवेंट[2] में अपडेट किया। इस प्रतिक्रिया को डिकोड करके, आपको अपने एप्लिकेशन लॉजिक के लिए एक साफ, टाइप-सुरक्षित सरणी तैयार मिलती है।

सारांश

TOON मानव पठनीयता और मशीन दक्षता के बीच अंतर को पाटता है। यह मजबूत सॉफ्टवेयर विकास के लिए आवश्यक संरचना प्रदान करते हुए एलएलएम की लागत बाधाओं का सम्मान करता है।

  1. इसे छोटा रखें: अपने उदाहरणों में 2-5 पंक्तियों का उपयोग करें; मॉडल सामान्यीकरण करेगा.
  1. स्पष्ट रहें: हेडर को स्पष्ट रूप से परिभाषित करें ताकि मॉडल स्कीमा को जान सके।
  1. सख्ती से सत्यापित करें: पीढ़ी की त्रुटियों को पकड़ने के लिए प्रारूप के मेटाडेटा का उपयोग करें।

अपने त्वरित पेलोड के लिए JSON से दूर जाकर, आप केवल टोकन नहीं बचा रहे हैं - आप एक अधिक विश्वसनीय AI पाइपलाइन का निर्माण कर रहे हैं।