Skip to content
RAG Explained Better

Which Reranker Should You Use?

Cohere, BGE, Jina and open-source rerankers compared on the same retrieval set, with latency alongside accuracy.

Five models cover the real pick: Cohere Rerank (hosted), Voyage Rerank (hosted), Jina Reranker v3 (self-host, long-context), BGE-reranker-v2-m3 (multilingual open-source baseline), and NVIDIA llama-nemotron-rerank-1b-v2 (top Hit@1 on a published English benchmark). There is no single best reranker — match deploy model, latency budget and corpus, then measure on your own labelled set.

What does a reranker model actually score?

A reranker scores each query–document pair jointly and reorders the shortlist that retrieval already returned — it cannot invent a document the retriever never fetched. The two-stage pattern is the same across the top-ranking results for best reranker models (Agentset, Bswen, AIMultiple, Particula, Analytics Vidhya — captured 2026-07-27): a fast retriever casts a wide net for recall, then a slower cross-encoder rescores the shortlist for precision.

What that means for the comparison below:

  • Pair scoring — the model reads the query and one candidate together and emits a relevance score (the usual cross-encoder). Why that beats compressed bi-encoder similarity is cross-encoders explained.
  • Retriever ceiling — on AIMultiple’s English Amazon-reviews set (Sarı, updated 2026-07-15), every top reranker converged around 87–88% Hit@10 because multilingual-e5-base never placed the right document in the top-100 candidates for the remaining queries. No reranker recovers a miss that early.
  • Hit@1 and latency class — Hit@1 asks whether the top result is correct; latency class is the added inference (and, for APIs, network) cost per query. Those are the axes the table uses.

Whether you need a reranker at all — high recall@50 with low recall@10 — is the gate on reranking in RAG. This page assumes that gate already passed.

How do Cohere, Voyage, Jina, BGE and Nemotron compare?

The five at a glance, then a short honest profile of each — strength and limitation both kept in. Numbers are published third-party figures, not this site’s own leaderboard; treat them as directional and re-measure on your corpus.

Five reranker models on the same axes (verify current versions, prices and latency in your region — as of July 2026)
ModelBest forDeployLatency classMultilingual / contextCost model
Cohere RerankZero-ops hosted default on general corporaHosted API~595–614 ms class incl. RTT (Particula on 3.5; Agentset on Rerank 4 Pro)100+ languages; v4.0-pro 32k context (MLM / Cohere docs)Per-call API
Voyage Rerank 2.5Code or legal corpora (domain variants)Hosted API~595–616 ms class (Particula / Agentset)Multilingual; domain variants for code / legalPer-call API
Jina Reranker v3Sub-200 ms self-host + long documentsSelf-host (weights)188 ms for 100 candidates on AIMultiple’s H100 runListwise up to 64 docs; 131k-token context (MLM / Particula)Infra; license CC BY-NC 4.0
BGE-reranker-v2-m3Multilingual open-source baselineSelf-host~80 ms GPU / ~350 ms CPU for 3 docs (Bswen)100+ languages; Apache 2.0 (Bswen / FlagEmbedding)Infra only
Nemotron rerank 1B v2Max Hit@1 when latency has headroomSelf-host243 ms for 100 candidates (AIMultiple)English-strong on that set; 1.2B paramsInfra only

Rank numerals here mark reading order, not a verdict — the right choice depends on your situation, which is two sections down. On AIMultiple’s same pipeline (retrieve top-100 with multilingual-e5-base, rerank, evaluate top-10 on 300 queries), the best reranker lifted Hit@1 from 62.67% to 83.00% (+20.33 percentage points). That is AIMultiple’s figure on Amazon reviews — not a universal constant. For the latency math that decides whether that gain pays for itself, see what reranking costs you in latency.

Should you use a hosted reranker API or self-host?

Hosted APIs (Cohere, Voyage) win when you have no GPU and moderate traffic; self-host (Jina, BGE, Nemotron) wins when you need sub-200 ms wire latency, high QPS, or data residency. Particula’s published contrast (May 2026) is the cleanest statement of the trade: hosted Cohere-class calls sit around 595–603 ms including network round-trip, while a local Jina v3 run on their cited AIMultiple numbers is 188 ms and Nemotron 243 ms.

Added rerank latency per query against a 200 millisecond budget line. Jina Reranker v3, self-hosted on 100 candidates in AIMultiple’s H100 run, is 188 milliseconds and clears the line. Nemotron rerank 1B v2, self-hosted on 100 candidates, is 243 milliseconds and misses it. A hosted Cohere-class call is 595 to 603 milliseconds including network round-trip and misses it by a wide margin.
Only self-hosted Jina v3 clears a strict sub-200 ms rerank slice at 188 ms; Nemotron misses it at 243 ms and a hosted Cohere-class call misses it by roughly 3x once the network round-trip is counted (Particula, May 2026, on AIMultiple’s 100-candidate figures).

