Expand description
Rerank search candidates with embeddings. SIMD-accelerated.
You bring embeddings, this crate scores them. No model weights, no inference.
§Quick Start
use rank_refine::simd;
// Dense scoring
let score = simd::cosine(&[1.0, 0.0], &[0.707, 0.707]);
// Late interaction (`ColBERT` `MaxSim`)
let query = vec![vec![1.0, 0.0], vec![0.0, 1.0]];
let doc = vec![vec![0.9, 0.1], vec![0.1, 0.9]];
let score = simd::maxsim_vecs(&query, &doc);§Modules
| Module | Purpose |
|---|---|
simd | SIMD vector ops (dot, cosine, maxsim) |
colbert | Late interaction (MaxSim), token pooling |
diversity | MMR + DPP diversity selection |
crossencoder | Cross-encoder trait |
matryoshka | MRL tail refinement |
Advanced: scoring for trait-based polymorphism, embedding for type-safe wrappers.
Modules§
- colbert
- Late interaction scoring via
MaxSim. - crossencoder
- Cross-encoder reranking:
f(q, d) = NN([q; d]). - diversity
- Diversity-aware reranking algorithms.
- embedding
- Type-safe embedding wrappers.
- matryoshka
- Two-stage retrieval using Matryoshka embeddings.
- prelude
- Common imports for reranking.
- scoring
- Scoring traits and utilities.
- simd
- Vector operations with SIMD acceleration.
Structs§
- Refine
Config - Configuration for score blending and truncation.
Enums§
- Refine
Error - Errors from refinement operations.
Functions§
- as_
slices - Convert
&[Vec<f32>]toVec<&[f32]>.
Type Aliases§
- Result
- Result type for refinement operations.