TOON అంటే ఏమిటి?

టూన్
JSON
ఆప్టిమైజేషన్

మేమంతా అక్కడే ఉన్నాం. మీరు లార్జ్ లాంగ్వేజ్ మోడల్ (LLM) కోసం ప్రాంప్ట్‌ని ఇంజనీరింగ్ చేస్తున్నారు మరియు మీరు నిర్మాణాత్మక డేటాను పాస్ చేయాలి. మీరు JSON కోసం చేరుకుంటారు. ఇది పరిశ్రమ ప్రమాణం, అన్ని తరువాత. కానీ మీరు మీ కాంటెక్స్ట్ విండోను అంతులేని కర్లీ బ్రేస్‌లు, రిపీటెడ్ కీలు మరియు సాధారణ పూర్ణాంకాల చుట్టూ కోట్ మార్కులతో నింపడాన్ని చూస్తున్నప్పుడు, మీరు ఆశ్చర్యపోతారు: మంచి మార్గం ఉందా?

YAML రీడబిలిటీని అందిస్తుంది కానీ అస్పష్టతతో బాధపడుతోంది. CSV దట్టంగా ఉంది కానీ క్రమానుగతంగా లేదు.

TOONని నమోదు చేయండి.

TOON అనేది డేటా సీరియలైజేషన్ ఫార్మాట్, ఇది డెవలపర్‌లకు స్వచ్ఛమైన గాలిని మరియు AI మోడల్‌లకు స్థానిక భాషగా అనిపిస్తుంది. ఇది మానవ పఠన సామర్థ్యం మరియు యంత్ర సామర్థ్యం మధ్య అంతరాన్ని తగ్గిస్తుంది. ఈ రోజు, TOON యొక్క సింటాక్స్ మరియు మెకానిక్స్‌లో లోతుగా డైవ్ చేద్దాం, ఇది అధిక సామర్థ్యం గల డేటా ఇంటర్‌ఛేంజ్‌కి ఎందుకు ఇష్టమైనదిగా మారుతుందో అర్థం చేసుకోవచ్చు.

ది ఫిలాసఫీ: JSON సెమాంటిక్స్, YAML ఈస్తటిక్స్

దాని ప్రధాన భాగంలో, TOON JSON వలె ఖచ్చితమైన డేటా మోడల్‌ను పంచుకుంటుంది. మీరు దానిని JSONలో సూచించగలిగితే—ప్రిమిటివ్‌లు (స్ట్రింగ్‌లు, నంబర్‌లు, బూలియన్‌లు, శూన్యమైనవి), ఆబ్జెక్ట్‌లు మరియు శ్రేణులు—మీరు దానిని TOONలో సూచించవచ్చు. అయితే, ప్రదర్శన పూర్తిగా భిన్నంగా ఉంటుంది.

టూన్ జంట కలుపులను తొలగిస్తుంది. ఇది YAML లాగా సోపానక్రమాన్ని సూచించడానికి ఇండెంటేషన్‌ని ఉపయోగిస్తుంది. ఒక సాధారణ వస్తువు శుభ్రంగా మరియు చేరుకోదగినదిగా కనిపిస్తుంది:

అయితే, YAML వలె కాకుండా, TOON రకాల విషయంలో కఠినంగా ఉంటుంది. నో అంటే తప్పు లేదా "లేదు" అనే స్ట్రింగ్‌ని ఊహించడం లేదు. TOONలో, స్ట్రింగ్‌లకు చాలా అవసరమైనప్పుడు మాత్రమే కోట్‌లు అవసరమవుతాయి-అంటే అవి ప్రత్యేక అక్షరాలను కలిగి ఉన్నప్పుడు, సంఖ్యలను పోలి ఉంటాయి లేదా ఖాళీగా ఉంటాయి. మీరు సందేశం: హలో వరల్డ్ అని టైప్ చేస్తే, మీకు స్ట్రింగ్ వస్తుంది. మీరు కౌంట్: 42 అని టైప్ చేస్తే, మీకు నంబర్ వస్తుంది.

ఐడి: 123 
పేరు: అదా 
క్రియాశీల: నిజం 

శ్రేణుల శక్తి: పొడవు మరియు పట్టికలు

టూన్ నిజంగా ప్యాక్ నుండి వేరుచేసే చోట దాని శ్రేణుల నిర్వహణ. ఇది టోకెన్ ఆప్టిమైజేషన్ కోసం "కిల్లర్ ఫీచర్".

TOONలోని ప్రతి శ్రేణి దాని పొడవును అంశాలు[3] వంటి బ్రాకెట్లలో స్పష్టంగా ప్రకటిస్తుంది. ఇది మానవులకు అనవసరంగా అనిపించవచ్చు, కానీ LLMకి ఇది ఒక సూపర్ పవర్. ఇది మోడల్‌ను వెంటనే నిర్మాణాన్ని ధృవీకరించడానికి మరియు కత్తిరించడాన్ని గుర్తించడానికి అనుమతిస్తుంది. రెండు అంశాల తర్వాత స్ట్రీమ్ ఆపివేయబడితే, హెడర్ మూడు వాగ్దానం చేసినట్లయితే, పార్సర్‌కు ఏదో తప్పు జరిగిందని తెలుసు.

