Models
This section contains auto-generated documentation for all model classes in Routir.
Base Classes
- class routir.models.abstract.Engine(name=None, config=None, **kwargs)[source]
Bases:
FactoryEnabledAbstract class for all search and retrieval engines.
Provides a common interface for search, scoring, query decomposition, and result fusion operations. Subclasses should implement the specific batch operations they support.
- name
Engine identifier
- config
Engine configuration dictionary
- index_path
Path to the search index (if applicable)
- async score_batch(queries, passages, candidate_length=None, **kwargs)[source]
Score query-passage pairs in batch.
- async decompose_query_batch(queries, limit=None, **kwargs)[source]
Decompose queries into sub-queries.
- class routir.models.abstract.Reranker(name=None, config=None, **kwargs)[source]
Bases:
EngineAbstract class for reranking engines.
Rerankers retrieve candidates from an upstream engine and rescore them. They require document text, either from a text service or other source.
This is a helper class for rerankers that provides supports to gather document text and perform the reranking process. If you do not need these functionalities, you can directly inherit from Engine.
- upstream
Upstream retrieval engine for candidate generation
- text_service
Configuration for retrieving document text
- rerank_topk_max
Maximum candidates to rerank
- rerank_multiplier
Factor to multiply requested limit for upstream retrieval
- __init__(name=None, config=None, **kwargs)[source]
Initialize the reranker.
- Parameters:
name – Reranker name
config – Configuration dict or path
**kwargs – Additional configuration
- class routir.models.abstract.Aggregation(passage_mapping)[source]
Bases:
objectMaps passages to documents and aggregates passage scores to document scores.
Used for passage-level retrieval where results need to be aggregated to the document level using MaxP (maximum passage score).
- mapping
Dict mapping passage IDs to document IDs
- maxp(passage_scores)[source]
Aggregate passage scores to document scores using MaxP.
Takes the maximum score among all passages belonging to each document.
- property n_docs
Get number of unique documents.
PLAID-X (ColBERT)
- class routir.models.plaidx.PLAIDX(name='PLAID-X', config=None, **kwargs)[source]
Bases:
EnginePLAID-X engine for late-interaction dense retrieval using ColBERT.
Provides fast and effective neural retrieval with token-level interactions.
- colbert_config
ColBERT configuration
- searcher
ColBERT searcher instance
- passage_mapper
Optional mapping for passage-to-document aggregation
- subset_mapper
Optional mapping of document IDs to subsets
- inference_batch_size
Batch size for inference operations
- async search_batch(queries, limit=20, subsets=None, maxp=True)[source]
Perform batch search for multiple queries.
LSR (SPLADE)
- class routir.models.lsr.LSR(name='LSR', config=None, **kwargs)[source]
Bases:
EngineLearned Sparse Retrieval engine using SPLADE model as the query encoder.
Performs sparse retrieval with learned term weights using Anserini indexes.
- anserini
Anserini index interface
- model
SPLADE model for query encoding
- subset_mapper
Optional mapping of document IDs to subsets
mT5
- class routir.models.mt5.MT5Reranker(name=None, config=None, **kwargs)[source]
Bases:
RerankermT5-based reranker for passage scoring.
Uses sequence-to-sequence T5 models fine-tuned for relevance scoring.
- prompt
Template for formatting query-document pairs
- model
T5 model instance
- tokenizer
T5 tokenizer
- q_max_length
Maximum query length
- d_max_length
Maximum document length
- batch_size
Batch size for inference
- token_false_id
Token ID for “false” prediction
- token_true_id
Token ID for “true” prediction
- prompt = 'Query: {query} Document: {document} Relevant:'
Qwen3
Relay
Fusion
- class routir.models.fusion.Fusion(name=None, config=None, **kwargs)[source]
Bases:
EngineEngine that fuses results from multiple upstream engines.
Retrieves results from multiple engines and combines them using a fusion method (RRF or score-based).
- upstream
List of upstream engines
- fusion_function
Function to use for fusion
- fusion_args
Arguments for the fusion function
- __init__(name=None, config=None, **kwargs)[source]
Initialize fusion engine.
- Parameters:
name – Engine name
config – Must contain ‘upstream_service’ list
**kwargs – Additional configuration