rerankunverifiedHand-written lesson

Cohere

Rerank 4 Pro

cohere/rerank-4-pro

Cohere's search model for improving the relevance of what your search or RAG system surfaces. 32K context and multilingual support across 100+ languages.

RoleThe relevance filter

Free

In / M

Free

Out / M

33K

Context

AA intelligence index
Not on listing
Inputs
text
Outputs
rerank
Tools
Not listed
Structured output
Not listed
Reasoning
Not listed
Weights
Not verified
Listed
Apr 6, 2026
Live from the OpenRouter listing ↗

01 · What it's good at

Use it for this.

Three jobs this model is built for, and the ones to give to something else.

01

Picking the best 3 to 5 passages from 50 candidates

02

Multilingual search results

03

Better RAG answers without touching the chat model

Skip it for

  • Searching your corpus by itself. Feed it candidates from vector or keyword search

02 · Example tasks

What you'd actually send it.

Real inputs, not a benchmark. Paste one into the snippet below to try it.

You send

Query: 'Can I pay annually?' Documents: the top 50 vector hits. Return the top 5.

Why this model

Cross-encoder rescoring keeps the wrong chunk out of the prompt.

03 · Your stack

Where it sits: Retrieve.

Between retrieval and generation: vector search returns candidates, the reranker orders them, and only the top few go to the chat model.

04 · Wire it up

One request. Paste and run.

Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.

const res = await fetch("https://openrouter.ai/api/v1/rerank", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "cohere/rerank-4-pro",
    "query": "Can I pay annually?",
    "documents": [
      "Billing runs on the first of each month.",
      "Annual plans are billed once a year.",
      "SSO is available on the Business plan."
    ],
    "top_n": 3
  }),
});
const { results } = await res.json();
for (const r of results) console.log(r.relevance_score.toFixed(3), r.document.text);

05 · Watch out for

Gotchas.

  • A reranker does not search. It only reorders what you give it.

  • Pick a cutoff on relevance_score from your own data, not a default.

Sources

Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.

Keep learning

Same board, other models.