pub fn colbert_rerank(query: &[Vec<f32>], docs: &[&[Vec<f32>]]) -> Vec<f32>Expand description
Rank docs against query by max_sim, returning one score per document.
Scores are returned in docs order — the caller sorts and truncates to its
top-k. Each document is its own list of per-token vectors.
§Examples
use uni_xervo::score::colbert_rerank;
let query = vec![vec![1.0, 0.0]];
let doc_a = vec![vec![1.0, 0.0]];
let doc_b = vec![vec![0.0, 1.0]];
let scores = colbert_rerank(&query, &[&doc_a, &doc_b]);
assert!(scores[0] > scores[1]);