pub struct CandleEmbeddingProvider { /* private fields */ }Expand description
Local embedding provider powered by Candle.
Uses a small BERT-based model to generate embeddings entirely on CPU, with no external API calls. The model is downloaded from Hugging Face on first use and cached in the HF cache directory.
Implementations§
Source§impl CandleEmbeddingProvider
impl CandleEmbeddingProvider
Sourcepub fn new() -> MenteResult<Self>
pub fn new() -> MenteResult<Self>
Create a new provider with the default model (all-MiniLM-L6-v2).
Downloads the model on first use. Subsequent calls load from cache.
Sourcepub fn with_model(model_id: &str) -> MenteResult<Self>
pub fn with_model(model_id: &str) -> MenteResult<Self>
Create a new provider with a specific Hugging Face model ID.
Sourcepub fn with_cache_dir(cache_dir: PathBuf) -> MenteResult<Self>
pub fn with_cache_dir(cache_dir: PathBuf) -> MenteResult<Self>
Create a new provider with a custom cache directory.
Trait Implementations§
Source§impl EmbeddingProvider for CandleEmbeddingProvider
impl EmbeddingProvider for CandleEmbeddingProvider
Source§fn embed(&self, text: &str) -> MenteResult<Vec<f32>>
fn embed(&self, text: &str) -> MenteResult<Vec<f32>>
Generate an embedding vector for a single text.
Source§fn embed_batch(&self, texts: &[&str]) -> MenteResult<Vec<Vec<f32>>>
fn embed_batch(&self, texts: &[&str]) -> MenteResult<Vec<Vec<f32>>>
Generate embedding vectors for a batch of texts.
Source§fn dimensions(&self) -> usize
fn dimensions(&self) -> usize
The dimensionality of the embedding vectors produced by this provider.
Source§fn model_name(&self) -> &str
fn model_name(&self) -> &str
The name of the model used by this provider.
Auto Trait Implementations§
impl !Freeze for CandleEmbeddingProvider
impl !RefUnwindSafe for CandleEmbeddingProvider
impl Send for CandleEmbeddingProvider
impl Sync for CandleEmbeddingProvider
impl Unpin for CandleEmbeddingProvider
impl UnsafeUnpin for CandleEmbeddingProvider
impl !UnwindSafe for CandleEmbeddingProvider
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