---
layout: default
---

# Reranking: mejorando la relevancia

<v-clicks>

La búsqueda vectorial recupera documentos **similares**, pero no siempre los más **relevantes**. Un **reranker** reordena los resultados usando un modelo especializado.

```typescript
import { CohereRerank } from "@langchain/cohere";

const reranker = new CohereRerank({
  apiKey: process.env.COHERE_API_KEY,
  model: "rerank-v4.0-fast", // multilingüe por defecto
  topN: 3,
});

// .compressDocuments() → devuelve los topN Document[] listos para usar en chains
const rerankedDocs = await reranker.compressDocuments(docs, query);

// .rerank() → devuelve TODOS los índices + scores (más control manual)
const results = await reranker.rerank(docs, query);
// [{ index: 2, relevanceScore: 0.95 }, { index: 0, relevanceScore: 0.72 }, ...]
```

<div class="mt-3 p-3 bg-green-500/10 rounded">
✨ Patrón común: recuperar ~10 docs con vector search → reranking → top 3 al LLM
</div>

</v-clicks>
