pub trait RerankBackend: Send + Sync {
// Required method
fn rerank(&self, query: &str, docs: &[&str]) -> Result<Vec<f32>>;
// Provided method
fn model(&self) -> &str { ... }
}Expand description
Pluggable cross-encoder reranker (Tier-2
retrieval). Like EmbedBackend, the host owns the model: inject a local
candle/ONNX cross-encoder (or any scorer) — the engine ships no model and
takes no ML dependency. Off by default; with no reranker installed recall
behaves exactly as before. Reranking is a turn-level refinement (tens
of ms), never on the voice per-frame path; recall_hybrid_tuned only
invokes it inside the deadline and falls back to fusion order otherwise.
Required Methods§
Sourcefn rerank(&self, query: &str, docs: &[&str]) -> Result<Vec<f32>>
fn rerank(&self, query: &str, docs: &[&str]) -> Result<Vec<f32>>
Relevance score for each (query, doc) pair, positionally aligned with
docs. Higher = more relevant. Scores are only ever compared among
themselves, so raw cross-encoder logits are fine (no normalization
required). Must return exactly docs.len() scores.
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".