pub trait EmbeddingProvider: Send + Sync {
// Required methods
fn model_name(&self) -> &str;
fn dimension(&self) -> usize;
fn max_length(&self) -> usize;
fn embed(&self, text: &str) -> EmbeddingResult<Vec<f32>>;
// Provided methods
fn embed_batch(&self, texts: &[&str]) -> EmbeddingResult<Vec<Vec<f32>>> { ... }
fn normalize(&self, embedding: &mut [f32]) { ... }
}Expand description
Embedding provider trait
Required Methods§
Sourcefn model_name(&self) -> &str
fn model_name(&self) -> &str
Get the model name
Sourcefn max_length(&self) -> usize
fn max_length(&self) -> usize
Maximum text length (in characters or tokens)
Provided Methods§
Sourcefn embed_batch(&self, texts: &[&str]) -> EmbeddingResult<Vec<Vec<f32>>>
fn embed_batch(&self, texts: &[&str]) -> EmbeddingResult<Vec<Vec<f32>>>
Generate embeddings for multiple texts (batch)