Skip to main content

Embedder

Trait Embedder 

Source
pub trait Embedder: Send + Sync {
    // Required methods
    fn embed(&self, text: &str) -> Result<Vec<f32>>;
    fn dimensions(&self) -> usize;
    fn model_name(&self) -> &str;

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

Trait for embedding generators

Required Methods§

Source

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

Generate embedding for a single text

Source

fn dimensions(&self) -> usize

Get embedding dimensions

Source

fn model_name(&self) -> &str

Get model name

Provided Methods§

Source

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

Generate embeddings for multiple texts (batch)

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Embedder for OpenAIEmbedder

Available on crate feature openai only.
Source§

impl Embedder for TfIdfEmbedder