Перекрытие данных (англ. overlap) означает, что при разбиении документа на блоки (чанки) каждый блок включает небольшую часть текста из соседних блоков. Например, если ваш чанк 500 токенов, то вы можете включить по 50–100 токенов с предыдущего и следующего блока в текущий.
Почему это важно?
Когда вы используете векторный поиск в системе RAG, модель эмбеддингов генерирует вектора для каждого отдельного блока текста. При поиске ближайшего по смыслу блока может возникнуть проблема потери контекста, если важная информация располагается на стыке двух соседних блоков.
Если у вас чанки без перекрытия:
Чанк 1: [текст AAAAAAA BBBBBB]
Чанк 2: [текст CCCCCCC DDDDDD]
Что, если важная информация находится между ними, скажем, в переходе от блока BBBBBB к CCCCCCC? Тогда модель потеряет контекст, и запрос пользователя, относящийся именно к этому переходу, может не найти нужный блок.
С перекрытием вы получаете:
Чанк 1: [текст AAAAAAA BBBBBB CCCC]
Чанк 2: [текст BBBBBB CCCCCCC DDDD]
Теперь контекст «BBBBB CCCCCCC» будет присутствовать в обоих чанках, и вероятность, что модель правильно найдет нужный блок, увеличивается.
Какие преимущества дает перекрытие?
-
Сохраняет целостность контекста:
Важная информация, расположенная на стыке чанков, не будет утеряна. -
Улучшает качество поиска и ответа модели:
Эмбеддинги получаются более полными по контексту, а это значит, что LLM сможет лучше отвечать на вопросы, требующие целостного понимания информации. -
Уменьшает количество «ложных срабатываний»:
Если контекст теряется, система может выдавать неправильные ответы. С перекрытием это происходит гораздо реже.
Рекомендации по перекрытию чанков:
- Обычно выбирают перекрытие в диапазоне 10–20% от размера чанка (например, если чанк 500 токенов, то перекрытие 50–100 токенов).
- Чем больше техническая сложность документа и зависимость смысла от близлежащих частей текста, тем выше стоит делать перекрытие.
Таким образом, перекрытие данных (overlap) — это важный подход, который существенно улучшает качество системы поиска и генерации ответов в RAG-системах.