TOON CLIలో మాస్టరింగ్
మీరు లార్జ్ లాంగ్వేజ్ మోడల్స్ (LLMలు)తో పని చేస్తుంటే, JSON అనేది డేటా ఎక్స్ఛేంజ్ యొక్క లింగ్వా ఫ్రాంకా అని మీకు తెలుసు. అయినప్పటికీ, JSON "చాటీ" అని కూడా మీకు తెలుసు. ఆ బ్రేస్లు, కోట్లు మరియు రిపీటెడ్ కీలు మీ కాంటెక్స్ట్ విండోను తింటాయి, జాప్యాన్ని పెంచుతాయి మరియు API ఖర్చులను పెంచుతాయి.
ఇక్కడే TOON (ది ఆబ్జెక్ట్-ఓరియెంటెడ్ నొటేషన్) ప్రకాశిస్తుంది. అప్లికేషన్ కోడ్ కోసం టైప్స్క్రిప్ట్ లైబ్రరీ చాలా బాగుంది, కొన్నిసార్లు మీరు టెర్మినల్లో పనులను త్వరగా పూర్తి చేయాలి. మీరు ప్రాంప్ట్ను డీబగ్ చేస్తున్నా, డేటాసెట్ను సిద్ధం చేస్తున్నా లేదా టోకెన్లపై ఎంత డబ్బు ఆదా చేయవచ్చనే ఆసక్తితో ఉన్నా, @toon-format/toon CLI మీ కొత్త బెస్ట్ ఫ్రెండ్.
ఈ గైడ్లో, డేటా ఆప్టిమైజేషన్ను నేరుగా మీ షెల్ వర్క్ఫ్లోస్లో ఏకీకృతం చేయడానికి TOON కమాండ్ లైన్ ఇంటర్ఫేస్ను ఎలా ఉపయోగించాలో మేము పరిశీలిస్తాము.
సెటప్ అవుతోంది
ఆధునిక జావాస్క్రిప్ట్ టూలింగ్ గురించిన ఒక మంచి విషయం ఏమిటంటే, మీరు ప్రారంభించడానికి ఏదైనా "ఇన్స్టాల్" చేయనవసరం లేదు. మీరు ఒకే ఫైల్లో TOONని ప్రయత్నించాలనుకుంటే, బైనరీని నేరుగా అమలు చేయడానికి మీరు npxని ఉపయోగించవచ్చు:
npx @toon-format/cli input.json -o output.toon
అయితే, మీరు దీన్ని తరచుగా ఉపయోగించాలని ప్లాన్ చేస్తుంటే-మరియు ఒకసారి మీరు టోకెన్ పొదుపులను చూసినట్లయితే, మీరు బహుశా గ్లోబల్ ఇన్స్టాలేషన్ను ఉపయోగించుకోవచ్చు. ఇది మీ సిస్టమ్లో ఎక్కడైనా సంక్షిప్త టూన్ కమాండ్కి యాక్సెస్ని ఇస్తుంది.
npm ఇన్స్టాల్ -g @toon-format/cli
# లేదా
pnpm add -g @toon-format/cli
ఇన్స్టాల్ చేసిన తర్వాత, మీరు మీ డేటాను కుదించడం ప్రారంభించడానికి సిద్ధంగా ఉన్నారు.
ది మ్యాజిక్ ఆఫ్ ఆటో-డిటెక్షన్
TOON CLI మీరు ఏమి చేయడానికి ప్రయత్నిస్తున్నారనే దాని గురించి తెలివిగా రూపొందించబడింది. ఎన్కోడ్ లేదా డీకోడ్ చేయమని మీరు చాలా అరుదుగా చెప్పవలసి ఉంటుంది; ఇది నిర్ణయించడానికి మీ ఫైల్ పొడిగింపులను చూస్తుంది.
మీరు దానికి .json ఫైల్ను ఫీడ్ చేస్తే, మీరు దానిని TOONకి ఎన్కోడ్ చేయాలనుకుంటున్నారు. మీరు .toon ఫైల్ని అందిస్తే, అది మీకు JSONని తిరిగి ఇవ్వడానికి డీకోడింగ్ మోడ్కి మారుతుంది.
# TOONకి స్వయంచాలకంగా ఎన్కోడ్ చేస్తుంది
toon data.json -o compressed.toon
# స్వయంచాలకంగా JSONకి డీకోడ్ చేస్తుంది
టూన్ compressed.toon -o restored.json
కానీ CLI నిజంగా దాని విలువను "యునిక్స్ ఫిలాసఫీ"లో రుజువు చేస్తుంది-చిన్న సాధనాలు వదులుగా చేరాయి. TOON CLI ప్రామాణిక ఇన్పుట్ (stdin) నుండి చదివి, ప్రామాణిక అవుట్పుట్ (stdout)కి వ్రాస్తుంది కాబట్టి, మీరు దాని ద్వారా నేరుగా డేటాను పైప్ చేయవచ్చు.
# JSONని నేరుగా TOONలోకి పంపండి
cat large-dataset.json | toon > data.toon
# TOONలో అది ఎలా కనిపిస్తుందో చూడటానికి త్వరిత వస్తువును ప్రతిధ్వని చేయండి
echo '{"name": "Ada", "role": "admin"}' | టూన్
మీరు stdin ద్వారా డేటాను పైప్ చేస్తున్నప్పుడు, CLI డిఫాల్ట్గా ఎన్కోడ్ మోడ్కి వస్తుంది. మీరు మరొక ప్రక్రియ నుండి వచ్చే TOON డేటా స్ట్రీమ్ను డీకోడ్ చేయవలసి వస్తే, కేవలం --డీకోడ్ (లేదా -d) ఫ్లాగ్ని జోడించండి.
టోకెన్ పొదుపులను విశ్లేషించడం
డేటా ఫార్మాట్లను ఆప్టిమైజ్ చేయడం అనేది తరచుగా గేమ్లను ఊహించడం. "నేను ఖాళీ స్థలాన్ని తీసివేస్తే, నేను ఎంత ఆదా చేస్తాను?" "నేను YAMLకి మారితే?"
TOON CLI అంచనాలను --గణాంకాలు ఫ్లాగ్తో తొలగిస్తుంది. ఎన్కోడింగ్ చేస్తున్నప్పుడు, ఈ ఐచ్ఛికం అంచనా వేయబడిన టోకెన్ గణనను గణిస్తుంది మరియు మీకు వెంటనే పొదుపులను చూపుతుంది. మీరు అధిక-వాల్యూమ్ LLM కాల్ల కోసం బడ్జెట్ చేస్తున్నప్పుడు ఇది అమూల్యమైనది.
toon context.json --గణాంకాలు
మీరు పరిమాణంలో 30% లేదా 40% తగ్గింపును సూచించే అవుట్పుట్ని చూడవచ్చు. అది కేవలం డిస్క్ స్పేస్ కాదు; అంటే ఇన్పుట్ టోకెన్లపై 40% తక్కువ జాప్యం మరియు 40% తక్కువ ధర.
అధునాతన ట్యూనింగ్: డీలిమిటర్లు మరియు ఫార్మాటింగ్
డిఫాల్ట్గా, TOON JSON మాదిరిగానే శ్రేణి అంశాలను వేరు చేయడానికి కామాలను ఉపయోగిస్తుంది. అయితే, వివిధ LLM టోకెనైజర్లు విరామచిహ్నాలతో విభిన్నంగా ప్రవర్తిస్తాయి. కొన్నిసార్లు, ట్యాబ్ అక్షరం లేదా పైప్ (|) కామా కంటే ఎక్కువ టోకెన్-సమర్థవంతంగా ఉంటుంది.
CLI ఫ్లైలో డీలిమిటర్లను మార్చుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు పట్టిక డేటాతో వ్యవహరిస్తున్నట్లయితే, ట్యాబ్ డీలిమిటర్కి మారడం వల్ల అవుట్పుట్ క్లీనర్గా కనిపిస్తుంది మరియు మరింత సమర్థవంతంగా ప్రాసెస్ చేయబడుతుంది.
ఉత్పత్తుల జాబితా కోసం, ఇది అవుట్పుట్ను కామాతో వేరు చేయబడిన జాబితా నుండి శుభ్రమైన, ట్యాబ్-వేరు చేయబడిన నిర్మాణంగా మారుస్తుంది, ఇది దాదాపు స్ప్రెడ్షీట్ వలె కనిపిస్తుంది, ఇది చాలా మోడల్లు అనూహ్యంగా బాగా అన్వయించబడతాయి.
# అర్రే ఐటెమ్ల కోసం ట్యాబ్లను ఉపయోగించండి
toon items.json --delimiter "\t" -o items.toon
::: చిట్కా
ప్రో చిట్కా: ట్యాబ్ డీలిమిటర్లు తరచుగా కోట్లను తప్పించుకునే అవసరాన్ని తగ్గిస్తాయి మరియు సంఖ్యా డేటా కోసం మెరుగైన టోకనైజేషన్కు దారితీయవచ్చు. మీరు భారీ డేటాసెట్లను ప్రాసెస్ చేస్తుంటే, ప్రతి బిట్ సామర్థ్యాన్ని తగ్గించడానికి --డిలిమిటర్ "\t"ని ప్రయత్నించండి.
:::
కీ మడతతో నిర్మాణాన్ని కుదించడం
CLIలో అందుబాటులో ఉన్న కొత్త ఫీచర్లలో ఒకటి (స్పెక్ v1.5లో పరిచయం చేయబడింది) కీ ఫోల్డింగ్. JSON డేటా తరచుగా లోతుగా గూడు కట్టబడి ఉంటుంది, అర్థాన్ని జోడించకుండా నిర్మాణాత్మక లోతును జోడించే data.response.items వంటి రేపర్ కీలతో.
CLI ఈ సమూహ కీలను ఒకే డాట్-నోటెడ్ పాత్లో "ఫోల్డ్" చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, సోపానక్రమాన్ని చదును చేస్తుంది మరియు ఇండెంటేషన్ మరియు బ్రేస్లపై టోకెన్లను సేవ్ చేస్తుంది.
టూన్ deep-structure.json --కీ-ఫోల్డింగ్ సేఫ్ -o flat.toon
ఇది సమూహ వస్తువులను మారుస్తుంది:
{ "user": { "profile": { "id": 1 } } }
సంక్షిప్త TOON ప్రాతినిధ్యంలోకి:
user.profile.id: 1
మీరు దీన్ని తర్వాత పూర్తి JSONకి మార్చాలనుకుంటే, డీకోడింగ్ సమయంలో డీప్ ఆబ్జెక్ట్ నిర్మాణాన్ని సంపూర్ణంగా పునర్నిర్మించడానికి మీరు --ఎక్స్పాండ్-పాత్స్ సేఫ్ ఫ్లాగ్ని ఉపయోగించవచ్చు.
పైప్లైన్లలోకి కలుపుతోంది
TOON CLI యొక్క నిజమైన శక్తి మీరు కర్ల్ మరియు jq వంటి ఇతర సాధనాలతో దాన్ని చైన్ చేసినప్పుడు వస్తుంది. మీరు API నుండి డేటాను పొందవచ్చు, దానిని అవసరమైన వాటికి ఫిల్టర్ చేయవచ్చు మరియు దానిని ఒకే లైన్లో TOONకి మార్చవచ్చు—ప్రాంప్ట్లో అతికించడానికి లేదా అనుమితి ముగింపు పాయింట్కి పంపడానికి సిద్ధంగా ఉంది.
ఈ వర్క్ఫ్లో, మీరు డేటాను పొందండి, సక్రియ వినియోగదారులను మాత్రమే సంగ్రహించండి, పైప్-డిలిమిటెడ్ TOON ఆకృతికి మార్చండి మరియు మీరు ఇప్పుడే ఎన్ని టోకెన్లను సేవ్ చేసారో గణాంకాల నివేదికను పొందండి.
కర్ల్ -లు https://api.example.com/users \
| jq '.data.active_users' \
| toon --stats --delimiter "|"
సారాంశం
@toon-format/cli కేవలం ఫైల్ కన్వర్టర్ కంటే ఎక్కువ; ఇది LLM యుగానికి యుటిలిటీ బెల్ట్. డేటా ప్రాసెసింగ్ను కమాండ్ లైన్కు తరలించడం ద్వారా, మీరు వేగంగా పునరావృతం చేయవచ్చు, ఆప్టిమైజేషన్లను వెంటనే దృశ్యమానం చేయవచ్చు మరియు మీ ప్రస్తుత ఇంజనీరింగ్ వర్క్ఫ్లోలలో టోకెన్-సమర్థవంతమైన ఫార్మాట్లను ఏకీకృతం చేయవచ్చు.
మీరు RAG (రిట్రీవల్-ఆగ్మెంటెడ్ జనరేషన్) డాక్యుమెంట్లను సిద్ధం చేస్తున్నా లేదా చిన్న కాంటెక్స్ట్ విండోలో భారీ JSON బొట్టును అమర్చడానికి ప్రయత్నిస్తున్నా, CLIకి స్పిన్ ఇవ్వండి. మీ టోకెన్ బడ్జెట్ మీకు కృతజ్ఞతలు తెలుపుతుంది.