Когда reranker в RAG не нужен. И где он спасает recall на 20 пунктов.

Cohere Rerank, BGE-reranker, GPT-as-judge — все они стоят денег и latency. Когда тратить, когда обойтись plain hybrid search — замеры на трёх production-корпусах.

Cover · violet wireframe · rag-rerank-when-skip
⬡ TL;DR

На коротких homogeneous корпусах (FAQ, support-tickets) reranker даёт <3 пункта recall@5 — не стоит ни latency, ни денег. На длинных гетерогенных корпусах (policy + product + legal в одном индексе) Cohere rerank-3 поднимает recall@5 с 0.61 до 0.83. BGE-reranker-v2-m3 на своём железе — почти то же качество за ~50 мс p95 и нулевой per-query cost.

Три корпуса, один pipeline

Замеры — три реальных production-корпуса, у всех ground truth от экспертов (по ~300 запрос-ответ пар каждый) :

  • A. Support FAQ : ~600 коротких документов (200–400 токенов), одна тема (B2C-сервис).
  • B. Корпоративная база знаний : ~12 000 документов (500–4 000 токенов), три домена в одном индексе (HR-полиси, продуктовая документация, legal-templates).
  • C. Юридический корпус : ~3 000 документов, ~80% >5 000 токенов, плотный язык, много омонимов.

Pipeline везде один : hybrid search (BM25 + e5-large embeddings, RRF-merge), top-50 → reranker → top-5 в LLM. Сравнивали : no rerank (top-5 прямо из hybrid), BGE-reranker-v2-m3 (self-hosted), Cohere rerank-3.

Когда rerank вреден

Корпус A (Support FAQ). Recall@5 : 0.94 (hybrid) → 0.95 (BGE) → 0.96 (Cohere). На коротких документах со строгой структурой hybrid сам выдаёт правильный ответ в топе. Reranker добавляет 200–400 мс latency за 1 пункт recall. На FAQ это economically negative : пользователь чувствует задержку, бизнес не видит prevod в NPS.

Универсальный признак «rerank не нужен» :

  • Recall@10 от hybrid уже >0.92.
  • Документы по одной теме, длина <500 токенов.
  • Запросы пользователей короткие и похожи на заголовки документов.

Где он спасает

Корпус B (KB). Recall@5 : 0.61 (hybrid) → 0.81 (BGE) → 0.83 (Cohere). +22 пункта — это разница между «бот говорит мимо» и «даёт правильный документ». Hybrid вытаскивает релевантные документы в top-50, но на позициях 8–30. Reranker поднимает в top-5.

Почему так : BM25 на трёх доменах путается (одни и те же термины значат разное в HR vs Legal), embeddings размыты. Cross-encoder rerank смотрит query+doc вместе и точнее различает контекст.

Корпус C (Legal). Recall@5 : 0.48 → 0.71 → 0.78. Cohere выигрывает потому что rerank-3 обучен в т. ч. на legal-corpus и ловит синонимы юр-терминов лучше open-source. На legal — платить за Cohere стоит.

Стоимость и latency

p95 latency на top-50 → top-5 rerank :

  • BGE-reranker-v2-m3 на одной L4 (24GB) : 48 мс. Стоимость : amortized цена железа, ~$0 за запрос на объёме >100 req/min.
  • Cohere rerank-3 : 140 мс. $0.001 / запрос (поиск, не токены). На 100 000 запросов / мес : $100.
  • GPT-4o-mini as judge (top-20 + JSON-rerank prompt) : ~900 мс, $0.003–0.005 / запрос. Не рекомендуется для production : латентность и цена ломают экономику.

RAG-аудит на вашем корпусе

Прогоняем ваш корпус и 300 типовых запросов через 3 варианта pipeline. Отдаём цифры recall@k, latency и cost — по ним принимаете решение.

Кинуть бриф

Рецепт : с чего начинать

  1. Собрать 100–300 пар запрос-ответ с экспертами. Без этого все цифры — гадание.
  2. Запустить baseline : hybrid search top-5, без rerank. Посчитать recall@5.
  3. Если >0.85 на первой итерации — rerank не нужен, идти улучшать chunking/embeddings.
  4. Если <0.7 — ставить BGE-reranker (на CPU работает на маленьких объёмах). Сравнить.
  5. Если BGE даёт +5–10 пунктов — пробовать Cohere для +2–3 пункта сверху. Если разница <2 пункта — остаться на BGE и экономить $$$.
  6. Чанкинг важнее ранкинга. Перед тем как ставить rerank, проверьте что вы не нарезали документы поперёк смысла. Часто +15 пунктов recall — от нормального chunking, а не от rerank.

Самый частый антипаттерн : команда сразу ставит Cohere потому что «все так делают», получает +1 пункт recall и +140 мс latency, считает себя big-time. Сначала измерьте, потом платите.

START

RAG-аудит
на вашем корпусе.

300 запросов, 3 pipeline, цифры recall + latency + cost. Discovery бесплатно, ответ за 48 часов.