Python-библиотека, которая ограничивает генерацию LLM, чтобы результат соответствовал заданному типу, регулярному выражению, JSON Schema или грамматике.
toon-format/toon
Компактное, удобное для чтения представление данных JSON, которое сокращает расход токенов при передаче структурированных данных в промпты LLM.
- Звёзды
- 25,528
- Форки
- 1,280
- Открытые issues
- 2
- Последний коммит
- 12 дней назад
Что это?
TOON (Token-Oriented Object Notation) преобразует модель данных JSON в формат, сочетающий отступы в стиле YAML для вложенных объектов и табличные строки в стиле CSV для однородных массивов. В заголовке каждого массива указываются его длина и список полей, поэтому модели видят, сколько строк ожидать и какие поля есть в каждой из них.
В проекте есть TypeScript SDK с функциями encode и decode, потоковыми API для больших наборов данных и CLI, который преобразует JSON в TOON и обратно, а также показывает примерную экономию токенов. Кодирование выполняется без потерь, поэтому данные можно преобразовать обратно в исходный JSON. Официальные реализации и порты сообщества соответствуют общей спецификации и проходят набор тестов на совместимость.
TOON лучше всего подходит для массивов однородных объектов. Для глубоко вложенных или неоднородных данных, как отмечают авторы проекта, компактный JSON может быть эффективнее, а для полностью плоских таблиц CSV занимает меньше места. В репозитории есть бенчмарки, сравнивающие точность поиска и количество токенов в JSON, YAML, XML и CSV.
Ключевые возможности
- 01Кодирует объекты и массивы JSON в формат с отступами в стиле YAML и таблицами в стиле CSV для однородных данных.
- 02В заголовках массивов указываются количество строк и имена полей — это помогает моделям обнаруживать обрезанный или некорректный вывод.
- 03Преобразование между JSON и TOON без потерь.
- 04TypeScript SDK с encode, decode и потоковыми API.
- 05CLI для преобразования файлов или stdin и отображения экономии токенов с помощью --stats.
- 06Поддерживаются разделители-запятые, табуляция и вертикальная черта.
Сценарии использования
- Передача в LLM больших списков однородных записей, например результатов запросов к базе данных, с сокращением размера промпта.
- Преобразование ответов JSON API в компактный формат перед добавлением в промпты.
- Оценка количества токенов в JSON-данных при использовании TOON и других форматов.
- Создание конвейеров LLM на TypeScript, которым нужно обратимое представление данных с проверкой корректности.
Быстрый старт
- 1
Попробуйте TOON на собственных данных JSON с помощью npx — установка не требуется
cat data.json | npx @toon-format/cli --stats
Что важно знать
- Лучше всего подходит для однородных массивов или объектов с ключами; для глубоко вложенных или неоднородных данных обычный JSON часто даёт лучшие результаты.
- Формат описывается как стабильный, но он продолжает развиваться, поэтому детали могут измениться.
Темы
Частые вопросы
- Что такое toon?
- Компактное, удобное для чтения представление данных JSON, которое сокращает расход токенов при передаче структурированных данных в промпты LLM. TOON (Token-Oriented Object Notation) преобразует модель данных JSON в формат, сочетающий отступы в стиле YAML для вложенных объектов и табличные строки в стиле CSV для однородных массивов. В заголовке каждого массива указываются его длина и список полей, поэтому модели видят, сколько строк ожидать и какие поля есть в каждой из них.
- toon можно использовать бесплатно? Какая у него лицензия?
- toon распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- toon всё ещё поддерживается?
- Активно поддерживается. Последний коммит в toon — 9 окт. 2026 г..
- Для чего можно использовать toon?
- Передача в LLM больших списков однородных записей, например результатов запросов к базе данных, с сокращением размера промпта. Преобразование ответов JSON API в компактный формат перед добавлением в промпты. Оценка количества токенов в JSON-данных при использовании TOON и других форматов. Создание конвейеров LLM на TypeScript, которым нужно обратимое представление данных с проверкой корректности.
- Как установить toon?
- Попробуйте TOON на собственных данных JSON с помощью npx — установка не требуется: cat data.json | npx @toon-format/cli --stats
- Где скачать toon?
- Исходный код и инструкции по установке — на GitHub: https://github.com/toon-format/toon
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Поддерживаемая сообществом библиотека промптов для AI-чатов с сайтом, датасетами CSV и Hugging Face, CLI и интеграцией с MCP-сервером.
AI-оптимизатор промптов: улучшает промпты, тестирует и сравнивает их результаты и сохраняет как готовые шаблоны; доступен как веб-сервис, десктопное приложение, расширение для Chrome и Docker.
Локально устанавливаемый интерфейс для опытных пользователей: общение со множеством API LLM, генераторами изображений и голосовыми моделями TTS.
Открытый формат и спецификация для упаковки инструкций, скриптов и ресурсов в папки SKILL.md, которые AI-агенты загружают по мере необходимости.
Подборка из более чем 161 готового субагента Claude Code в 10 категориях: разработка, инфраструктура, безопасность, работа с данными и многое другое.