Skip to main content

Rerankers Module

The rerankers module provides methods to reorder retrieved documents by relevance to the query.

Quick Start

Reranker Types

Classes

RerankResult

Dataclass for reranking results.

RerankerProtocol

Protocol for reranker implementations.

SimpleReranker

Built-in keyword-based reranker (no external dependencies).

RerankerRegistry

Registry for managing reranker implementations.

Using with Knowledge

Creating Custom Rerankers

Thread Safety

RerankerRegistry is a thread-safe singleton — register, get, list_rerankers, and clear are all guarded by an internal lock, and concurrent get_reranker_registry() calls always return the same instance.
Safe to call from multiple agents at once — no external locking required. Since PraisonAI #5197.

LLM Reranker Example

Performance

  • SimpleReranker is pure Python with no dependencies
  • LLM reranker makes API calls (latency depends on provider)
  • Cross-encoder requires sentence-transformers (loaded lazily)
  • RerankerRegistry operations acquire a lightweight lock — negligible overhead in single-threaded use, no KeyError or iteration errors under concurrent register/clear