Как реализовать re-ranking в RAG
11 часов назад
Никита Вихров
Ответы
Как реализовать re-ranking в RAG
Векторный поиск быстрый, но грубый. Он находит документы, похожие по смыслу — но не всегда самые релевантные. Re-ranking — это второй проход: берём топ-20 кандидатов от поиска и пересортируем их более точной моделью.
Результат: в контекст попадают действительно лучшие документы, а не просто «похожие».
Почему векторный поиск ошибается
Embedding-модели обучены на общих данных. Они хорошо улавливают тему, но плохо понимают тонкие различия внутри неё.
Cross-encoder как re-ranker
Cross-encoder — модель, которая принимает пару (вопрос, документ) и выдаёт оценку релевантности. Работает медленнее embedding-поиска, но точнее.
Re-ranking через LLM
Если не хочется ставить отдельную модель — можно использовать LLM как re-ranker:
Когда re-ranking даёт ощутимый прирост
- Документы по одной теме с похожими формулировками — bi-encoder их путает, cross-encoder различает
- Длинные документы — embedding усредняет весь текст, важная часть «тонет»
- Специализированная терминология — общие embedding-модели плохо её понимают
Когда можно обойтись без re-ranking
- Документов мало и они чётко разграничены по темам
- Поиск и так даёт хорошие результаты (проверь логами)
- Latency критична — re-ranking добавляет 100–500ms
Практически все эти техники разбираются на курсе «ИИ для разработчиков» на Хекслете — не в теории, а на реальном проекте с живым кодом. Автор курса Кирилл Мокевнин разбирает как именно выстроить pipeline от поиска до генерации в продакшн-условиях.
11 часов назад
Никита Вихров





