Beheersing van de TOON CLI

CLI
TOON

Als u met Large Language Models (LLM's) hebt gewerkt, weet u dat JSON de lingua franca is van gegevensuitwisseling. U weet echter ook dat JSON notoir 'spraakzaam' is. Al die accolades, aanhalingstekens en herhaalde sleutels slokken je contextvenster op, verhogen de latentie en drijven de API-kosten op.

Dit is waar TOON (The Object-Oriented Notation) schittert. Hoewel de TypeScript-bibliotheek geweldig is voor applicatiecode, moet je soms dingen snel gedaan krijgen in de terminal. Of u nu fouten oplost in een prompt, een dataset voorbereidt, of gewoon nieuwsgierig bent naar hoeveel geld u kunt besparen op tokens, de @toon-format/toon CLI is uw nieuwe beste vriend.

In deze handleiding bekijken we hoe u de TOON Command Line Interface kunt gebruiken om gegevensoptimalisatie rechtstreeks in uw shell-workflows te integreren.

Aan de slag

Een van de beste dingen van moderne JavaScript-tools is dat u vaak niets hoeft te 'installeren' om aan de slag te gaan. Als je TOON gewoon op een enkel bestand wilt uitproberen, kun je npx gebruiken om het binaire bestand rechtstreeks uit te voeren:

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

Als u echter van plan bent dit regelmatig te gebruiken – en zodra u de symbolische besparingen ziet, zult u dat waarschijnlijk ook doen – is een wereldwijde installatie de beste keuze. Het geeft u overal in uw systeem toegang tot het beknopte toon-commando.

npm install -g @toon-format/cli 
# of 
pnpm voeg -g @toon-format/cli toe 

Eenmaal geïnstalleerd, bent u klaar om uw gegevens te verkleinen.

De magie van automatische detectie

De TOON CLI is ontworpen om slim te zijn in wat u probeert te doen. Je hoeft het zelden expliciet te vertellen dat het moet coderen of decoderen; het kijkt naar uw bestandsextensies om te beslissen.

Als u het een .json-bestand invoert, gaat het ervan uit dat u het naar TOON wilt coderen. Als u een .toon-bestand opgeeft, schakelt het over naar de decoderingsmodus om u JSON terug te geven.

# Codeert automatisch naar TOON 
toon data.json -o gecomprimeerd.toon 

# Decodeert automatisch naar JSON 
toon gecomprimeerd.toon -o hersteld.json 

Maar waar de CLI echt zijn waarde bewijst, is de 'Unix-filosofie': kleine tools die losjes aan elkaar zijn gekoppeld. Omdat de TOON CLI leest van standaardinvoer (stdin) en naar standaarduitvoer (stdout) schrijft, kunt u gegevens er rechtstreeks doorheen leiden.

# Pipetteer JSON rechtstreeks naar TOON 
cat grote dataset.json | toon > data.toon 

# Echo een snel object om te zien hoe het eruit ziet in TOON 
echo '{"naam": "Ada", "rol": "admin"}' | Toon 

Wanneer u gegevens doorstuurt via stdin, wordt de CLI standaard ingesteld op de modus coderen. Als u een stroom TOON-gegevens moet decoderen die uit een ander proces komt, voegt u eenvoudigweg de vlag --decode (of -d) toe.

Tokenbesparingen analyseren

Het optimaliseren van dataformaten gaat vaak over raadspelletjes. "Als ik witruimte verwijder, hoeveel bespaar ik dan?" "Wat als ik overstap naar YAML?"

De TOON CLI elimineert het giswerk met de --stats vlag. Bij het coderen berekent deze optie het geschatte aantal tokens en toont u onmiddellijk de besparingen. Dit is van onschatbare waarde als u budgetteert voor LLM-oproepen met een hoog volume.

toon context.json --stats 

Mogelijk ziet u uitvoer die een verkleining van 30% of 40% aangeeft. Dat is niet alleen schijfruimte; dat is 40% minder latentie en 40% lagere kosten voor invoertokens.

Geavanceerde afstemming: scheidingstekens en opmaak

Standaard gebruikt TOON komma's om array-items te scheiden, vergelijkbaar met JSON. Verschillende LLM-tokenizers gedragen zich echter anders met interpunctie. Soms is een tabteken of een pipe (|) tokenefficiënter dan een komma.

Met de CLI kunt u scheidingstekens direct verwisselen. Als u te maken heeft met gegevens in tabelvorm, kan het overschakelen naar een tabscheidingsteken ervoor zorgen dat de uitvoer er overzichtelijker uitziet en efficiënter wordt verwerkt.

Voor een lijst met producten transformeert dit de uitvoer van een door komma's gescheiden lijst naar een overzichtelijke, door tabs gescheiden structuur die er bijna uitziet als een spreadsheet, die door veel modellen uitzonderlijk goed wordt ontleed.

# Gebruik tabbladen voor array-items 
toon items.json --delimiter "\t" -o items.toon 

::: tip Pro-tip: Tabbladscheidingstekens verminderen vaak de noodzaak voor het ontsnappen van aanhalingstekens en kunnen resulteren in een betere tokenisatie voor numerieke gegevens. Als je enorme datasets verwerkt, probeer dan --delimiter "\t" om elk stukje efficiëntie eruit te halen. :::

Structuur comprimeren met sleutelvouwen

Een van de nieuwere functies (geïntroduceerd in specificatie v1.5) die beschikbaar zijn in de CLI is Key Folding. JSON-gegevens zijn vaak diep genest, met wrapper-sleutels zoals data.response.items die structurele diepte toevoegen zonder betekenis toe te voegen.

Met de CLI kunt u deze geneste sleutels "vouwen" in een pad met enkele punten, waardoor de hiërarchie wordt afgevlakt en tokens worden bespaard op inspringingen en accolades.

toon deep-structure.json --sleutelvouwkluis -o flat.toon 

Hiermee worden geneste objecten getransformeerd:

{ "gebruiker": { "profiel": { "id": 1 } } } 

In een beknopte TOON-weergave:

gebruiker.profiel.id: 1 

Als je dit later terug moet converteren naar volledige JSON, kun je tijdens het decoderen de vlag --expand-paths safe gebruiken om de diepe objectstructuur perfect te reconstrueren.

integreren in pijpleidingen

De echte kracht van de TOON CLI komt wanneer je hem koppelt aan andere tools zoals curl en jq. U kunt gegevens ophalen uit een API, deze filteren tot de essentie en deze in één regel naar TOON converteren, klaar om in een prompt te worden geplakt of naar een inferentie-eindpunt te worden verzonden.

In deze workflow haalt u de gegevens op, extraheert u alleen de actieve gebruikers, converteert u deze naar een door pijpen gescheiden TOON-formaat en krijgt u een statistisch rapport over het aantal tokens dat u zojuist hebt opgeslagen.

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

Samenvatting

Het @toon-format/cli is meer dan alleen een bestandsconverter; het is een gereedschapsriem voor het LLM-tijdperk. Door de gegevensverwerking naar de opdrachtregel te verplaatsen, kunt u sneller itereren, optimalisaties onmiddellijk visualiseren en token-efficiënte formaten integreren in uw bestaande engineeringworkflows.

Of u nu RAG-documenten (Retrieval-Augmented Generation) voorbereidt of eenvoudigweg probeert een enorme JSON-blob in een klein contextvenster te passen, geef de CLI een draai. Uw tokenbudget zal u dankbaar zijn.