Cos'è il formato TOON?

TOON (Token-Oriented Object Notation) è un formato di serializzazione dati compatto e leggibile progettato specificamente per i Modelli di Linguaggio di Grandi Dimensioni (LLM). A differenza di JSON, che ripete i nomi dei campi per ogni oggetto in un array, TOON dichiara i nomi dei campi una volta e poi trasmette i dati in righe—simile a CSV ma con struttura esplicita. Questo design riduce tipicamente l'uso di token del 30-60% rispetto al JSON formattato, specialmente per array uniformi di oggetti. TOON combina la struttura basata sull'indentazione di YAML per oggetti annidati con l'efficienza tabellare di CSV, ottimizzata per contesti LLM dove i costi dei token sono importanti.

Cos'è XML?

XML (eXtensible Markup Language) è un linguaggio di markup ampiamente utilizzato per codificare documenti in un formato che è sia leggibile dall'uomo che dalla macchina. XML utilizza tag per definire elementi e attributi, creando una struttura ad albero gerarchica. È comunemente utilizzato per file di configurazione, scambio di dati tra sistemi, servizi web (SOAP), formati di documenti (Office Open XML) e feed RSS. Sebbene XML sia verboso ed esplicito, fornisce solide capacità di validazione e supporta strutture annidate complesse.

Descrizione dello strumento

Questo convertitore trasforma i dati bidirezionalmente tra formati TOON e XML utilizzando JSON come formato intermedio. Il processo di conversione è: TOON ↔ JSON ↔ XML. Questo approccio garantisce una conversione affidabile sfruttando librerie ben consolidate per ogni passaggio di trasformazione. Converti dati TOON efficienti in token in markup XML standard per sistemi che richiedono input XML, o trasforma dati XML in formato TOON compatto per ridurre l'uso di token nelle applicazioni LLM.

Esempi

Conversione TOON in XML:

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>

Conversione XML in TOON:

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

Funzionalità

  • Conversione bidirezionale tra TOON e XML con preservazione completa dei dati
  • Formato intermedio JSON garantisce conversione affidabile utilizzando librerie consolidate
  • Gestisce strutture complesse inclusi elementi annidati, attributi e array
  • Rilevamento automatico del formato e strategia di conversione ottimale
  • Preserva la gerarchia dei dati mantenendo le relazioni genitore-figlio
  • Conversione consapevole dei tipi mantenendo intatti numeri, booleani e stringhe
  • Conversione in tempo reale con risultati istantanei
  • Evidenziazione della sintassi per formati TOON e XML

Casi d'uso

  1. Integrazione sistemi legacy - Convertire dati TOON moderni in formato XML per compatibilità con vecchi sistemi aziendali che richiedono input XML
  2. Trasformazione dati API - Trasformare risposte API XML in formato TOON efficiente in token prima di inviarle a LLM per elaborazione e analisi
  3. Conversione file di configurazione - Convertire file di configurazione XML in formato TOON per ridurre l'uso di token quando si usano LLM per gestione infrastruttura
  4. Elaborazione documenti - Trasformare documenti XML (feed RSS, risposte SOAP, documenti Office) in TOON per analisi efficiente basata su LLM
  5. Migrazione dati - Convertire dati tra sistemi che utilizzano formati diversi, con TOON che funge da rappresentazione intermedia efficiente in token

Processo di conversione

TOON in XML:

  1. Analizzare il formato TOON in oggetto JavaScript (utilizzando @toon-format/toon decode)
  2. Convertire l'oggetto JavaScript in markup XML (utilizzando xml2js builder)
  3. Output di XML formattato con indentazione appropriata

XML in TOON:

  1. Analizzare il markup XML in oggetto JavaScript (utilizzando xml2js parser)
  2. Convertire l'oggetto JavaScript in formato TOON (utilizzando @toon-format/toon encode)
  3. Output di rappresentazione TOON compatta

Note sulla struttura XML

Durante la conversione da TOON a XML:

  • Le chiavi dell'oggetto radice diventano elementi XML
  • Gli array creano più elementi con lo stesso nome di tag
  • Gli array TOON tabellari si espandono in singoli elementi XML
  • Le proprietà degli oggetti diventano elementi figli
  • I valori vengono convertiti in contenuto testuale

Durante la conversione da XML a TOON:

  • Gli elementi XML diventano chiavi di oggetto
  • Gli elementi ripetuti diventano array
  • Gli attributi vengono uniti con il contenuto dell'elemento
  • Il contenuto testuale diventa valori stringa
  • Gli elementi vuoti diventano stringhe vuote o null

Considerazioni sul formato

Verbosità XML:

  • XML è intrinsecamente verboso con tag di apertura/chiusura
  • Ogni elemento richiede sia tag di inizio che di fine
  • Gli attributi aggiungono caratteri aggiuntivi
  • Ben adatto per markup di documenti e validazione

Efficienza TOON:

  • Significativamente più compatto per dati strutturati
  • Ideale per dati tabellari con strutture ripetute
  • Riduce l'uso di token del 30-60% vs JSON
  • Ottimizzato per consumo LLM

Compromessi:

  • XML supporta attributi e contenuto misto (testo + elementi)
  • TOON eccelle in strutture di dati uniformi
  • XML ha capacità di validazione più forti
  • TOON ha migliore efficienza in token per LLM

Qualità della conversione

Il formato intermedio JSON garantisce:

  • Integrità dei dati - nessuna perdita di dati durante la conversione
  • Preservazione dei tipi - numeri, booleani e valori null mantenuti
  • Coerenza della struttura - relazioni annidate preservate
  • Trasformazione affidabile - utilizzando librerie consolidate (xml2js e @toon-format/toon)
  • Gestione degli errori - messaggi di errore chiari per input non valido