graph LR
TransformerRanker["TransformerRanker"]
ColBERTRanker["ColBERTRanker"]
MonoVLMRanker["MonoVLMRanker"]
MXBAIV2Ranker["MXBAIV2Ranker"]
T5Ranker["T5Ranker"]
UPRRanker["UPRRanker"]
TransformerRanker -- "calls tokenize" --> TransformerRanker
TransformerRanker -- "tokenize provides processed input to rank" --> TransformerRanker
ColBERTRanker -- "delegates rank to _colbert_rank for core processing" --> ColBERTRanker
ColBERTRanker -- "_colbert_rank orchestrates encoding and scoring" --> ColBERTRanker
MonoVLMRanker -- "delegates rank to internal scoring logic (_get_scores)" --> MonoVLMRanker
MXBAIV2Ranker -- "delegates rank to _predict" --> MXBAIV2Ranker
MXBAIV2Ranker -- "_predict calls _prepare_batch" --> MXBAIV2Ranker
T5Ranker -- "delegates rank to _get_scores" --> T5Ranker
T5Ranker -- "_get_scores calls _greedy_decode" --> T5Ranker
UPRRanker -- "delegates rank to _get_scores" --> UPRRanker
The rerankers subsystem provides a modular framework for various transformer-based reranking models. At its core, the TransformerRanker serves as a generic base, handling common operations like tokenization and the overall ranking process. Specialized rerankers, such as ColBERTRanker, MonoVLMRanker, MXBAIV2Ranker, T5Ranker, and UPRRanker, extend this functionality by implementing their unique model-specific inference and scoring mechanisms. For instance, ColBERTRanker delegates its primary rank operation to an internal _colbert_rank method, which then orchestrates the distinct encoding of queries and documents, followed by interaction-based scoring. Similarly, MXBAIV2Ranker relies on an internal _predict method, which in turn prepares batches for efficient processing. This design ensures that each reranker component encapsulates its specific logic while leveraging a common interface for integration.
Implements a generic reranking strategy for transformer models (e.g., CrossEncoder). It handles the core logic for model loading, tokenization, and inference common to many transformer-based rerankers.
Related Classes/Methods:
rerankers.models.transformer_ranker.TransformerRanker:rankrerankers.models.transformer_ranker.TransformerRanker:tokenize
Provides a specific reranking strategy based on the ColBERT architecture, including distinct query and document encoding, and interaction-based scoring.
Related Classes/Methods:
rerankers.models.colbert_ranker.ColBERTRanker:rankrerankers.models.colbert_ranker.ColBERTRanker:_colbert_rankrerankers.models.colbert_ranker.ColBERTRanker:_query_encodererankers.models.colbert_ranker.ColBERTRanker:_document_encodererankers.models.colbert_ranker.ColBERTRanker:_to_embsrerankers.models.colbert_ranker.ColBERTRanker:_colbert_score
Implements the reranking strategy for MonoVLM models, focusing on their specific inference and scoring mechanisms.
Related Classes/Methods:
rerankers.models.monovlm_ranker.MonoVLMRanker:rankrerankers.models.monovlm_ranker.MonoVLMRanker:_get_scores
Encapsulates the reranking logic for MXBAI V2 models, managing batch preparation and prediction.
Related Classes/Methods:
rerankers.models.mxbai_v2.MXBAIV2Ranker:rankrerankers.models.mxbai_v2.MXBAIV2Ranker:_predictrerankers.models.mxbai_v2.MXBAIV2Ranker:_prepare_batch
Implements the reranking strategy specific to T5 models, including their unique scoring mechanism via decoding.
Related Classes/Methods:
rerankers.models.t5ranker.T5Ranker:rankrerankers.models.t5ranker.T5Ranker:_get_scoresrerankers.models.t5ranker.T5Ranker:_greedy_decode
Implements the reranking strategy for UPR (Unsupervised Passage Reranking) models, focusing on their distinct scoring methodology.
Related Classes/Methods: