Trait rig::embeddings::EmbeddingModel

source ·
pub trait EmbeddingModel:
    Clone
    + Sync
    + Send {
    const MAX_DOCUMENTS: usize;

    // Required method
    fn embed_documents(
        &self,
        documents: Vec<String>,
    ) -> impl Future<Output = Result<Vec<Embedding>, EmbeddingError>> + Send;

    // Provided method
    fn embed_document(
        &self,
        document: &str,
    ) -> impl Future<Output = Result<Embedding, EmbeddingError>> + Send
       where Self: Sync { ... }
}
Expand description

Trait for embedding models that can generate embeddings for documents.

Required Associated Constants§

source

const MAX_DOCUMENTS: usize

The maximum number of documents that can be embedded in a single request.

Required Methods§

source

fn embed_documents( &self, documents: Vec<String>, ) -> impl Future<Output = Result<Vec<Embedding>, EmbeddingError>> + Send

Embed multiple documents in a single request

Provided Methods§

source

fn embed_document( &self, document: &str, ) -> impl Future<Output = Result<Embedding, EmbeddingError>> + Send
where Self: Sync,

Embed a single document

Object Safety§

This trait is not object safe.

Implementors§

source§

impl EmbeddingModel for rig::providers::cohere::EmbeddingModel

source§

const MAX_DOCUMENTS: usize = 96usize

source§

impl EmbeddingModel for rig::providers::openai::EmbeddingModel

source§

const MAX_DOCUMENTS: usize = 1_024usize