pub trait EmbeddingModelDyn: Sync + Send {
// Required methods
fn max_documents(&self) -> usize;
fn ndims(&self) -> usize;
fn embed_text<'a>(
&'a self,
text: &'a str,
) -> BoxFuture<'a, Result<Embedding, EmbeddingError>>;
fn embed_texts(
&self,
texts: Vec<String>,
) -> BoxFuture<'_, Result<Vec<Embedding>, EmbeddingError>>;
}