Crate rank_refine

Crate rank_refine 

Source
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

ModulePurpose
simdSIMD vector ops (dot, cosine, maxsim)
colbertLate interaction (MaxSim), token pooling
diversityMMR + DPP diversity selection
crossencoderCross-encoder trait
matryoshkaMRL 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§

RefineConfig
Configuration for score blending and truncation.

Enums§

RefineError
Errors from refinement operations.

Functions§

as_slices
Convert &[Vec<f32>] to Vec<&[f32]>.

Type Aliases§

Result
Result type for refinement operations.