Mikä on TOON-muoto?

TOON (Token-Oriented Object Notation) on tiivis, ihmisluettava tietojen sarjoitusmuoto, joka on suunniteltu erityisesti Large Language Models (LLMs) -malleille. Toisin kuin JSON, jossa kenttänimet toistuvat jokaisessa taulukon objektissa, TOON määrittelee kenttänimet kerran ja sitten virtaa data riveinä – samankaltainen kuin CSV, mutta eksplisiittisellä rakenteella. Tämä suunnittelu vähentää tavallisesti token-käyttöä 30–60 % verrattuna muotoiltuun JSONiin, erityisesti yhtenäisissä objektitaulukoissa. TOON yhdistää YAML:n sisennysperusteisen rakenteen sisäkkäisille objekteille CSV:n taulukko-efektiivisyyden kanssa, optimoituna LLM-ympäristöihin, joissa token-kustannukset ovat merkittäviä.

Mikä on XML?

XML (eXtensible Markup Language) on laajasti käytetty merkintäkieli, jonka avulla dokumentit voidaan koodata sekä ihmisluettavassa että koneellisesti luettavassa muodossa. XML käyttää tunnisteita elementtien ja attribuuttien määrittämiseen, luoden hierarkkisen puurakenteen. Sitä käytetään yleisesti konfiguraatiotiedostoissa, järjestelmien välisten tietojen vaihtoon, web‑palveluissa (SOAP), dokumenttiformaateissa (Office Open XML) ja RSS‑syötteissä. Vaikka XML on sanallista ja eksplisiittistä, se tarjoaa vahvat validointimahdollisuudet ja tukee monimutkaisia sisäkkäisiä rakenteita.

Työkalun kuvaus

Tämä muunnin muuntaa tietoja kaksisuuntaisesti TOON- ja XML-formaattien välillä käyttäen JSONia välimuotona. Muunnosprosessi on: TOON ↔ JSON ↔ XML. Tämä lähestymistapa takaa luotettavan muunnoksen hyödyntäen vakiintuneita kirjastoja jokaisessa muunnosvaiheessa. Muunna tokenitehokas TOON-data standardiksi XML‑merkinnäksi järjestelmiin, jotka vaativat XML‑syötteen, tai muunna XML-data tiiviiksi TOON‑muodoksi token‑käytön vähentämiseksi LLM‑sovelluksissa.

Esimerkit

TOON → XML -muunnos:

Syöte (TOON):

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

Tuloste (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 → TOON -muunnos:

Syöte (XML):

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

Tuloste (TOON):

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

Ominaisuudet

  • Kaksisuuntainen muunnos TOONin ja XML:n välillä täydellisellä tietojen säilyttämisellä
  • JSON-välimuoto varmistaa luotettavan muunnoksen käyttäen testattuja kirjastoja
  • Käsittelee monimutkaisia rakenteita mukaan lukien sisäkkäiset elementit, attribuutit ja taulukot
  • Automaattinen formaatin tunnistus ja optimaalinen muunnosstrategia
  • Säilyttää tietohierarkian ylläpitäen vanhempi‑lapsi‑suhteita
  • Tyyppitietoinen muunnos säilyttäen numerot, boolean‑arvot ja merkkijonot muuttumattomina
  • Reaaliaikainen muunnos välittömillä tuloksilla
  • Syntaksin korostus sekä TOON- että XML-muodoille

Käyttötapaukset

  1. Perintöjärjestelmän integrointi – Muunna moderni TOON-data XML-muotoon yhteensopivuuden vuoksi vanhojen yritysjärjestelmien kanssa, jotka vaativat XML‑syötettä
  2. API-datan muunnos – Muunna XML API‑vastaukset tokenitehokkaaseen TOON‑muotoon ennen lähettämistä LLM:ille käsittelyä ja analyysiä varten
  3. Konfiguraatiotiedostojen muunnos – Muunna XML‑konfiguraatiotiedostot TOON‑muotoon tokenien käytön vähentämiseksi LLM:ien avulla infrastruktuurin hallinnassa
  4. Asiakirjojen käsittely – Muunna XML‑asiakirjat (RSS‑syötteet, SOAP‑vastaukset, Office‑dokumentit) TOONiin tehokasta LLM‑pohjaista analyysiä varten
  5. Datan migraatio – Muunna dataa järjestelmien välillä, jotka käyttävät eri formaatteja, käyttäen TOONia tokenitehokkaana välikuvana

Muunnosprosessi

TOON → XML:

  1. Jäsennä TOON-muoto JavaScript‑objektiksi (käyttäen @toon-format/toon decode)
  2. Muunna JavaScript‑objekti XML‑merkintään (käyttäen xml2js builder)
  3. Tulosta muotoiltu XML asianmukaisella sisennyksellä

XML → TOON:

  1. Jäsennä XML‑merkintä JavaScript‑objektiksi (käyttäen xml2js parser)
  2. Muunna JavaScript‑objekti TOON‑muotoon (käyttäen @toon-format/toon encode)
  3. Tulosta tiivis TOON‑representaatio

XML-rakenteen huomautuksia

Kun muunnat TOONista XML:ään:

  • Juuriosan avaimet muuttuvat XML‑elementeiksi
  • Taulukot luovat useita elementtejä samalla tunnisteen nimellä
  • Taulukkomaiset TOON‑taulukot laajenevat yksittäisiksi XML‑elementeiksi
  • Objektin ominaisuudet muuttuvat alielementeiksi
  • Arvot muunnetaan tekstisisällöksi

Kun muunnat XML:stä TOONiin:

  • XML‑elementit muuttuvat objektin avaimiksi
  • Toistuvat elementit muuttuvat taulukoiksi
  • Attribuutit yhdistetään elementin sisältöön
  • Tekstisisältö muuttuu merkkijonoarvoiksi
  • Tyhjät elementit muuttuvat tyhjiksi merkkijonoiksi tai null‑arvoiksi

Muodon huomioon otettavat seikat

XML:n sanallisuus:

  • XML on luontaisesti sanallinen avaus‑ ja sulkemistunnisteiden kanssa
  • Jokainen elementti vaatii sekä aloitus‑ että lopetustunnisteen
  • Attribuutit lisäävät ylimääräisiä merkkejä
  • Hyvin soveltuva dokumenttimerkintään ja validointiin

TOON:n tehokkuus:

  • Merkittävästi tiiviimpi rakenteelliselle datalle
  • Ihanteellinen taulukkomaiselle datalle, jossa on toistuvia rakenteita
  • Vähentää tokenien käyttöä 30–60 % verrattuna JSONiin
  • Optimoitu LLM‑käsittelyyn

Kompromissit:

  • XML tukee attribuutteja ja sekasisältöä (teksti + elementit)
  • TOON loistaa yhtenäisissä datastruktuureissa
  • XML:llä on vahvemmat validointiominaisuudet
  • TOON:lla on parempi tokenitehokkuus LLM:ille

Muunnoksen laatu

Välimuotona oleva JSON‑muoto varmistaa:

  • Datan eheys – ei tietojen menetystä muunnoksen aikana
  • Tyyppien säilyttäminen – numerot, boolean‑arvot ja null‑arvot säilytetään
  • Rakennejohdonmukaisuus – sisäkkäiset suhteet säilytetään
  • Luotettava muunnos – käyttäen testattuja kirjastoja (xml2js ja @toon-format/toon)
  • Virheenkäsittely – selkeät virheilmoitukset virheelliselle syötteelle