Repolode
toon-format

toon-format/toon

Uma codificação compacta e legível por humanos para dados JSON, criada para reduzir o uso de tokens ao enviar dados estruturados em prompts para LLMs.

Estrelas
25,528
Forks
1,280
Issues abertas
2
Último commit
há 12 dias

O que é?

TOON (Token-Oriented Object Notation) reencoda o modelo de dados JSON em um formato que combina indentação no estilo YAML para objetos aninhados com linhas tabulares no estilo CSV para arrays uniformes. Cada array declara seu tamanho e a lista de campos em um cabeçalho, para que os modelos saibam quantas linhas esperar e quais campos cada linha contém.

O projeto oferece um SDK em TypeScript com funções de codificação e decodificação, APIs de streaming para grandes conjuntos de dados e uma CLI que converte entre JSON e TOON e informa a economia estimada de tokens. A codificação não perde dados, então é possível converter os dados de volta ao JSON original. As implementações oficiais e as adaptações da comunidade seguem uma especificação compartilhada com uma suíte de testes de conformidade.

TOON funciona melhor com arrays de objetos uniformes. Para dados profundamente aninhados ou não uniformes, o projeto observa que JSON compacto pode ser mais eficiente; para dados tabulares totalmente planos, CSV ocupa menos espaço. O repositório inclui benchmarks que comparam a precisão de recuperação e a contagem de tokens em JSON, YAML, XML e CSV.

Recursos principais

  • 01Codifica objetos e arrays JSON em um formato indentado semelhante a YAML, com tabelas no estilo CSV para dados uniformes.
  • 02Os cabeçalhos dos arrays declaram a quantidade de linhas e os nomes dos campos, ajudando os modelos a detectar saídas truncadas ou malformadas.
  • 03Conversão de ida e volta entre JSON e TOON sem perda de dados.
  • 04SDK em TypeScript com APIs de codificação, decodificação e streaming.
  • 05CLI para converter arquivos ou dados de stdin e mostrar a economia de tokens com --stats.
  • 06Compatível com delimitadores de vírgula, tabulação e barra vertical.

Casos de uso

  • Enviar listas grandes de registros uniformes, como resultados de consultas a bancos de dados, para um LLM sem aumentar demais o tamanho do prompt.
  • Converter respostas de APIs JSON para um formato compacto antes de inseri-las em prompts.
  • Inspecionar quantos tokens um payload JSON consumiria em TOON em comparação com outros formatos.
  • Criar pipelines de LLM em TypeScript que precisam de uma representação de dados reversível e validada.

Início rápido

  1. 1

    Experimente o TOON com seus próprios dados JSON usando npx, sem precisar instalar nada

    cat data.json | npx @toon-format/cli --stats

Antes de usar

  • É mais indicado para arrays uniformes ou objetos com chaves; para dados muito aninhados ou não uniformes, o JSON simples costuma dar melhores resultados.
  • O formato é descrito como estável, mas ainda está evoluindo, então alguns detalhes podem mudar.

Tópicos

Perguntas frequentes

O que é toon?
Uma codificação compacta e legível por humanos para dados JSON, criada para reduzir o uso de tokens ao enviar dados estruturados em prompts para LLMs. TOON (Token-Oriented Object Notation) reencoda o modelo de dados JSON em um formato que combina indentação no estilo YAML para objetos aninhados com linhas tabulares no estilo CSV para arrays uniformes. Cada array declara seu tamanho e a lista de campos em um cabeçalho, para que os modelos saibam quantas linhas esperar e quais campos cada linha contém.
toon é gratuito? Qual é a licença?
toon é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
toon ainda é mantido?
Manutenção ativa. O último commit de toon foi em 9 de out. de 2026.
Para que posso usar toon?
Enviar listas grandes de registros uniformes, como resultados de consultas a bancos de dados, para um LLM sem aumentar demais o tamanho do prompt. Converter respostas de APIs JSON para um formato compacto antes de inseri-las em prompts. Inspecionar quantos tokens um payload JSON consumiria em TOON em comparação com outros formatos. Criar pipelines de LLM em TypeScript que precisam de uma representação de dados reversível e validada.
Como instalar toon?
Experimente o TOON com seus próprios dados JSON usando npx, sem precisar instalar nada: cat data.json | npx @toon-format/cli --stats
Onde consigo toon?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/toon-format/toon

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados