Векторный поиск хорошо ловит смысл, но промахивается на точных совпадениях: артикулы, коды ошибок, фамилии, редкие термины. Классический поиск по словам (BM25) — наоборот. Гибридный поиск объединяет оба списка, например методом взаимного ранга (RRF).
Реранкер (cross-encoder) смотрит на пару «запрос — фрагмент» целиком и оценивает релевантность точнее, чем сравнение готовых векторов. Он медленнее, поэтому схема двухэтапная: быстро найти 50–100 кандидатов, реранкером выбрать лучшие 5–10.
Что важно знать
- Bi-encoder (эмбеддинги) — быстро, векторы считаются заранее; cross-encoder — точно, но на каждый запрос.
- Переформулирование запроса моделью (rewrite, разбиение на подвопросы) — ещё один способ улучшить поиск.
- Качество поиска измеряют отдельно от ответа: recall@k, MRR, nDCG на наборе запросов с известными правильными документами.