Skip to main content

EmbeddingProvider

Trait EmbeddingProvider 

Source
pub trait EmbeddingProvider:
    Send
    + Sync
    + Debug {
    // Required methods
    fn embed(&self, texts: &[String]) -> Result<Vec<Vec<f32>>, EmbeddingError>;
    fn dimension(&self) -> usize;
}
Expand description

Abstraction over embedding providers.

Implementations must be Send + Sync so providers can be shared across threads (e.g., stored in an Arc).

Required Methods§

Source

fn embed(&self, texts: &[String]) -> Result<Vec<Vec<f32>>, EmbeddingError>

Generate embeddings for one or more text inputs.

Returns one Vec<f32> per input text, each of length Self::dimension.

Source

fn dimension(&self) -> usize

The dimensionality of the embedding vectors this provider produces.

Implementors§