Архитектура hybrid retrieval и reranker для статей
После BM25 baseline нужно усилить поиск по статьям. Как спроектировать candidate generator, hybrid retrieval и reranker?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Candidate stage объединяет BM25, dense retrieval и metadata filters, затем reranker упорядочивает top-K по query-document relevance. RAG включается только после выбора контекста.
Полный разбор
Базовая схема делится на stages. Первый stage должен найти широкий набор кандидатов: BM25 хорошо ловит точные термины, dense retrieval ловит семантические совпадения, metadata filters ограничивают язык, продукт, дату, тип статьи и доступность. Результаты объединяются, дедуплицируются и режутся до top-K.
Второй stage - reranker. Cross-encoder, learning-to-rank модель или компактный LLM-reranker смотрит на query и текст статьи/чанка вместе. Он переставляет кандидатов так, чтобы наверху были материалы, которые реально отвечают на вопрос пользователя.
RAG не заменяет этот pipeline. Генератор подключается после retrieval/reranking, когда система уже выбрала контекст. Если пользователь просто хочет статью, генерация может быть лишней; если нужен короткий ответ с ссылками, RAG собирает ответ и показывает источники.
Теория
Hybrid search сохраняет точность lexical matching и добавляет semantic matching. Reranker повышает качество порядка, но не должен работать на всем корпусе.