ТЕХНОЛОГИИ

Группировка документов в Qdrant: как не заполнить выдачу фрагментами одного файла

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Удаление дублей из уже усечённого списка чанков не возвращает документы, исключённые до группировки.

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

Определить единицу результата

Решите, нужны ли интерфейсу документы, фрагменты или оба уровня. Балл фрагмента относится к индексированной точке, тогда как группа представляет связь с источником, сохранённую в payload. Поэтому важен устойчивый идентификатор документа. Два файла с похожими именами не должны случайно получить один ключ. Для разных ревизий также требуется явное правило идентичности, если поиск должен показывать только актуальные доказательства и исключать предыдущую версию из активной выдачи.

Группировать в нужной цепочке

Учебный пример нескольких представлений показывает query_points_groups с document_id, включая prefetch и fusion. Сохраняйте эту цепочку при сравнении результатов. Удаление повторов приложением после небольшого лимита фрагментов может оставить короткий список без поиска замен. Тогда результат отражает раннее усечение, а не обязательно отсутствие полезных источников в коллекции. Группировка внутри поиска и последующее удаление дублей не являются взаимозаменяемыми экспериментами, даже если внешне интерфейс показывает похожие строки.

Подготовить набор с повторами

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

Поле результатаЗначение
Идентификатор группыИдентичность исходного документа
Подтверждающий hitФрагмент, объясняющий результат
Число группВозвращённые источники
Число hitФрагменты внутри групп

Сохранить глубину prefetch

Справочник гибридных запросов Qdrant объясняет передачу кандидатов последующим этапам. Если дополняющий документ не попал в prefetch, группировка не создаст его заново. Проверяйте покрытие кандидатов до изменения группировки. Одновременное увеличение prefetch и включение grouping мешает установить, какая перемена вернула доказательство. Сохраните оба промежуточных списка, чтобы объяснение результата не потерялось после окончания настройки и переноса профиля другому оператору.

Проверить поле группировки

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

Оценить доказательства по документам

Проверка должна установить, поддерживают ли найденные источники вопрос вместе и относится ли каждый подтверждающий hit к своей группе. Релевантность фрагментов храните отдельно для диагностики их выбора. Меньшее число дублей не означает автоматически лучший ответ: разнообразие способно добавить нерелевантный материал. Сохраняйте единицу результата, правила группировки, глубину кандидатов и отложенную разметку документов, чтобы изменение интерфейса не переопределило успех незаметно.

Связанные материалы: Локальный RAG-сервер: какие компоненты размещать рядом с GPU; Qdrant для RAG: что хранить в RAM, а что на диске.

← Все материалы