pub struct FastEmbedReranker { /* private fields */ }Expand description
FastEmbed-backed cross-encoder reranker using ms-marco-MiniLM-L-6-v2.
This reranker uses a cross-encoder model that processes query-document pairs simultaneously, providing more accurate relevance scores than bi-encoder similarity. The MiniLM-L-6-v2 model is optimized for fast inference on CPU.
Implementations§
Source§impl FastEmbedReranker
impl FastEmbedReranker
Sourcepub fn reranker_id_static() -> &'static str
pub fn reranker_id_static() -> &'static str
Stable reranker identifier for ms-marco-MiniLM-L-6-v2.
Sourcepub fn model_id_static() -> &'static str
pub fn model_id_static() -> &'static str
Stable model identifier for ms-marco-MiniLM-L-6-v2.
Sourcepub fn required_model_files() -> &'static [&'static str]
pub fn required_model_files() -> &'static [&'static str]
Required model files for the reranker (must all exist locally).
Sourcepub fn default_model_dir(data_dir: &Path) -> PathBuf
pub fn default_model_dir(data_dir: &Path) -> PathBuf
Default model directory relative to a data directory.
Sourcepub fn load_from_dir(model_dir: &Path) -> Result<FastEmbedReranker, SearchError>
pub fn load_from_dir(model_dir: &Path) -> Result<FastEmbedReranker, SearchError>
Load the reranker model + tokenizer from a local directory.
This never downloads; it returns an error if any required file is missing.
Trait Implementations§
Source§impl SyncRerank for FastEmbedReranker
impl SyncRerank for FastEmbedReranker
Source§fn rerank_sync(
&self,
query: &str,
documents: &[RerankDocument],
) -> Result<Vec<RerankScore>, SearchError>
fn rerank_sync( &self, query: &str, documents: &[RerankDocument], ) -> Result<Vec<RerankScore>, SearchError>
Synchronously rerank documents against a query. Read more
Source§fn model_name(&self) -> &str
fn model_name(&self) -> &str
Human-friendly reranker model name.
Source§fn is_available(&self) -> bool
fn is_available(&self) -> bool
Whether this reranker is loaded and ready for inference.
Source§fn max_length(&self) -> usize
fn max_length(&self) -> usize
Maximum supported token length for query+document pair input.
Auto Trait Implementations§
impl !Freeze for FastEmbedReranker
impl RefUnwindSafe for FastEmbedReranker
impl Send for FastEmbedReranker
impl Sync for FastEmbedReranker
impl Unpin for FastEmbedReranker
impl UnsafeUnpin for FastEmbedReranker
impl UnwindSafe for FastEmbedReranker
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more