How the two sides differ in practice:

  • Hosted — one API call, no model serving, per-call pricing that scales with traffic. Time-to-ship is minutes. The cost you feel first is round-trip latency, not dollars.
  • Self-host — you take GPUs, batching and monitoring; you gain wire latency, no per-call fee, and full control over where documents are scored. Bswen’s BGE timings show why hardware matters: ~350 ms on CPU vs ~80 ms on a T4 for three documents.

Modules that call a reranker from a vector store — Weaviate, Pinecone, Qdrant — are wiring. They plug the model in; they do not choose which model is right. The break-even against candidate-set size lives on reranking cost and latency.

Which reranker should you choose?

Match the model to your situation, not to a leaderboard:

  • Want a hosted default on a general corpus, no GPUCohere Rerank.
  • Corpus is source code or legal text → test Voyage’s domain variant first (Particula’s +2–4 NDCG@10 claim is on-domain only).
  • Need a strict sub-200 ms rerank slice and a GPUJina Reranker v3 (check the CC BY-NC license fits your use).
  • Want max Hit@1 with latency headroomNemotron rerank 1B v2 (or the smaller gte-reranker-modernbert-base, which tied it at 83.00% Hit@1 on AIMultiple’s set).
  • Need multilingual on a budgetBGE-reranker-v2-m3.
  • English-only CPU prototype → ms-marco-MiniLM-L-6-v2 or FlashRank can sit under ~50 ms (Bswen / Analytics Vidhya), but they are not the production default once accuracy matters.

If you only adopt one open-source baseline to beat, start with BGE-reranker-v2-m3: it is the practical floor Machine Learning Mastery still recommends in 2026 — if a newer model does not clearly beat it on your labelled set, the extra cost is not justified. Why pairwise scoring is worth that second stage at all is cross-encoders explained.

What do teams get wrong when picking a reranker?

The model pick is rarely the hard part — measuring on your corpus is. Five recurring mistakes:

  • Crowning a vendor leaderboard. A page that sells Zerank and ranks Zerank first is not an independent survey. Re-weight by your constraints, or use a publication that sells none of the models.
  • Assuming any reranker helps. AIMultiple found mxbai-rerank-xsmall at 64.67% Hit@1 against a 62.67% no-reranker baseline — a ~2 percentage-point lift inside noise for 300 queries. Test before you deploy.
  • Unbounded candidate counts. Rerank latency scales with how many documents you score. Particula’s production note: cap first-stage top-k around 50–100 before the reranker; feeding 500 candidates is the common P95 surprise.
  • Judging on average latency. Report P95. Long documents and fat candidate sets hide in the tail while the mean still looks fine.
  • Expecting recovery of retrieval misses. If the right chunk never enters the candidate set, no cross-encoder invents it — fix retrieval (hybrid search, chunking) first, then rerank.

How to score the lift with Hit@k / nDCG / MRR on a labelled set is at retrieval metrics; when the added milliseconds stop paying for the quality gain is at reranking cost.

What is the best reranker model in 2026?

There is no single best reranker — the answer splits by deployment. For a hosted default on a general corpus with no GPU, Cohere Rerank is the strongest zero-ops pick. For a strict sub-200 ms self-hosted budget, Jina Reranker v3 is the only top-tier model under 200 ms on AIMultiple’s English benchmark (81.33% Hit@1 at 188 ms). For maximum Hit@1 when latency has headroom, NVIDIA llama-nemotron-rerank-1b-v2 hit 83.00% on that same set. Benchmark two or three on your own labelled queries before you commit.

Cohere Rerank vs Voyage Rerank — which should you use?

On general business text they are close hosted peers (Particula puts both in the ~595–600 ms round-trip class). Pick Cohere when you want the mature general-purpose default. Pick Voyage when your corpus is source code or legal text and you can test a domain-tuned variant — Particula cites roughly +2–4 NDCG@10 on those domains versus a generic reranker. Do not pay for a domain variant on a corpus it was not trained for.

Should you self-host a reranker or use a hosted API?

Use a hosted API (Cohere or Voyage) when you want zero ops, moderate traffic, and can accept ~600 ms-class round-trip latency. Self-host (Jina Reranker v3, BGE-reranker-v2-m3, or Nemotron) when you need a sub-200 ms rerank slice, high query volume that makes per-call pricing painful, or data-residency control — and you have GPU capacity. Hosted wins on time-to-ship; self-host wins on tail latency and high-QPS economics.

How much latency does a reranker add?

Published figures put the added hop in a wide band: hosted Cohere-class calls around 595–614 ms including network round-trip (Particula, Agentset), self-hosted Jina Reranker v3 at 188 ms and Nemotron at 243 ms for 100 candidates on AIMultiple’s H100 run, and BGE-reranker-v2-m3 around 80 ms on GPU for a tiny three-document batch (Bswen). Latency scales with candidate count — cap retrieval top-k before you blame the model. The break-even against quality gain is covered on the reranking cost page.