Калькулятор RAG-чанков
Документ в 10 000 токенов, нарезанный на чанки по 512 токенов с перекрытием 64 токенов, даёт 23 чанков и 11 408 токенов эмбеддинга, из них 12,3 % повторы. Чанков = 1 + округление вверх((токены документа - размер чанка) ÷ (размер чанка - перекрытие)); всего = токены документа + (чанков - 1) × перекрытие.
Как пользоваться
- Введите длину документа в токенах или символах, размер чанка и перекрытие. Чтобы узнать стоимость, добавьте цену эмбеддинга за миллион токенов.
- Посмотрите число чанков, общее число токенов для эмбеддинга и сколько из них повторяется из-за перекрытия.
- Чтобы увидеть, где проходят разрезы, вставьте настоящий текст. Он разбивается на токены в браузере, первые чанки показываются с выделенным перекрытием.
Как считается
Шаг между началами чанков равен размеру чанка минус перекрытие. Если документ помещается в один чанк, ответ 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. У моделей других провайдеров свои токенизаторы, которых здесь нет, так что число это близкий ориентир.
Отправляется ли мой текст куда-либо?
Нет. Подсчёт и предпросмотр работают в вашем браузере. Таблица токенизатора скачивается с этого сайта один раз, текст не загружается.