Skip to main content

EmbeddingProvider

Trait EmbeddingProvider 

Source
pub trait EmbeddingProvider: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn dimension(&self) -> usize;
    fn embed(&self, text: &str) -> Result<Embedding>;

    // Provided method
    fn embed_batch(&self, texts: &[&str]) -> Result<Vec<Embedding>> { ... }
}
Expand description

Trait for embedding providers.

Required Methods§

Source

fn name(&self) -> &str

Get the name of this provider.

Source

fn dimension(&self) -> usize

Get the embedding dimension for this provider.

Source

fn embed(&self, text: &str) -> Result<Embedding>

Generate an embedding for a single text.

Provided Methods§

Source

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

Generate embeddings for multiple texts (batch). Default implementation calls embed() for each text.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§