Rerankers¶
Reranker
¶
Bases: Protocol
Cross-encoder or listwise reranker.
Receives top-K retrieved chunks and re-scores them with query context. Returns a shorter, better-ordered list for the generator.
rerank
¶
rerank(query: str, chunks: list[RetrievedChunk], top_k: int = 5) -> list[RetrievedChunk]
Return at most top_k chunks in descending relevance order.
CohereReranker¶
CohereReranker
¶
Cohere-hosted cross-encoder reranker.
Parameters¶
model:
Cohere rerank model id. Defaults to "rerank-english-v3.0".
Multilingual: "rerank-multilingual-v3.0". Newer: "rerank-v3.5".
api_key:
Cohere API key. Falls back to COHERE_API_KEY env var.
Source code in src/verifiable_rag/rerankers/cohere_reranker.py
BGERerankerV2¶
BGERerankerV2
¶
BGERerankerV2(model_name: str = 'BAAI/bge-reranker-v2-m3', batch_size: int = 16, device: str | None = None, max_length: int = 512)
Cross-encoder reranker using BGE rerank v2-m3 via sentence-transformers.
Parameters¶
model_name:
HuggingFace model id. Default "BAAI/bge-reranker-v2-m3"
(multilingual, ~568M params). Pass "BAAI/bge-reranker-v2-base"
for a smaller/faster variant.
batch_size:
Pairs per forward pass. Larger = faster on GPU, OOM risk on CPU.
device:
"cpu", "cuda", "mps", or None to autodetect.
max_length:
Truncation cap (tokens) for each (query, chunk) pair fed to the model.
Reranker-v2-m3 supports up to 8192; 512 is enough for ~400-token
chunks plus a query.
Source code in src/verifiable_rag/rerankers/bge.py
rerank
¶
rerank(query: str, chunks: list[RetrievedChunk], top_k: int = 5) -> list[RetrievedChunk]
Re-score chunks against query and return the top top_k.