pub struct LLMEmbedder { /* private fields */ }Expand description
Embedder wrapper that uses an LLMBackend for embeddings
Implementations§
Source§impl LLMEmbedder
impl LLMEmbedder
Sourcepub fn new(backend: Arc<dyn LLMBackend>, dimension: usize) -> Self
pub fn new(backend: Arc<dyn LLMBackend>, dimension: usize) -> Self
Create a new LLM-based embedder
Common dimensions:
- OpenAI text-embedding-3-small: 1536
- OpenAI text-embedding-3-large: 3072
- OpenAI text-embedding-ada-002: 1536
Sourcepub fn openai_small(backend: Arc<dyn LLMBackend>) -> Self
pub fn openai_small(backend: Arc<dyn LLMBackend>) -> Self
Create embedder for OpenAI text-embedding-3-small (1536 dimensions)
Sourcepub fn openai_large(backend: Arc<dyn LLMBackend>) -> Self
pub fn openai_large(backend: Arc<dyn LLMBackend>) -> Self
Create embedder for OpenAI text-embedding-3-large (3072 dimensions)
Trait Implementations§
Source§impl Embedder for LLMEmbedder
impl Embedder for LLMEmbedder
Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
text: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
text: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate embedding for text
Source§fn embed_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
texts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, MemoryError>> + 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,
texts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generate embeddings for multiple texts (batch)
Auto Trait Implementations§
impl Freeze for LLMEmbedder
impl !RefUnwindSafe for LLMEmbedder
impl Send for LLMEmbedder
impl Sync for LLMEmbedder
impl Unpin for LLMEmbedder
impl UnsafeUnpin for LLMEmbedder
impl !UnwindSafe for LLMEmbedder
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
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