Skip to content

Rerankers

Re-score retrieved documents to improve ranking quality.

Available Rerankers

API-based

Reranker Type Provider
Cohere API Cohere
Jina API Jina AI
VoyageAI API Voyage AI
MixedbreadAI API Mixedbread AI
RankGPT LLM Any LLM
UPR LLM Any LLM
FlagEmbedding LLM LLM-based BAAI

Local Models

Reranker Type Library
SentenceTransformer CrossEncoder sentence-transformers
FlagEmbedding CrossEncoder FlagEmbedding
FlashRank ONNX flashrank
ColBERT Token-level torch, transformers
MonoT5 Seq2Seq torch, transformers
TART Instruction-T5 torch, transformers
KoReranker Korean torch, transformers
OpenVINO HW-optimized optimum-intel

Installation

API rerankers require optional dependencies:

pip install autorag-research[reranker]

GPU/local rerankers require the gpu extra:

pip install autorag-research[gpu]

OpenVINO reranker requires:

pip install autorag-research[openvino]

Base Class

All rerankers extend BaseReranker:

from autorag_research.rerankers import BaseReranker, RerankResult


class MyReranker(BaseReranker):
    def rerank(self, query: str, documents: list[str], top_k: int | None = None) -> list[RerankResult]:
        # Return sorted results by relevance
        pass

    async def arerank(self, query: str, documents: list[str], top_k: int | None = None) -> list[RerankResult]:
        # Async version
        pass

Methods

Method Description
rerank(query, docs, top_k) Single query reranking
arerank(query, docs, top_k) Async single query
rerank_documents(queries, docs_list, top_k) Batch reranking
arerank_documents(queries, docs_list, top_k) Async batch

Usage with Injection

from autorag_research.injection import load_reranker, with_reranker

# Load from config
reranker = load_reranker("cohere")

# Or use decorator
@with_reranker()
def my_func(reranker):
    return reranker.rerank("query", ["doc1", "doc2"])