pub struct FastEmbedEmbedder { /* private fields */ }Expand description
fastembed-rs–backed Embedder.
fastembed 5.x requires &mut TextEmbedding for embed; the trait
surface gives us &self. Interior Mutex serialises concurrent
embed calls — acceptable because ONNX inference is already CPU-
saturating.
Implementations§
Source§impl FastEmbedEmbedder
impl FastEmbedEmbedder
Sourcepub fn new() -> Result<FastEmbedEmbedder, MemoryError>
pub fn new() -> Result<FastEmbedEmbedder, MemoryError>
Build with DEFAULT_MODEL. Triggers model download on first
call if not already cached.
Sourcepub fn with_model(
model: EmbeddingModel,
dim: usize,
) -> Result<FastEmbedEmbedder, MemoryError>
pub fn with_model( model: EmbeddingModel, dim: usize, ) -> Result<FastEmbedEmbedder, MemoryError>
Build with the supplied fastembed model. The caller asserts the
model’s output dimension; mismatch is reported at first
embed call against a dimension-checked store.
Trait Implementations§
Source§impl Embedder for FastEmbedEmbedder
impl Embedder for FastEmbedEmbedder
Source§fn dimension(&self) -> usize
fn dimension(&self) -> usize
Embedding dimensionality. Must be constant for a given
Embedder instance — long-term memory backends reject vectors
of the wrong length at runtime.Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, MemoryError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
FastEmbedEmbedder: 'async_trait,
fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, MemoryError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
FastEmbedEmbedder: 'async_trait,
Compute one embedding per input text.
Source§fn is_ranking(&self) -> bool
fn is_ranking(&self) -> bool
Whether distinct inputs produce distinct directions, i.e. whether a
vector store wired with this embedder actually ranks by relevance. Read more
Auto Trait Implementations§
impl Freeze for FastEmbedEmbedder
impl RefUnwindSafe for FastEmbedEmbedder
impl Send for FastEmbedEmbedder
impl Sync for FastEmbedEmbedder
impl Unpin for FastEmbedEmbedder
impl UnsafeUnpin for FastEmbedEmbedder
impl UnwindSafe for FastEmbedEmbedder
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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