pub trait EmbeddingProvider: Send + Sync {
// Required methods
fn dimensions(&self) -> usize;
fn embed(&self, text: &str) -> Result<Vec<f32>, CodememError>;
fn name(&self) -> &str;
// Provided methods
fn embed_batch(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, CodememError> { ... }
fn cache_stats(&self) -> (usize, usize) { ... }
}Expand description
Trait for pluggable embedding providers.
Required Methods§
Sourcefn dimensions(&self) -> usize
fn dimensions(&self) -> usize
Embedding vector dimensions.
Provided Methods§
Sourcefn embed_batch(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, CodememError>
fn embed_batch(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, CodememError>
Embed a batch of texts (default: sequential).
Sourcefn cache_stats(&self) -> (usize, usize)
fn cache_stats(&self) -> (usize, usize)
Cache statistics: (current_size, capacity). Returns (0, 0) if no cache.