Чанки в RAG теряют заголовки: как сохранить смысл раздела

Если поиск возвращает фразу «срок составляет десять дней», пользователь ещё не знает, к какой операции относится срок. Увеличение числа найденных фрагментов не исправляет отсутствие заголовка. Начните с просмотра текста, который реально попал в контекст модели: извлекатель, разбиение и сборка контекста могут потерять структуру независимо друг от друга.

В инструкции магазина соседствуют возврат покупки и ремонт по гарантии. Векторная близость находит правильные слова, но кусок без названия раздела нельзя безопасно использовать как самостоятельное основание.

Разбор на примере

Данные ниже вымышлены: они показывают способ разбора, а не измерения действующего сервиса.

ФрагментСодержимоеПроблема
АВозврат покупки → десять днейОбъект срока указан
БСрок составляет десять днейОбъект срока утрачен
ВГарантийный ремонт → тридцать днейДругая операция

Предпочтительный фрагмент — А: он содержит условие вместе с ответом. Это не означает, что каждый чанк должен включать всю главу. Достаточно передавать путь заголовков, идентификатор документа, версию и локальный текст. Если заголовки добавляются в текст для эмбеддинга, это отдельное изменение поиска, которое нужно сравнивать с исходной схемой.

Обратите внимание на границу между источником и объяснением. Сгенерированное моделью название раздела нельзя незаметно выдавать за оригинальный заголовок.

Порядок диагностики

Соберите десять вопросов, ответы на которые находятся сразу после заголовка. Для каждого сохраните исходную страницу, полученный чанк и окончательный контекст. Сравните обычное разбиение с разбиением по структурным блокам при одинаковом бюджете контекста.

Отдельно проверьте таблицы, примечания и вложенные списки. Если заголовок относится к нескольким страницам, переносите его как метаданные, а не механически повторяйте предыдущую строку. Исправление считается полезным, когда можно восстановить область действия ответа по одному выданному фрагменту.

Что этот способ не гарантирует

На сканах структура может быть ошибочной уже после распознавания. Структурное разбиение также не определяет, актуальна ли инструкция: версия и дата действия проверяются отдельно. Не выбирайте размер чанка только по одному удачному вопросу.

Текст и служебные признаки фрагмента можно хранить вместе с вектором в payload. Официальная документация помогает уточнить технический механизм; предложенный диагностический протокол — наш учебный пример.

Если хотите связать этот разбор с системной практикой, посмотрите программу Vector DB & RAG Developer на Latorn: она охватывает векторный поиск с фильтрами, гибридную выдачу и оценку RAG. Перед оплатой сопоставьте требования курса со своим опытом и задачей проекта.

Следующий шаг: RAG на практике: документы, поиск и качество ответов. По смежным вопросам: Как обновлять документ в RAG, чтобы старые чанки не оставались в ответах, В RAG есть ссылки, но ответ не подтверждён: как проверять цитаты.