Калькулятор RAG-чанков

Документ в 10 000 токенов, нарезанный на чанки по 512 токенов с перекрытием 64 токенов, даёт 23 чанков и 11 408 токенов эмбеддинга, из них 12,3 % повторы. Чанков = 1 + округление вверх((токены документа - размер чанка) ÷ (размер чанка - перекрытие)); всего = токены документа + (чанков - 1) × перекрытие.

Удалось решить задачу?
Предпочитать в Google

Как пользоваться

  1. Введите длину документа в токенах или символах, размер чанка и перекрытие. Чтобы узнать стоимость, добавьте цену эмбеддинга за миллион токенов.
  2. Посмотрите число чанков, общее число токенов для эмбеддинга и сколько из них повторяется из-за перекрытия.
  3. Чтобы увидеть, где проходят разрезы, вставьте настоящий текст. Он разбивается на токены в браузере, первые чанки показываются с выделенным перекрытием.

Как считается

Шаг между началами чанков равен размеру чанка минус перекрытие. Если документ помещается в один чанк, ответ 1. Иначе чанков = 1 + округление вверх((токены документа - размер чанка) ÷ шаг).

Каждый чанк после первого повторяет последние токены перекрытия предыдущего, поэтому всего токенов = токены документа + (чанков - 1) × перекрытие. Доля повторов = (чанков - 1) × перекрытие ÷ эта сумма. Последний чанк это остаток, обычно он короче.

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

Вставленный текст разбивается на токены в браузере по настоящим таблицам парного кодирования байтов (js-tiktoken). Предпросмотр режет список токенов на те же окна, что и формула, и декодирует каждое. Окна фиксированного размера не учитывают границы предложений и абзацев; разделители, которые их учитывают, дают чанки разной длины и другое число.

Стоимость = токены эмбеддинга ÷ 1 000 000 × введённая цена за миллион токенов. Цену берите на странице тарифов вашего провайдера.

Частые вопросы

Какой размер чанка и перекрытие выбрать?

Универсального значения нет. Часто используют от нескольких сотен до примерно тысячи токенов с перекрытием 10-20 процентов. Мелкие чанки точнее находятся, но векторов больше; крупные хранят больше контекста, но поиск может размыться. Проверьте на своих вопросах.

Увеличивает ли перекрытие счёт за эмбеддинги?

Да, перекрытые участки встраиваются дважды. Для документа в 10 000 токенов, чанков по 512 и перекрытия 64 токена повторами оказываются 1 408 из 11 408 отправленных токенов (12,3 %), то есть вы встраиваете на 14,1 % больше, чем в самом документе.

Точны ли числа чанков?

Для показанного правила, окон фиксированного размера в токенах, да. Библиотеки, режущие по предложениям, абзацам или заголовкам, дают чанки разного размера и другие числа. Перевод символов в токены оценочный.

Какой токенизатор выбрать?

Тот, что использует ваша модель эмбеддингов. Модели OpenAI text-embedding-3 используют cl100k_base. У моделей других провайдеров свои токенизаторы, которых здесь нет, так что число это близкий ориентир.

Отправляется ли мой текст куда-либо?

Нет. Подсчёт и предпросмотр работают в вашем браузере. Таблица токенизатора скачивается с этого сайта один раз, текст не загружается.