Stăpânirea TOON CLI
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.