Первый пост - что такое RAG
Без правильной «нарезки» документов даже самый умный бот найдёт не то, что вы ищете.
Что такое чанк?
Фрагмент текста (≈ 200–400 токенов, про токены я дам отдельный пост чтобы лучше понимать что это), который отправляется в векторную БД. Размер подобран так, чтобы:
• поместиться в память модели;
• содержать законченную мысль;
• быстро индексироваться.
Зачем нужен оверлап?
Добавьте 10–20 % (≈ 50 токенов) перекрытия — факты на границе не потеряются и увеличится recall. Чтобы был нахлест текста/контекста в старых и новых чанках. Хвост первого в начале второго.
Как «резать» правильно
— Скользящее окно для PDF и длинных статей.
— Семантический сплиттер — когда важна логика: LLM сама подсвечивает места разрыва.
— Диалог: одно сообщение = один чанк - это уже законченная мысль. Или несколько коротких сообщений по семантике
Многоуровневый приём
LOW → MID → TOP
1. Сначала сохраняем «сырые» куски.
2. На их основе генерируем краткие summary-чанки.
3. И лишь затем пишем «супер-резюме» документа/проекта.
Быстрый чек-лист
-
size 200-400 токенов -
overlap 50-100 - чистый текст, без HTML/Markdown
- в индексе держим и текст, и summary
- текст, код, pdf — всё делим отдельно, чтобы выбрать правильную модель
Почему именно такие правила?
- Размер 200-400 токенов признан оптимумом для RAG: меньше — рвёт контекст, больше — падает точность
- Перекрытие 10–20 % спасает факты на границе чанков
- Иерархическое (multi-level) хранение улучшает recall на 25 % (MAL-RAG, Summary Index)
- Семантическое или кластерное разбиение полезно для плохо структурированных PDF и презентаций
💡 Помним
Хороший чанк — половина успеха гибридного поиска. Лучший поиск → меньше галлюцинаций → довольнее пользователи.
