Разбиение документов для RAG
Определение
Разбиение документов для RAG — подготовка небольших фрагментов исходного текста для последующего поиска сведений. Такие фрагменты называют чанками; их границы могут зависеть от размера или структуры документа.
Также ищут: document chunking · RAG chunking · чанкинг документов · разбиение на чанки · перекрытие фрагментов · chunk overlap
Зачем это знать
Фраза о поддержке функции может попасть в один фрагмент, а ограничение по версии — в другой. Если система найдёт и передаст модели только первый, ответу будет недоставать условия. Проверяйте, какие сведения остаются вместе после разбиения, ещё до настройки поиска.
Карта понятия
Что подтверждено
В документации Azure AI Search описаны разбиение по заданному размеру и разбиение по структуре текста: предложениям, строкам или разделам с заголовками. Граница фрагмента не обязана совпадать с границей страницы.
Граница применимости: Microsoft, Chunk large documents for RAG and vector search, раздел Common chunking techniques; редакция от 02.07.2026. Перечень подходов, а не гарантия качества любого из них.
Перекрытие (overlap) повторяет часть текста в соседних фрагментах. Оно может помочь сохранить контекст на стыке, но подходящая величина зависит от содержания и задачи.
Граница применимости: Microsoft, разделы Content overlap considerations и How chunking fits into the workflow. Рекомендованная в документе стартовая настройка не является универсальным оптимумом.
HybridChunker в Docling сначала использует структуру документа, затем делит слишком длинные фрагменты с учётом токенов. Он также может объединять короткие соседние фрагменты с одинаковыми заголовками и подписями; объединение можно отключить.
Граница применимости: Документация Docling, раздел Hybrid Chunker, прочитана 25.10.2026. Поведение этой реализации; версия установленного пакета не проверялась.
В примере Docling для векторизации рекомендуют результат contextualize(chunk): к тексту фрагмента добавляется контекст, в том числе заголовки. Поэтому длина chunk.text и длина текста, подготовленного для векторизации, могут различаться.
Граница применимости: Docling, Hybrid chunking, разделы Basic usage и Configuring tokenization. Имена полей и метода относятся к Docling; дополнительные данные других систем проверяют отдельно.
В примере Docling рекомендуется использовать для разбиения тот же токенизатор, что и у модели векторизации. Длину проверяют у текста с добавленным контекстом.
Граница применимости: Docling, Hybrid chunking, раздел Configuring tokenization, прочитан 25.10.2026. Проверяется длина подготовленного входа; число символов не заменяет подсчёт токенов выбранной моделью.
Что проверить
- Выберите вопросы к реальным документам и отметьте места с полным ответом: вместе с условиями, исключениями и единицами измерения.
- Сравните разбиение по размеру и по структуре. Проверьте, остаются ли понятными отдельный пункт списка и строка таблицы без соседнего текста.
- Посчитайте токены полного текста для векторизации, включая добавленные заголовки, токенизатором выбранной модели. Сверьте результат с её пределом входа.
- При изменении перекрытия проверьте сохранность нужных условий, число фрагментов и объём повторяющегося текста.
- Сохраните связь фрагмента с документом, его редакцией и местом в исходнике, чтобы проверить цитату.
- На одном наборе вопросов сравните выдачу при разных способах разбиения. Отдельно проверьте, какие сведения сохранились после повторного ранжирования и передачи модели.
Первоисточники
- Chunk large documents for RAG and vector search in Azure AI Search
Прочитаны разделы Common chunking techniques, Content overlap considerations и How chunking fits into the workflow. Размер и перекрытие рассматриваются как настройки для проверки на своих документах, а не универсальные числа.
- Chunking — Docling
Прочитаны Introduction, Base Chunker, Hybrid Chunker и Hierarchical Chunker: текст с метаданными, структурное разбиение и работа с токенной длиной. Пример поясняет документацию; локальный запуск Docling не выполнялся.
Утверждения: 03
- Hybrid chunking — Docling
Прочитаны Basic usage и Configuring tokenization: chunk.text, contextualize(chunk), общий токенизатор с моделью векторизации. Число 64 в примере иллюстративно. Опубликованный пример прочитан, но локально не исполнялся.