pub trait EmbeddingGenerator: Sync + Send {
// Required methods
fn model_type(&self) -> EmbeddingModelType;
fn set_model_type(&mut self, model_type: EmbeddingModelType);
fn box_clone(&self) -> Box<dyn EmbeddingGenerator>;
fn generate_embedding_blocking(
&self,
input_string: &str,
) -> Result<Vec<f32>, ZooEmbeddingError>;
fn generate_embeddings_blocking(
&self,
input_strings: &Vec<String>,
) -> Result<Vec<Vec<f32>>, ZooEmbeddingError>;
fn generate_embedding<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn generate_embeddings<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn generate_embedding_default_blocking(
&self,
input_string: &str,
) -> Result<Vec<f32>, ZooEmbeddingError> { ... }
fn generate_embeddings_blocking_default(
&self,
input_strings: &Vec<String>,
) -> Result<Vec<Vec<f32>>, ZooEmbeddingError> { ... }
fn generate_embedding_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn generate_embeddings_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Expand description
A trait for types that can generate embeddings from text.
Required Methods§
fn model_type(&self) -> EmbeddingModelType
fn set_model_type(&mut self, model_type: EmbeddingModelType)
fn box_clone(&self) -> Box<dyn EmbeddingGenerator>
Sourcefn generate_embedding_blocking(
&self,
input_string: &str,
) -> Result<Vec<f32>, ZooEmbeddingError>
fn generate_embedding_blocking( &self, input_string: &str, ) -> Result<Vec<f32>, ZooEmbeddingError>
Generates an embedding from the given input string, and assigns the provided id.
Sourcefn generate_embeddings_blocking(
&self,
input_strings: &Vec<String>,
) -> Result<Vec<Vec<f32>>, ZooEmbeddingError>
fn generate_embeddings_blocking( &self, input_strings: &Vec<String>, ) -> Result<Vec<Vec<f32>>, ZooEmbeddingError>
Generates embeddings from the given list of input strings and ids.
Sourcefn generate_embedding<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_embedding<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generates an embedding from the given input string, and assigns the provided id.
Sourcefn generate_embeddings<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_embeddings<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generates embeddings from the given list of input strings and ids.
Provided Methods§
Sourcefn generate_embedding_default_blocking(
&self,
input_string: &str,
) -> Result<Vec<f32>, ZooEmbeddingError>
fn generate_embedding_default_blocking( &self, input_string: &str, ) -> Result<Vec<f32>, ZooEmbeddingError>
Generate an Embedding for an input string, sets id to a default value of empty string.
Sourcefn generate_embeddings_blocking_default(
&self,
input_strings: &Vec<String>,
) -> Result<Vec<Vec<f32>>, ZooEmbeddingError>
fn generate_embeddings_blocking_default( &self, input_strings: &Vec<String>, ) -> Result<Vec<Vec<f32>>, ZooEmbeddingError>
Generate Embeddings for a list of input strings, sets ids to default.
Sourcefn generate_embedding_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_embedding_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_string: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<f32>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate an Embedding for an input string, sets id to a default value of empty string.
Sourcefn generate_embeddings_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_embeddings_default<'life0, 'life1, 'async_trait>(
&'life0 self,
input_strings: &'life1 Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, ZooEmbeddingError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate Embeddings for a list of input strings, sets ids to default
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".