Skip to main content

EmbeddingProvider

Trait EmbeddingProvider 

Source
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§

Source

fn dimensions(&self) -> usize

Embedding vector dimensions.

Source

fn embed(&self, text: &str) -> Result<Vec<f32>, CodememError>

Embed a single text string.

Source

fn name(&self) -> &str

Provider name for display.

Provided Methods§

Source

fn embed_batch(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, CodememError>

Embed a batch of texts (default: sequential).

Source

fn cache_stats(&self) -> (usize, usize)

Cache statistics: (current_size, capacity). Returns (0, 0) if no cache.

Implementors§