Освоение интерфейса TON CLI

интерфейс командной строки
ТОН

Если вы работали с моделями большого языка (LLM), вы знаете, что JSON — это лингва франка обмена данными. Однако вы также знаете, что JSON известен своей «болтливостью». Все эти фигурные скобки, кавычки и повторяющиеся ключи съедают ваше контекстное окно, увеличивают задержку и увеличивают затраты на API.

Именно здесь проявляется TOON (Объектно-ориентированная нотация). Хотя библиотека TypeScript отлично подходит для кода приложений, иногда вам просто нужно быстро сделать что-то в терминале. Независимо от того, отлаживаете ли вы приглашение, готовите набор данных или просто интересуетесь, сколько денег вы могли бы сэкономить на токенах, CLI @toon-format/toon — ваш новый лучший друг.

В этом руководстве мы рассмотрим, как использовать интерфейс командной строки TOON для интеграции оптимизации данных непосредственно в рабочие процессы вашей оболочки.

Начало настройки

Одна из лучших особенностей современных инструментов JavaScript заключается в том, что вам часто не нужно ничего «устанавливать», чтобы начать работу. Если вы просто хотите опробовать TOON на одном файле, вы можете использовать npx для непосредственного запуска двоичного файла:

npx @toon-format/cli input.json -o output.toon 

Однако, если вы планируете использовать это часто (а как только вы увидите экономию токенов, вы, скорее всего, так и сделаете), глобальная установка — это лучший вариант. Он дает вам доступ к краткой команде «toon» в любой точке вашей системы.

npm install -g @toon-format/cli 
# или 
pnpm add -g @toon-format/cli 

После установки вы готовы приступить к сжатию данных.

Магия автоматического обнаружения

Интерфейс TOON CLI разработан так, чтобы быть умным в том, что вы пытаетесь сделать. Вам редко нужно явно указывать, что нужно кодировать или декодировать; чтобы принять решение, он смотрит на расширения ваших файлов.

Если вы передадите ему файл .json, он предполагает, что вы хотите закодировать его в TOON. Если вы предоставите файл .toon, он переключится в режим декодирования, чтобы вернуть вам JSON.

# Автоматически кодируется в TOON 
мульт data.json -o сжатый.toon 

# Автоматически декодируется в JSON 
toon compressed.toon -o восстановленный.json 

Но где CLI действительно доказывает свою ценность, так это в «философии Unix» — небольшие инструменты свободно связаны друг с другом. Поскольку интерфейс командной строки TOON считывает данные со стандартного ввода (stdin) и записывает на стандартный вывод (stdout), вы можете передавать данные непосредственно через него.

# Перенаправить JSON непосредственно в TOON 
кот big-dataset.json | мульт > data.toon 

# Отобразите быстрый объект, чтобы увидеть, как он выглядит в TOON 
echo '{"name": "Ада", "role": "admin"}' | мультяшка 

Когда вы передаете данные через стандартный ввод, CLI по умолчанию переходит в режим кодирования. Если вам нужно декодировать поток данных TOON, поступающий от другого процесса, просто добавьте флаг --decode (или -d).

Анализ экономии токенов

Оптимизация форматов данных часто сводится к играм в угадайку. «Если я удалю пробелы, сколько я сэкономлю?» «Что, если я переключусь на YAML?»

Интерфейс командной строки TOON исключает догадки с помощью флага --stats. При кодировании эта опция вычисляет примерное количество токенов и сразу показывает экономию. Это неоценимо, когда вы планируете бюджет на большие объемы звонков LLM.

мультяшный контекст.json --stats 

Вы можете увидеть выходные данные, указывающие на уменьшение размера на 30% или 40%. Это не просто дисковое пространство; это на 40% меньше задержек и на 40% меньше затрат на входные токены.

Расширенная настройка: разделители и форматирование

По умолчанию TOON использует запятые для разделения элементов массива, аналогично JSON. Однако разные токенизаторы LLM по-разному относятся к пунктуации. Иногда символ табуляции или вертикальная черта (|) более эффективны, чем запятая.

CLI позволяет менять разделители на лету. Если вы имеете дело с табличными данными, переключение на разделитель табуляции может сделать выходные данные более понятными и более эффективными.

Для списка продуктов это преобразует выходные данные из списка, разделенного запятыми, в чистую структуру, разделенную табуляцией, которая выглядит почти как электронная таблица, которую многие модели анализируют исключительно хорошо.

# Используйте табуляции для элементов массива 
toon items.json --delimiter "\t" -o items.toon 

::: совет Совет для профессионалов. Разделители табуляции часто уменьшают необходимость в экранировании кавычек и могут привести к улучшению токенизации числовых данных. Если вы обрабатываете большие наборы данных, попробуйте --delimiter "\t", чтобы выжать максимум эффективности. :::

Сжатие структуры с помощью сгибания клавиш

Одна из новых функций (представленных в спецификации v1.5), доступных в CLI, — это Складывание клавиш. Данные JSON часто имеют глубокую вложенность, а ключи-оболочки, такие как data.response.items, добавляют структурную глубину, но не добавляют смысла.

CLI позволяет вам «сложить» эти вложенные ключи в один путь, обозначенный точками, выравнивая иерархию и сохраняя токены на отступах и фигурных скобках.

toon deep-structure.json --key-folding Safe -o Flat.toon 

Это преобразует вложенные объекты:

{ "пользователь": { "профиль": { "id": 1 } } } 

В кратком представлении TOON:

user.profile.id: 1 

Если позже вам понадобится преобразовать это обратно в полный JSON, вы можете использовать флаг --expand-pathssafe во время декодирования, чтобы идеально восстановить глубокую структуру объекта.

интеграция в конвейеры

Настоящая мощь интерфейса TOON CLI проявляется, когда вы объединяете его с другими инструментами, такими как Curl и JQ. Вы можете получить данные из API, отфильтровать их до самого необходимого и преобразовать в TOON в одной строке, готовой к вставке в приглашение или отправке в конечную точку вывода.

В этом рабочем процессе вы извлекаете данные, извлекаете только активных пользователей, конвертируете их в формат TOON с разделителями-вертикальными чертами и получаете статистический отчет о том, сколько токенов вы только что сохранили.

локон -s https://api.example.com/users \ 
| jq '.data.active_users' \ 
| мульт --stats --delimiter "|" 

Краткое содержание

@toon-format/cli — это больше, чем просто конвертер файлов; это полезный пояс для эпохи LLM. Перенеся обработку данных в командную строку, вы сможете выполнять итерации быстрее, немедленно визуализировать оптимизацию и интегрировать форматы с эффективным использованием токенов в существующие рабочие процессы проектирования.

Готовите ли вы документы RAG (дополненная генерация извлечения) или просто пытаетесь вместить огромный объект JSON в небольшое контекстное окно, попробуйте CLI. Ваш бюджет токенов скажет вам спасибо.