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§
Sourcefn embed(&self, texts: &[String]) -> Result<Vec<Vec<f32>>, EmbeddingError>
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.