టూన్ ప్రభావవంతంగా శ్రేణులను నిర్వహించడానికి మూడు మార్గాలను అందిస్తుంది, స్వయంచాలకంగా అత్యంత సమర్థవంతమైనదాన్ని ఎంచుకుంటుంది:

  1. ఇన్‌లైన్ ప్రిమిటివ్స్: సంఖ్యలు లేదా స్ట్రింగ్‌ల యొక్క సాధారణ జాబితాల కోసం, TOON దానిని కాంపాక్ట్‌గా ఉంచుతుంది. ట్యాగ్‌లు[3]: అడ్మిన్, ఆప్స్, దేవ్
  1. ప్రామాణిక జాబితాలు: మిశ్రమ రకాల కోసం, ఇది YAML మాదిరిగానే హైఫనేటెడ్ జాబితా సింటాక్స్‌ని ఉపయోగిస్తుంది.
  1. పట్టిక వస్తువులు: ఇది గేమ్-ఛేంజర్.

మీరు ఒకే రకమైన కీలను పంచుకునే ఆబ్జెక్ట్‌ల శ్రేణిని కలిగి ఉంటే—డేటాబేస్ రికార్డ్‌లలో చాలా సాధారణ నమూనా—టూన్ పైవట్‌లను పట్టిక ఆకృతికి. ప్రతి ఒక్క అడ్డు వరుసకు కీలను పునరావృతం చేయడానికి బదులుగా, ఇది హెడర్‌లో ఒకసారి కీలను ప్రకటిస్తుంది.

ఎగువ ఉదాహరణలో, యూజర్లు[2]{id,name,role}: మనకు 2 అడ్డు వరుసలు ఉన్నాయని చెబుతుంది మరియు స్కీమాను నిర్వచిస్తుంది. డేటా CSV-వంటి నిర్మాణంలో అనుసరిస్తుంది. ఇది ప్రతి వినియోగదారు కోసం "id":, "name": మరియు "role": పునరావృతమయ్యే భారీ టోకెన్ ఓవర్‌హెడ్‌ను తొలగిస్తుంది.

వినియోగదారులు[2]{id,name,role}: 
1, ఆలిస్ అడ్మిన్, అడ్మిన్ 
2,బాబ్ స్మిత్, వినియోగదారు 

డీలిమిటర్లు మరియు టోకెన్ సామర్థ్యం

పై ఉదాహరణలలో కామాలను ఉపయోగించడాన్ని మీరు గమనించవచ్చు. TOON వాస్తవానికి మూడు డీలిమిటర్‌లకు మద్దతు ఇస్తుంది: కామాలు (డిఫాల్ట్), ట్యాబ్‌లు మరియు పైపులు (|).

ఈ విషయం ఎందుకు? టోకనైజేషన్.

అనేక LLM టోకెనైజర్‌లలో, కామాతో పాటు కోట్‌ను బహుళ టోకెన్‌లుగా విభజించవచ్చు. అయితే, ట్యాబ్ అక్షరం తరచుగా చాలా శుభ్రంగా టోకనైజ్ అవుతుంది. అర్రే హెడర్ స్థాయిలో డీలిమిటర్‌లను మార్చడానికి TOON మిమ్మల్ని అనుమతిస్తుంది. మీరు ట్యాబ్ డీలిమిటర్‌ని ఉపయోగిస్తుంటే, మీరు తరచుగా మీ డేటాను మరింతగా కుదించే స్పేస్‌లను కలిగి ఉండే స్ట్రింగ్‌లను కోట్ చేయాల్సిన అవసరం లేదు.

"కొద్దీలను" నిర్వహించగలిగేంత స్మార్ట్ ఫార్మాట్ మీ డేటా యాక్టివ్ డీలిమిటర్‌ని కలిగి ఉంటే, TOON ఆ నిర్దిష్ట విలువను కోట్ చేస్తుంది.

అంశాలు[2]{sku,name,qty}: 
A1,విడ్జెట్ పేరు,2 
B2, గాడ్జెట్ పేరు, 1 

కీ ఫోల్డింగ్: కర్వ్‌ను చదును చేయడం

సామర్థ్యంపై TOON దృష్టిని హైలైట్ చేసే మరో లక్షణం కీ మడత. లోతుగా గూడు కట్టుకున్న వస్తువులు సాధారణంగా ఇండెంటేషన్ యొక్క "మెట్ల"కి దారితీస్తాయి, అది క్షితిజ సమాంతర స్థలం మరియు టోకెన్‌లను తినేస్తుంది.

