pub struct PrecomputedEmbedder;Expand description
An embedder that does not support text or image embedding, used for pre-computed vectors.
This embedder is used when documents already contain pre-computed vectors and no embedding is needed. It implements the Null Object Pattern, providing a concrete implementation that explicitly does nothing.
§Example
use std::sync::Arc;
use laurus::embedding::precomputed::PrecomputedEmbedder;
use laurus::embedding::embedder::Embedder;
let embedder: Arc<dyn Embedder> = Arc::new(PrecomputedEmbedder::new());
assert!(!embedder.supports_text());
assert!(!embedder.supports_image());§When to Use
- Pre-computed vectors: When vectors are computed externally before indexing
- Testing: When embedding functionality is not needed in tests
- Default placeholder: As a default value when embedder is required but not used
Implementations§
Trait Implementations§
Source§impl Clone for PrecomputedEmbedder
impl Clone for PrecomputedEmbedder
Source§fn clone(&self) -> PrecomputedEmbedder
fn clone(&self) -> PrecomputedEmbedder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PrecomputedEmbedder
impl Debug for PrecomputedEmbedder
Source§impl Default for PrecomputedEmbedder
impl Default for PrecomputedEmbedder
Source§fn default() -> PrecomputedEmbedder
fn default() -> PrecomputedEmbedder
Returns the “default value” for a type. Read more
Source§impl Embedder for PrecomputedEmbedder
impl Embedder for PrecomputedEmbedder
Source§fn embed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 EmbedInput<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vector>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn embed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 EmbedInput<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Vector>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Returns an error for any input, as this embedder does not support embedding.
Source§fn supported_input_types(&self) -> Vec<EmbedInputType>
fn supported_input_types(&self) -> Vec<EmbedInputType>
Returns an empty list as this embedder does not support any input types.
Source§fn supports_text(&self) -> bool
fn supports_text(&self) -> bool
Returns false as this embedder does not support text input.
Source§fn supports_image(&self) -> bool
fn supports_image(&self) -> bool
Returns false as this embedder does not support image input.
Source§fn embed_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
inputs: &'life1 [EmbedInput<'life2>],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vector>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn embed_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
inputs: &'life1 [EmbedInput<'life2>],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vector>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generate embeddings for multiple inputs in batch. Read more
Source§fn supports(&self, input_type: EmbedInputType) -> bool
fn supports(&self, input_type: EmbedInputType) -> bool
Check if this embedder supports the given input type. Read more
Source§fn is_multimodal(&self) -> bool
fn is_multimodal(&self) -> bool
Check if this embedder is multimodal (supports both text and image).
Auto Trait Implementations§
impl Freeze for PrecomputedEmbedder
impl RefUnwindSafe for PrecomputedEmbedder
impl Send for PrecomputedEmbedder
impl Sync for PrecomputedEmbedder
impl Unpin for PrecomputedEmbedder
impl UnsafeUnpin for PrecomputedEmbedder
impl UnwindSafe for PrecomputedEmbedder
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.