pub trait EmbeddingProvider {
// Required methods
fn embed_batch(&self, texts: &[String]) -> Result<Vec<Vec<f32>>>;
fn dim(&self) -> usize;
// Provided method
fn embed(&self, text: &str) -> Result<Vec<f32>> { ... }
}Expand description
Trait for embedding providers.
Implementations can use local models (ONNX, sentence-transformers), remote APIs (Ollama, OpenAI), or deterministic hashing (for testing).