మీరు మధ్యంతర వస్తువులకు తోబుట్టువులు లేని లోతైన సోపానక్రమాన్ని కలిగి ఉంటే, TOON వారిని డాట్-నోటేషన్ మార్గంలో కుదించవచ్చు.

వ్రాయడానికి బదులుగా:

మీరు వ్రాయవచ్చు:

డేటా: 
మెటాడేటా: 
అంశాలు[2]: a,b 

ఈ ఫీచర్, స్పెక్ v1.5 నుండి అందుబాటులో ఉంది, లైన్ కౌంట్ మరియు ఇండెంటేషన్ టోకెన్‌లను గణనీయంగా తగ్గిస్తుంది. ముఖ్యంగా, ఇది పూర్తిగా రివర్సబుల్. మీరు పాత్ ఎక్స్‌పాన్షన్ ఎనేబుల్ చేసి డేటాను డీకోడ్ చేసినప్పుడు, అది డీప్ ఆబ్జెక్ట్ సోపానక్రమాన్ని సంపూర్ణంగా పునర్నిర్మిస్తుంది.

data.metadata.items[2]: a,b 

కఠినత మరియు భద్రత

దాని సంక్షిప్త రూపం ఉన్నప్పటికీ, TOON డేటాతో వదులుగా లేదు. ఇది కోటింగ్ మరియు తప్పించుకోవడానికి కఠినమైన నియమాలకు కట్టుబడి ఉంటుంది.

స్ట్రింగ్‌లు సాధారణంగా కోట్ చేయబడవు, ఇది చదవడానికి గొప్పది. అయినప్పటికీ, డేటా సమగ్రతను నిర్ధారించడానికి TOON ఎడ్జ్ కేసుల కోటింగ్‌ను అమలు చేస్తుంది. స్ట్రింగ్ ఒక సంఖ్య వలె కనిపిస్తే (ఉదా., "05" లేదా "1e-6"), అది సంఖ్యగా అన్వయించబడకుండా నిరోధించడానికి కోట్ చేయబడుతుంది. స్ట్రింగ్ అనేది ట్రూ లేదా శూన్య వంటి రిజర్వ్ చేయబడిన పదం అయితే, అది కోట్ చేయబడుతుంది.

ఇంకా, TOON సంఖ్యలను సాధారణీకరిస్తుంది. ఇది కానానికల్ దశాంశ రూపాలను విడుదల చేస్తుంది-శాస్త్రీయ సంజ్ఞామానం లేదా అవుట్‌పుట్‌లో వెనుకబడిన సున్నాలు ఉండవు-అనుకూలతను నిర్ధారిస్తుంది. ఇది BigIntని కూడా సురక్షితంగా నిర్వహిస్తుంది; ఒక సంఖ్య సురక్షితమైన పూర్ణాంక పరిధిని మించి ఉంటే, రవాణా సమయంలో ఖచ్చితమైన నష్టాన్ని నిరోధించడానికి అది స్ట్రింగ్‌గా క్రమీకరించబడుతుంది.

రూట్ ఫారమ్‌లు

మనలో చాలా మంది రూట్ ఆబ్జెక్ట్‌లతో పని చేస్తున్నప్పుడు, TOON అనువైనది. పత్రం కీ-విలువ జతతో ప్రారంభం కానవసరం లేదు. ఇది రూట్ శ్రేణులకు మద్దతు ఇస్తుంది (వెంటనే [N]:తో ప్రారంభమవుతుంది) లేదా సింగిల్ రూట్ ప్రిమిటివ్ కూడా. JSONతో ఈ సమానత్వం అంటే, మీరు మరొకవైపు పార్సర్‌ని కలిగి ఉంటే, మీరు ప్రస్తుతం JSON ఉపయోగిస్తున్న దాదాపు ఏదైనా పైప్‌లైన్‌లో TOONని మార్చుకోవచ్చు.

తుది ఆలోచనలు

TOON కేవలం "మరొక ఫార్మాట్" కాదు. ఇది నిర్ణయాత్మక కోడ్ ద్వారా తరచుగా సంభావ్య నమూనాల ద్వారా డేటా వినియోగించబడే యుగం కోసం ఒక ప్రత్యేక సాధనం. CSV యొక్క సాంద్రత మరియు YAML యొక్క రీడబిలిటీతో JSON యొక్క దృఢమైన డేటా మోడల్‌ను కలపడం ద్వారా, ఇది రకం భద్రతను త్యాగం చేయకుండా సందర్భ-విండో ఆప్టిమైజేషన్ యొక్క నిర్దిష్ట సమస్యను పరిష్కరిస్తుంది.

మీరు ఏజెంట్‌లు, ఫైన్-ట్యూనింగ్ మోడల్‌లను నిర్మిస్తుంటే లేదా అంతులేని మూసివేత బ్రేస్‌ల ద్వారా స్క్రోలింగ్ చేయడంలో విసిగిపోయి ఉంటే, TOONకి ఒక రూపాన్ని ఇవ్వడానికి ఇది సమయం.