Обычно chunk содержит часть текста, ссылку на исходный документ, страницу или раздел, дату, автора, права доступа и другие metadata. После этого для chunk создают embedding и сохраняют его в vector DB или другой поисковый индекс.
Качество chunk сильно влияет на качество ответа. Если фрагмент слишком большой, в нем много лишнего шума. Если слишком маленький, теряется смысл и модель не видит нужный контекст.
Часто используют overlap: соседние chunks немного пересекаются, чтобы важная мысль не разрезалась ровно на границе. Но слишком большой overlap увеличивает стоимость, дубли и риск противоречивых результатов.
Для AI-агента chunk важен еще и как источник цитаты. Если агент отвечает по базе знаний, он должен уметь показать, из какого документа, страницы или раздела взят фрагмент.
Примеры
- PDF-инструкция на 40 страниц делится на chunks по разделам, чтобы агент находил конкретный пункт, а не весь документ.
- Для договора chunk содержит один раздел с metadata: номер договора, версия, страница и дата обновления.
- В базе знаний поддержки каждый chunk хранит текст ответа, категорию продукта и ссылку на исходную статью.
- Если таблица OCR распознана плохо, chunk может содержать мусор, и RAG начнет отвечать неправильно.
- Для длинного регламента используют overlap, чтобы правило не разорвалось между двумя фрагментами.
- AI-агент показывает citation на chunk: документ, страница и заголовок раздела, откуда взят ответ.
Где используется
- RAG по документам компании
- внутренний поиск по базе знаний
- индексация PDF, DOCX и HTML
- создание embeddings
- цитирование источников в ответах
- обновление отдельных разделов документа
- контроль доступа к фрагментам
- обработка OCR-документов
- поиск по Notion и Confluence
- подготовка данных для AI-агента поддержки
Связанные термины
Частые вопросы
Почему нельзя индексировать документ целиком?
Большой документ содержит много лишнего и может не помещаться в контекст. Chunks позволяют найти только нужные фрагменты и дать модели более точный контекст.
Какой размер chunk выбрать?
Универсального размера нет. Для инструкций часто лучше смысловые разделы, для справок - короткие фрагменты, для договоров - пункты и подпункты. Размер проверяют через evals.
Что такое overlap между chunks?
Overlap - это пересечение соседних фрагментов. Оно помогает не потерять смысл на границе, но увеличивает объем индекса и количество дублей.
Какие metadata нужны chunk?
Источник, ID документа, страница или раздел, дата обновления, версия, автор, права доступа, язык, тип документа и ссылка для citation.
Чем плохой chunk ломает RAG?
Если chunk разрезан без смысла, содержит мусор OCR, старую версию или не имеет источника, агент может дать неполный, неверный или неподтвержденный ответ.
Нужно ли пересоздавать chunks при обновлении документа?
Да, если изменился текст или структура. Нужно обновить chunks, embeddings и metadata, иначе в поиске могут остаться старые фрагменты.