Зачем это нужно? Первичный vector search хорошо находит похожие по смыслу фрагменты, но не всегда понимает, какой из них действительно отвечает на вопрос. Он может поставить выше общий текст, старый документ или фрагмент с похожими словами, а нужная инструкция окажется ниже. Reranking помогает поднять наверх более точные источники.
В RAG это особенно важно, потому что context window ограничен. Модель не получает все найденные документы, она получает только несколько верхних chunks. Если в top-k попал слабый контекст, ответ будет хуже. Reranking повышает шанс, что в контекст попадет именно тот фрагмент, который нужен для ответа.
Reranking может работать разными способами: отдельной моделью-reranker, cross-encoder, LLM-оценкой, правилами по свежести источника, гибридной оценкой или комбинацией сигналов. В продакшене важно учитывать стоимость и задержку: reranking точнее, но обычно медленнее простого поиска.
Примеры
- Retriever нашел 30 фрагментов по вопросу о возврате товара. Reranking поднимает наверх актуальный регламент возврата, а не старую заметку поддержки.
- Внутренний поиск нашел несколько документов с похожими словами, но reranker выбирает тот, где прямо указан ответ на вопрос пользователя.
- RAG-система сначала берет top-50 из векторной базы, затем reranking оставляет top-5 для передачи в LLM.
- Для юридического поиска reranking помогает поднять пункт договора, где есть точная формулировка, а не общий раздел про ответственность.
- Если reranking показывает низкую уверенность у всех chunks, агент может попросить уточнить вопрос вместо ответа наугад.
Где используется
- Улучшать качество RAG-ответов после первичного vector search.
- Выбирать лучшие chunks для ограниченного context window.
- Снижать риск ответа по нерелевантному или слишком общему источнику.
- Комбинировать semantic search, keyword search и дополнительные сигналы качества.
- Поднимать актуальные, утвержденные и более точные документы выше старых.
- Строить внутренний поиск по базе знаний, договорам, инструкциям и тикетам.
- Улучшать цитирование: модель получает источники, которые действительно отвечают на вопрос.
- Тестировать retrieval pipeline через evals и сравнивать качество до и после reranking.
- Оптимизировать top-k: искать шире, а передавать модели только лучшие фрагменты.
Связанные термины
Частые вопросы
Чем reranking отличается от retrieval?
Retrieval находит кандидатов из базы знаний. Reranking заново сортирует найденные кандидаты и выбирает, какие из них лучше всего подходят к вопросу.
Зачем нужен reranking, если уже есть vector search?
Vector search быстро находит похожие фрагменты, но похожесть не всегда равна полезности. Reranking помогает выбрать фрагменты, которые точнее отвечают на конкретный вопрос.
Когда reranking особенно полезен?
Он полезен, когда база знаний большая, документы похожи друг на друга, есть старые версии, много общих фрагментов или модель часто получает не самый точный контекст.
Какие минусы есть у reranking?
Главные минусы — дополнительная задержка, стоимость и сложность настройки. Поэтому обычно reranking применяют не ко всем документам, а к короткому списку кандидатов после первичного поиска.
Как проверить, что reranking помог?
Нужно сравнить evals до и после: попадает ли правильный источник в top-k, выросла ли точность ответов, уменьшились ли галлюцинации и не стала ли система слишком медленной.