TOON TOML-converter
Converteer tussen TOON- en TOML-formaten voor efficiënt tokengebruik met LLMs
Invoer
Uitvoer
Readme
Wat is het TOML-formaat?
TOML (Tom's Obvious, Minimal Language) is een configuratie‑bestandformaat dat is ontworpen om gemakkelijk te lezen en te schrijven te zijn dankzij de voor de hand liggende semantiek. Het is gemaakt door Tom Preston‑Werner (mede‑oprichter van GitHub) en mappt eenduidig naar een hash‑tabel. TOML wordt veel gebruikt voor configuratie‑bestanden in Rust‑projecten (Cargo.toml), Python‑tools en tal van andere toepassingen. Het maakt gebruik van een duidelijke, minimale syntaxis met secties aangeduid door vierkante haken en sleutel‑waardeparen die lijken op INI‑bestanden, maar met rijkere datatypes, waaronder arrays, geneste tabellen, datums en een juiste type‑afhandeling.
Toolbeschrijving
Deze converter transformeert data bidirectioneel tussen TOML‑ en TOON‑formaten. Converteer TOML‑configuratiebestanden naar een token‑efficiënt TOON‑formaat voor LLM‑verwerking, of transformeer TOON‑data terug naar standaard TOML. De tool maakt gebruik van de officiële @toon-format/toon‑ en smol-toml‑bibliotheken om nauwkeurige conversie te garanderen. Dit is bijzonder nuttig bij het werken met LLM’s op configuratie‑beheertaken, infrastructure‑as‑code‑scenario’s, of elke situatie waarin je TOML‑data efficiënt moet verwerken binnen token‑beperkingen.
Voorbeelden
TOML‑invoer:
[database]
server = "192.168.1.1"
ports = [8000, 8001, 8002]
enabled = true
[[servers]]
name = "alpha"
ip = "10.0.0.1"
role = "frontend"
[[servers]]
name = "beta"
ip = "10.0.0.2"
role = "backend"
TOON‑uitvoer:
database:
server: 192.168.1.1
ports: [8000,8001,8002]
enabled: true
servers[2]{name,ip,role}:
alpha,10.0.0.1,frontend
beta,10.0.0.2,backend
Voorbeeld configuratiebestand:
TOML‑configuratie met geneste structuren:
[app]
name = "MyApp"
version = "1.0.0"
[app.settings]
debug = false
timeout = 30
[[app.features]]
id = 1
name = "feature-a"
enabled = true
[[app.features]]
id = 2
name = "feature-b"
enabled = false
Wordt compact TOON:
app:
name: MyApp
version: 1.0.0
settings:
debug: false
timeout: 30
features[2]{id,name,enabled}:
1,feature-a,true
2,feature-b,false
Functies
- Bidirectionele conversie tussen TOML‑ en TOON‑formaten met volledige getrouwheid
- Tokenreductie voor LLM‑verwerking (30‑50 % minder tokens voor gestructureerde configuraties)
- Behoudt TOML‑semantiek inclusief tabellen, arrays van tabellen en geneste structuren
- Type‑veilige conversie die gehele getallen, floats, booleans, strings en arrays behoudt
- Realtime‑conversie met directe resultaten terwijl je typt
Toepassingsgevallen
- Configuratie‑analyse met LLM’s – Converteer TOML‑configuratiebestanden naar TOON‑formaat voordat ze naar LLM’s worden gestuurd voor analyse, suggesties of documentatie‑generatie met verlaagde token‑kosten
- Infrastructure‑as‑Code‑verwerking – Transformeer Terraform-, Cargo- of andere op TOML gebaseerde configuraties voor efficiënte LLM‑gebaseerde infrastructuur‑reviews en -aanpassingen
- CI/CD‑configuratiebeheer – Verwerk build‑configuratiebestanden via LLM’s voor optimalisatie of migratie, terwijl API‑kosten geminimaliseerd worden
- Instellingen‑migratie – Converteer applicatie‑instellingen tussen formaten bij integratie met LLM‑aangedreven configuratie‑beheertools
- Documentatie‑generatie – Bereid TOML‑configuraties voor op LLM‑gebaseerde documentatieschrijvers met token‑efficiënte codering
Conversiedetails
- Tabellen (
[section]) worden omgezet naar geneste objecten in TOON met inspringing - Arrays van tabellen (
[[array]]) worden omgezet naar het tabel‑formaat van TOON wanneer uniform - Inline‑tabellen (
{key = value}) behouden de structuur via juiste nesting - Datatypes (strings, integers, floats, booleans, datums) behouden type‑veiligheid
- Arrays worden omgezet naar TOON‑array‑notatie met juiste opmaak
- Gesplitste sleutels (
a.b.c = value) worden uitgebreid tot een geneste structuur
Token‑efficiëntie
Het converteren van TOML naar TOON vóór LLM‑verwerking levert aanzienlijke besparingen op:
Voorbeeld token‑vergelijking (50 server‑configuraties):
- TOML (geformatteerd): ≈ 12.500 tokens
- TOON: ≈ 7.200 tokens (42 % reductie)
- TOON‑voordeel: Meer data binnen het context‑venster, lagere API‑kosten
De besparingen zijn het duidelijkst bij:
- Herhaalde tabelstructuren (zoals
[[servers]],[[databases]]) - Arrays van soortgelijke configuratie‑objecten
- Grote configuratiebestanden met uniforme secties
- Multi‑omgeving‑configuraties met vergelijkbare structuur
Formaatcompatibiliteit
Ondersteunde TOML‑functies:
- Basis sleutel‑waardeparen
- Tabellen en geneste tabellen
- Arrays van tabellen
- Inline‑tabellen en arrays
- Alle TOML‑datatypes (string, integer, float, boolean, datetime, array, table)
- Commentaren (behouden in structuur, maar niet in TOON‑representatie)
Rondreis‑getrouwheid:
De conversie TOML → TOON → TOML behoudt de gegevensintegriteit, hoewel opmaak en commentaren genormaliseerd kunnen worden. De semantische betekenis en alle waarden blijven behouden.
Wanneer deze converter te gebruiken
Gebruik TOML → TOON wanneer:
- Configuratiebestanden naar LLM’s sturen voor analyse of wijziging
- Grote TOML‑configuraties verwerken binnen token‑limieten