Hva er TOON-formatet?

TOON (Token-Oriented Object Notation) er et kompakt og lesbart dataserialiseringsformat designet spesifikt for Store Språkmodeller (LLMs). I motsetning til JSON, som gjentar feltnavn for hvert objekt i en array, deklarerer TOON feltnavnene én gang og overfører deretter data i rader—lignende CSV men med eksplisitt struktur. Denne designen reduserer typisk tokenbruk med 30-60% sammenlignet med formatert JSON, spesielt for uniforme arrays av objekter. TOON kombinerer YAMLs innrykksbaserte struktur for nestede objekter med CSV's tabellære effektivitet, optimalisert for LLM-kontekster hvor tokenkostnader betyr noe.

Hva er XML?

XML (eXtensible Markup Language) er et mye brukt oppmerkingsspråk for å kode dokumenter i et format som både er menneske- og maskinlesbart. XML bruker tagger for å definere elementer og attributter, og skaper en hierarkisk trestruktur. Det brukes vanligvis for konfigurasjonsfiler, datautveksling mellom systemer, webtjenester (SOAP), dokumentformater (Office Open XML) og RSS-feeder. Selv om XML er ordrik og eksplisitt, gir det robuste valideringsmuligheter og støtter komplekse nestede strukturer.

Verktøybeskrivelse

Denne konverteren transformerer data toveis mellom TOON- og XML-formater ved å bruke JSON som mellomformat. Konverteringsprosessen er: TOON ↔ JSON ↔ XML. Denne tilnærmingen sikrer pålitelig konvertering ved å utnytte veletablerte biblioteker for hvert transformasjonssteg. Konverter tokeneffektive TOON-data til standard XML-markup for systemer som krever XML-input, eller transformer XML-data til kompakt TOON-format for å redusere tokenbruk i LLM-applikasjoner.

Eksempler

TOON til XML-konvertering:

Input (TOON):

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Output (XML):

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <users>
    <id>1</id>
    <name>Alice</name>
    <role>admin</role>
  </users>
  <users>
    <id>2</id>
    <name>Bob</name>
    <role>user</role>
  </users>
</root>

XML til TOON-konvertering:

Input (XML):

<?xml version="1.0" encoding="UTF-8"?>
<order>
  <id>ORD-456</id>
  <customer>John Doe</customer>
  <total>99.99</total>
</order>

Output (TOON):

order:
  id: ORD-456
  customer: John Doe
  total: 99.99

Funksjoner

  • Toveis konvertering mellom TOON og XML med full databevaring
  • JSON mellomformat sikrer pålitelig konvertering ved å bruke testede biblioteker
  • Håndterer komplekse strukturer inkludert nestede elementer, attributter og arrays
  • Automatisk formatdeteksjon og optimal konverteringsstrategi
  • Bevarer datahierarki ved å opprettholde foreldre-barn-relasjoner
  • Typebevisst konvertering som holder tall, booleaner og strenger intakte
  • Sanntidskonvertering med umiddelbare resultater
  • Syntaksutheving for både TOON- og XML-formater

Bruksområder

  1. Legacy systemintegrasjon - Konverter moderne TOON-data til XML-format for kompatibilitet med gamle bedriftssystemer som krever XML-input
  2. API-datatransformasjon - Transformer XML API-responser til tokeneffektivt TOON-format før sending til LLMs for behandling og analyse
  3. Konfigurasjonsfil-konvertering - Konverter XML-konfigurasjonsfiler til TOON-format for å redusere tokenbruk når LLMs brukes til infrastrukturstyring
  4. Dokumentbehandling - Transformer XML-dokumenter (RSS-feeder, SOAP-responser, Office-dokumenter) til TOON for effektiv LLM-basert analyse
  5. Datamigrering - Konverter data mellom systemer som bruker forskjellige formater, med TOON som tokeneffektiv mellomrepresentasjon

Konverteringsprosess

TOON til XML:

  1. Parse TOON-format til JavaScript-objekt (ved bruk av @toon-format/toon decode)
  2. Konverter JavaScript-objekt til XML-markup (ved bruk av xml2js builder)
  3. Output av formatert XML med passende innrykk

XML til TOON:

  1. Parse XML-markup til JavaScript-objekt (ved bruk av xml2js parser)
  2. Konverter JavaScript-objekt til TOON-format (ved bruk av @toon-format/toon encode)
  3. Output av kompakt TOON-representasjon

Merknader om XML-struktur

Ved konvertering fra TOON til XML:

  • Rotobjektets nøkler blir XML-elementer
  • Arrays skaper flere elementer med samme tagnavn
  • TOON tabellære arrays utvides til individuelle XML-elementer
  • Objektegenskaper blir barnelementer
  • Verdier konverteres til tekstinnhold

Ved konvertering fra XML til TOON:

  • XML-elementer blir objektnøkler
  • Repeterte elementer blir arrays
  • Attributter slås sammen med elementinnhold
  • Tekstinnhold blir strengverdier
  • Tomme elementer blir tomme strenger eller null

Formatbetraktninger

XML-ordrikhet:

  • XML er iboende ordrik med åpne/lukke-tagger
  • Hvert element krever både start- og slutt-tagg
  • Attributter legger til ekstra tegn
  • Godt egnet for dokumentmarkup og validering

TOON-effektivitet:

  • Betydelig mer kompakt for strukturerte data
  • Ideelt for tabelldata med repeterte strukturer
  • Reduserer tokenbruk med 30-60% vs JSON
  • Optimalisert for LLM-forbruk

Avveininger:

  • XML støtter attributter og blandet innhold (tekst + elementer)
  • TOON utmerker seg i uniforme datastrukturer
  • XML har sterkere valideringsmuligheter
  • TOON har bedre tokeneffektivitet for LLMs

Konverteringskvalitet

JSON-mellomformatet sikrer:

  • Dataintegritet - ingen datatap under konvertering
  • Typebevaring - tall, booleaner og null-verdier beholdes
  • Strukturkonsistens - nestede relasjoner bevares
  • Pålitelig transformasjon - ved bruk av testede biblioteker (xml2js og @toon-format/toon)
  • Feilhåndtering - tydelige feilmeldinger for ugyldig input