pub struct GemmaEmbedding { /* private fields */ }Expand description
Local embedding engine using quantized EmbeddingGemma model via candle.
Implementations§
Source§impl GemmaEmbedding
impl GemmaEmbedding
Sourcepub fn new(config: EmbeddingConfig) -> Result<Self, EmbeddingError>
pub fn new(config: EmbeddingConfig) -> Result<Self, EmbeddingError>
Creates a new GemmaEmbedding from build-time prepared model files.
Sourcepub fn from_files(
config: EmbeddingConfig,
model_files: &ModelFiles,
) -> Result<Self, EmbeddingError>
pub fn from_files( config: EmbeddingConfig, model_files: &ModelFiles, ) -> Result<Self, EmbeddingError>
Creates a GemmaEmbedding from pre-downloaded model files.
Trait Implementations§
Source§impl EmbeddingEngine for GemmaEmbedding
impl EmbeddingEngine for GemmaEmbedding
Source§fn dimensions(&self) -> usize
fn dimensions(&self) -> usize
Returns the output vector dimensions.
Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
text: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, EmbeddingError>> + 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>, EmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Computes an embedding vector for a single text input.
Source§fn embed_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
texts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, EmbeddingError>> + 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>>, EmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Computes embedding vectors for a batch of text inputs.
Auto Trait Implementations§
impl Freeze for GemmaEmbedding
impl !RefUnwindSafe for GemmaEmbedding
impl Send for GemmaEmbedding
impl Sync for GemmaEmbedding
impl Unpin for GemmaEmbedding
impl UnsafeUnpin for GemmaEmbedding
impl !UnwindSafe for GemmaEmbedding
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