Stăpânirea TOON CLI

CLI
TOON

Dacă ați lucrat cu modele de limbă mari (LLM), știți că JSON este lingua franca a schimbului de date. Cu toate acestea, știți, de asemenea, că JSON este notoriu „chatty”. Toate acele acolade, ghilimele și cheile repetate îți consumă fereastra de context, măresc latența și cresc costurile API.

Aici strălucește TOON (The Object-Oriented Notation). În timp ce biblioteca TypeScript este excelentă pentru codul aplicației, uneori trebuie doar să faceți lucrurile rapid în terminal. Indiferent dacă depanați un prompt, pregătiți un set de date sau pur și simplu sunteți curios despre câți bani ați putea economisi pe jetoane, CLI-ul „@toon-format/toon” este noul tău cel mai bun prieten.

În acest ghid, vom analiza cum să folosim interfața de linie de comandă TOON pentru a integra optimizarea datelor direct în fluxurile de lucru shell.

Se instalează

Unul dintre cele mai bune lucruri despre instrumentele moderne JavaScript este că adesea nu trebuie să „instalați” nimic pentru a începe. Dacă doriți doar să încercați TOON într-un singur fișier, puteți folosi npx pentru a rula direct binarul:

npx @toon-format/cli input.json -o output.toon 

Cu toate acestea, dacă intenționați să utilizați acest lucru în mod frecvent - și odată ce vedeți economiile de simboluri, probabil că o veți face - o instalare globală este calea de urmat. Vă oferă acces la comanda concisă toon oriunde în sistemul dumneavoastră.

npm install -g @toon-format/cli 
# sau 
pnpm adăugați -g @toon-format/cli 

Odată instalat, sunteți gata să începeți să vă micșorați datele.

Magia detectării automate

TOON CLI este conceput pentru a fi inteligent cu privire la ceea ce încercați să faceți. Rareori trebuie să îi spui în mod explicit să codifice sau să decodeze; se uită la extensiile de fișiere pentru a decide.

Dacă îl alimentați cu un fișier .json, se presupune că doriți să îl codificați în TOON. Dacă furnizați un fișier .toon, acesta trece în modul de decodare pentru a vă returna JSON.

# Codifică automat în TOON 
toon data.json -o compressed.toon 

# Decodifică automat în JSON 
toon compressed.toon -o restored.json 

Dar locul în care CLI-ul își dovedește cu adevărat valoarea este în „filozofia Unix” – instrumente mici îmbinate liber. Deoarece TOON CLI citește de la intrarea standard (stdin) și scrie la ieșirea standard (stdout), puteți transmite datele direct prin el.

# Transmite JSON direct în TOON 
cat large-dataset.json | toon > data.toon 

# Ecou un obiect rapid pentru a vedea cum arată în TOON 
echo '{"nume": "Ada", "rol": "admin"}' | toon 

Când transferați date prin stdin, CLI este implicit în modul encode. Dacă trebuie să decodați un flux de date TOON provenind dintr-un alt proces, pur și simplu adăugați indicatorul --decode (sau -d).

Analizând economiile de jetoane

Optimizarea formatelor de date se referă adesea la jocurile de ghicire. „Dacă elimin spațiul alb, cât economisesc?” „Ce se întâmplă dacă trec la YAML?”

TOON CLI elimină presupunerile cu steag-ul „--stats”. La codificare, această opțiune calculează numărul estimat de jetoane și vă arată imediat economiile. Acest lucru este de neprețuit atunci când vă bugetați pentru apeluri LLM de mare volum.

toon context.json --stats 

Este posibil să vedeți rezultate care indică o reducere a dimensiunii cu 30% sau 40%. Acesta nu este doar spațiu pe disc; adică cu 40% mai puțină latență și cu 40% mai puțin cost pentru jetoanele de intrare.

Reglaj avansat: delimitatori și formatare

În mod implicit, TOON folosește virgule pentru a separa elementele matricei, similar cu JSON. Cu toate acestea, diferiți tokenizer LLM se comportă diferit cu punctuația. Uneori, un caracter tabulator sau un pipe (|) este mai eficient din punct de vedere al simbolurilor decât o virgulă.

CLI vă permite să schimbați delimitatorii din mers. Dacă aveți de-a face cu date tabulare, trecerea la un delimitator de file poate face ca rezultatul să pară mai curat și să proceseze mai eficient.

Pentru o listă de produse, aceasta transformă rezultatul dintr-o listă separată prin virgulă într-o structură curată, separată de file, care arată aproape ca o foaie de calcul, pe care multe modele o analizează excepțional de bine.

# Utilizați file pentru elementele matrice 
toon items.json --delimiter „\t” -o items.toon 

::: pont Sfat profesionist: Delimitatoarele de tabulatori reduc adesea nevoia de ghilimele de evadare și pot duce la o mai bună tokenizare a datelor numerice. Dacă procesați seturi de date masive, încercați --delimiter "\t" pentru a elimina fiecare pic de eficiență. :::

Comprimarea structurii cu plierea cheii

Una dintre caracteristicile mai noi (introdusă în specificația v1.5) disponibile în CLI este Key Folding. Datele JSON sunt adesea imbricate profund, cu chei de pachet precum data.response.items care adaugă profunzime structurală fără a adăuga sens.

CLI vă permite să „pliați” aceste chei imbricate într-o singură cale notată cu puncte, aplatind ierarhia și salvând simboluri pe indentație și acolade.

toon deep-structure.json --key-folding safe -o flat.toon 

Aceasta transformă obiectele imbricate:

{ "user": { "profile": { "id": 1 } } } 

Într-o reprezentare TOON concisă:

user.profile.id: 1 

Dacă mai târziu, trebuie să convertiți acest lucru înapoi în JSON complet, puteți utiliza indicatorul --expand-paths safe în timpul decodării pentru a reconstrui perfect structura obiectului profund.

se integrează în Pipelines

Puterea reală a TOON CLI vine atunci când îl legați cu alte instrumente precum curl și jq. Puteți prelua date dintr-un API, le puteți filtra până la elementele esențiale și le puteți converti în TOON într-o singură linie - gata pentru a fi lipite într-un prompt sau trimis la un punct final de inferență.

În acest flux de lucru, preluați datele, extrageți numai utilizatorii activi, le convertiți într-un format TOON delimitat prin conducte și obțineți un raport statistic despre câte jetoane tocmai ați salvat.

curl -s https://api.example.com/users \ 
| jq „.data.active_users” \ 
| toon --stats --delimiter "|" 

Rezumat

@toon-format/cli este mai mult decât un simplu convertor de fișiere; este o centură de utilitate pentru era LLM. Prin mutarea procesării datelor la linia de comandă, puteți să repetați mai rapid, să vizualizați imediat optimizările și să integrați formate eficiente cu simboluri în fluxurile de lucru existente de inginerie.

Indiferent dacă pregătiți documente RAG (Retrieval-Augmented Generation) sau pur și simplu încercați să încadrați un blob JSON masiv într-o fereastră de context mică, dați o învârtire CLI. Bugetul dvs. simbol vă va mulțumi.