Expand description
Re-ranking with cross-encoders for improved search quality
This module implements two-stage retrieval:
- Fast retrieval with bi-encoders (semantic search)
- Precise re-ranking with cross-encoders
Cross-encoders jointly encode query and document for more accurate relevance scoring, but at higher computational cost. By applying them only to top-k candidates, we get both speed and accuracy.
§Features
- Multiple cross-encoder backends (local models, API-based)
- Score fusion strategies (linear, rank-based, learned)
- Batch processing for efficiency
- Result caching
- Diversity-aware re-ranking
§Example
ⓘ
use oxirs_vec::reranking::{CrossEncoderReranker, RerankingConfig};
let config = RerankingConfig::default();
let reranker = CrossEncoderReranker::new(config)?;
// First stage: fast retrieval
let candidates = vector_store.search("machine learning", 100)?;
// Second stage: precise re-ranking
let reranked = reranker.rerank("machine learning", &candidates, 10)?;Re-exports§
pub use cache::RerankingCache;pub use cache::RerankingCacheConfig;pub use config::FusionStrategy;pub use config::RerankingConfig;pub use config::RerankingMode;pub use cross_encoder::CrossEncoder;pub use cross_encoder::CrossEncoderBackend;pub use diversity::DiversityReranker;pub use diversity::DiversityStrategy;pub use fusion::ScoreFusion;pub use fusion::ScoreFusionConfig;pub use models::CrossEncoderModel;pub use models::ModelBackend;pub use models::ModelConfig;pub use reranker::CrossEncoderReranker;pub use reranker::RerankingOutput;pub use reranker::RerankingStats;pub use types::RerankingError;pub use types::RerankingResult as Result;pub use types::ScoredCandidate;
Modules§
- cache
- Re-ranking result caching
- config
- Configuration for re-ranking
- cross_
encoder - Cross-encoder model wrapper for query-document relevance scoring
- diversity
- Diversity-aware re-ranking strategies
- fusion
- Score fusion strategies
- models
- Cross-encoder model backends
- reranker
- Main cross-encoder re-ranker implementation
- types
- Core types for re-ranking