RAG выдаёт пять копий одного документа: как убрать дубликаты
Пять результатов поиска не обязательно дают пять независимых источников. Одна инструкция может оказаться в PDF, HTML, архиве и выгрузке базы знаний. Если копии занимают весь контекст, система теряет альтернативные условия и версии документа. Высокое сходство результатов при этом выглядит убедительно, хотя доказательная база почти не расширилась.
Разделите дублирование при загрузке и похожесть по смыслу. Первое часто исправляется стабильными идентификаторами и нормализацией; второе требует осторожного решения о разнообразии выдачи.
Сравнение состояний
Данные ниже вымышлены: они показывают способ разбора, а не измерения действующего сервиса.
| Источник | Смысловой документ | Версия | Место в поиске |
|---|---|---|---|
| Веб-страница | Возвраты | Вторая | Первое |
| Экспорт PDF | Возвраты | Вторая | Второе |
| Архив HTML | Возвраты | Первая | Третье |
| Статья поддержки | Исключения возврата | Первая | Четвёртое |
Удалить всё, кроме первого результата, было бы ошибкой: документ об исключениях добавляет новое условие. Для начала полезно группировать по идентичному содержимому и каноническому источнику. Версии держат отдельно, а право выбрать актуальную версию определяют датой действия, не только временем загрузки.
Хэш исходного файла не поймает одинаковый текст в разных форматах. Хэш очищенного текста ловит больше копий, но агрессивная очистка может стереть существенные различия, например номер редакции.
Практические проверки
Возьмите один документ, загрузите его повторно и сравните число точек в индексе. Затем создайте копию с другим оформлением и отдельную редакцию с изменённым правилом. Зафиксируйте ожидаемую связь каждой пары.
На запросах с несколькими условиями сравните контекст до и после дедупликации. Считайте уникальные смысловые документы, долю занятых ими символов и покрытие необходимых условий. Сохраняйте ссылку на канонический источник, чтобы цитата не вела в случайный архив. Проверяйте обновление группы при удалении исходной страницы.
Ограничения и риски
Похожие формулировки разных нормативных документов могут иметь самостоятельную силу. Семантическую дедупликацию нельзя применять без проверки предметной области. Сначала устраняйте точные копии, затем обсуждайте правила объединения похожих материалов.
Стабильные идентификаторы точек позволяют проектировать повторную загрузку без бесконтрольного размножения записей. Официальная документация помогает уточнить технический механизм; предложенный диагностический протокол — наш учебный пример.
Если хотите связать этот разбор с системной практикой, посмотрите программу Vector DB & RAG Developer на Latorn: она охватывает векторный поиск с фильтрами, гибридную выдачу и оценку RAG. Перед оплатой сопоставьте требования курса со своим опытом и задачей проекта.
Следующий шаг: RAG на практике: документы, поиск и качество ответов. По смежным вопросам: Чанки в RAG теряют заголовки: как сохранить смысл раздела, Как обновлять документ в RAG, чтобы старые чанки не оставались в ответах.
