| Fiche technique | |
|---|---|
| Type de produit : | Format de données |
| Auteur : | Johann Schopplich |
| Date de publication : | 2024 |
| Site Web : | https://toonformat.dev/ |
Introduction
Le format de données TOON (Token-Oriented Object Notation) est un format de représentation de données textuel, orienté objets et jetons, conçu comme une alternative conceptuelle à JSON, XML ou YAML, avec un accent particulier sur la lisibilité humaine et la structuration sémantique explicite.
TOON est un encodage compact et lisible du modèle de données JSON minimisant le nombre de jetons et facilite la compréhension de la structure par les modèles. Il est conçu pour l'entrée des LLM (Large Language Models) comme une représentation directe et sans perte de votre JSON existant.
TOON combine la structure d'indentation de YAML pour les objets imbriqués avec une mise en page tabulaire de type CSV pour les tableaux uniformes. Le point fort de TOON réside dans les tableaux uniformes d'objets (plusieurs champs par ligne, structure identique pour tous les éléments), offrant une compacité similaire à celle de CSV tout en ajoutant une structure explicite qui aide les LLM à analyser et valider les données de manière fiable. Pour des données profondément imbriquées ou non uniformes, JSON peut s'avérer plus efficace.
La similarité avec CSV est intentionnelle : CSV est simple et omniprésent, et TOON vise à conserver cette familiarité tout en restant une représentation directe et sans perte de JSON pour les Large Language Models.
Considérez-le comme une couche de traduction : utilisez JSON par programmation et encodez-le au format TOON pour l'entrée des LLM.
Contrairement aux formats très répandus, TOON n'est pas un standard officiel largement adopté, mais plutôt une notation expérimentale ou académique, parfois utilisée dans des contextes pédagogiques, de prototypage ou de recherche.
Principe général de TOON
TOON repose sur l'idée que :
- les données sont constituées de jetons explicites
- chaque élément porte une signification claire et lisible
- la structure est orientée objet, mais sans lourde syntaxe
Le but est de réduire la surcharge syntaxique tout en conservant une structure fortement typée et compréhensible.
Concepts clefs
- Orienté jeton : Chaque élément de donnée est exprimé comme un jeton, c'est-à-dire une unité sémantique identifiable :
- noms d'objets
- attributs
- valeurs
- relations
- Les jetons sont pensés pour être :
- faciles à analyser (parser)
- faciles à lire
- peu ambigus
- Notation objet : Les données sont organisées sous forme :
- d'objets
- de propriétés
- de collections
Un objet regroupe logiquement des informations liées, de manière similaire à une structure ou une classe.
Comparaison avec d'autres formats
| Format | Orientation | Lisibilité | Détaillé | Standard |
|---|---|---|---|---|
| JSON | Données | Moyenne | Faible | Oui |
| XML | Documents | Faible | Élevée | Oui |
| YAML | Données | Élevée | Moyenne | Oui |
| TOON | Jetons / objets | Très élevée | Faible | Non |
Voir également
TOON contre JSON : un duel de formats de données modernes