Если retrieval — это поиск, а reranking — процесс повторной сортировки, то reranker — инструмент, который эту сортировку выполняет. Это может быть отдельная ML-модель, cross-encoder, LLM-промпт, гибридная формула или сервис внутри фреймворка вроде LangChain или LlamaIndex.
Reranker нужен потому, что быстрый vector search не всегда выбирает лучший ответ. Он хорошо находит похожие по смыслу chunks, но может перепутать общий текст с точной инструкцией, старый документ с новым или близкий по словам фрагмент с действительно полезным источником. Reranker помогает выбрать, что стоит передать в context window модели.
В продакшене reranker почти всегда балансирует качество, скорость и стоимость. Чем больше кандидатов он оценивает, тем выше шанс найти лучший фрагмент, но тем больше задержка. Поэтому часто используют схему: retriever достает top-30 или top-50, reranker выбирает top-5, а LLM получает только лучшие chunks.
Примеры
- Retriever нашел 40 фрагментов по вопросу о возврате. Reranker поднимает наверх актуальный регламент, потому что он точнее отвечает на вопрос.
- В базе знаний есть несколько похожих инструкций. Reranker выбирает ту, где указана нужная версия продукта и свежая дата обновления.
- RAG-система использует vector search для быстрого поиска кандидатов, а cross-encoder reranker для точной оценки пары "вопрос-документ".
- Если reranker ставит всем фрагментам низкий score, агент может не отвечать наугад и попросить уточнить вопрос.
- После добавления reranker правильный источник чаще попадает в top-3, а ответы модели становятся точнее и лучше цитируются.
Где используется
- Повышать точность RAG-ответов после первичного retrieval.
- Выбирать лучшие chunks для передачи в ограниченный context window.
- Улучшать внутренний поиск по базе знаний, договорам, инструкциям и тикетам.
- Снижать риск ответа по похожему, но неверному источнику.
- Комбинировать vector search, keyword search и дополнительные сигналы качества.
- Поднимать свежие, утвержденные и более точные документы выше архивных.
- Улучшать качество source citation: модель получает источники, которые действительно отвечают на вопрос.
- Настраивать evals для проверки, попадает ли правильный документ в top-k.
- Оптимизировать стоимость: искать широко, но передавать LLM только несколько лучших фрагментов.
Связанные термины
Частые вопросы
Чем reranker отличается от retriever?
Retriever находит кандидатов в базе знаний. Reranker берет этих кандидатов и заново сортирует их по тому, насколько они полезны для конкретного вопроса.
Чем reranker отличается от reranking?
Reranking — это процесс повторной сортировки. Reranker — компонент или модель, которая выполняет этот процесс.
Когда нужен reranker?
Он нужен, когда в базе много похожих документов, vector search часто поднимает не самый точный фрагмент, а ответы модели страдают из-за слабого контекста.
Почему reranker может замедлить систему?
Он дополнительно оценивает найденные chunks. Если кандидатов много или модель reranker тяжелая, растут задержка и стоимость обработки запроса.
Как проверить качество reranker?
Нужно сравнить evals до и после: как часто правильный источник попадает в top-1, top-3 или top-5, снизились ли ошибки ответа и не стала ли система слишком медленной.