Skip to main content

EmbeddingProvider

Trait EmbeddingProvider 

Source
pub trait EmbeddingProvider {
    // Required methods
    fn model(&self) -> &str;
    fn dim(&self) -> usize;
    fn max_input_tokens(&self) -> Option<u32>;
    fn embed(&self, texts: &[String]) -> Result<Vec<Vec<f32>>, Error>;

    // Provided method
    fn embed_query(&self, query: &str) -> Result<Vec<f32>, Error> { ... }
}
Expand description

An embedding model: an external process or endpoint (see crate::external) or, in a runner, the FixtureEmbedder.

Required Methods§

Source

fn model(&self) -> &str

The model name the cache is keyed by.

Source

fn dim(&self) -> usize

The vector length written to dim.

Source

fn max_input_tokens(&self) -> Option<u32>

The model’s input limit in tokens, when it reports one (§2.4).

Source

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

Embed a batch of inputs → one float32 vector per input.

Provided Methods§

Source

fn embed_query(&self, query: &str) -> Result<Vec<f32>, Error>

Embed a bare query string (no context prefix).

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§