← Обзор / ai-search / configuration / indexing
Чанкинг
Чанкинг представляет собой процесс разделения больших объёмов данных на более мелкие сегменты перед их эмбеддингом для поиска. AI Search использует рекурсивный чанкинг, которая разбивает ваше содержимое по естественным границам (например, по абзацам или предложениям), а затем дополнительно делит его, если чанки получаются слишком большими.
Что такое рекурсивный чанкинг
Рекурсивный чанкинг старается сохранять чанки осмысленными за счёт:
- Разбиение по естественным границам: например абзацы, затем предложения.
- Проверка размера: если фрагмент оказывается слишком длинным (по количеству токенов), он снова разбивается на более мелкие части.
Благодаря этому чанки легко векторизовать и находить при поиске, не обрывая мысль на середине предложения.
Настройки чанкинга
AI Search предоставляет два параметра для управления чанкингом:
- Размер чанка: Количество токенов на чанк. Диапазон значений параметра может отличаться в зависимости от модели.
- Перекрытие чанка: Процент перекрывающихся токенов между соседними чанками.
- Минимум:
0% - Максимум:
30%
- Минимум:
Эти настройки применяются на этапе индексирования, до того как данные будут векторизованы и сохранены в поисковом индексе.
Выбор размера чанка и перекрытия
Чанкинг влияет как на то, каким образом извлекается ваш контент, так и на то, сколько контекста передаётся в модель генерации. Попробуйте этот внешний инструмент визуализации чанков ↗ чтобы лучше понять, как могут выглядеть разные настройки чанков.
Дополнительные аспекты:
- Размер индекса: Чем меньше размер чанка, тем больше чанков и векторов в общей сложности. Подробнее см. в Лимиты AI Search и таким образом убедиться, что ваша конфигурация не выходит за пределы лимитов инстанса.
- Контекстное окно модели генерации: Генеративные модели имеют ограниченное контекстное окно, в которое должны поместиться все найденные чанки (
max_num_results×chunk size), запрос пользователя и вывод модели. Будьте осторожны с крупными фрагментами или высоким значениемmax_num_resultsзначений, чтобы избежать переполнения контекста. - Стоимость и производительность: Более крупные чанки и более высокое
max_num_resultsнастройки приводят к тому, что модели передаётся больше токенов, а это может увеличить задержку и стоимость. Отслеживать этот расход можно в AI Gateway.