Skip to main content

RerankBackend

Trait RerankBackend 

Source
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§

Source

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§

Source

fn model(&self) -> &str

Model identifier for observability (e.g. “ms-marco-MiniLM-L-6-v2”).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§