pub struct SentenceTransformerGenerator { /* private fields */ }Expand description
Transformer-based embedding generator supporting multiple models
Implementations§
Source§impl SentenceTransformerGenerator
impl SentenceTransformerGenerator
pub fn new(config: EmbeddingConfig) -> Self
pub fn with_model_type( config: EmbeddingConfig, model_type: TransformerModelType, ) -> Self
Sourcepub fn roberta(config: EmbeddingConfig) -> Self
pub fn roberta(config: EmbeddingConfig) -> Self
Create a new RoBERTa model generator
Sourcepub fn distilbert(config: EmbeddingConfig) -> Self
pub fn distilbert(config: EmbeddingConfig) -> Self
Create a new DistilBERT model generator
Sourcepub fn multilingual_bert(config: EmbeddingConfig) -> Self
pub fn multilingual_bert(config: EmbeddingConfig) -> Self
Create a new multilingual BERT model generator
Sourcepub fn model_type(&self) -> &TransformerModelType
pub fn model_type(&self) -> &TransformerModelType
Get the current model type
Sourcepub fn model_details(&self) -> ModelDetails
pub fn model_details(&self) -> ModelDetails
Get detailed information about the current model
Sourcepub fn supports_language(&self, language_code: &str) -> bool
pub fn supports_language(&self, language_code: &str) -> bool
Check if the model supports a specific language
Sourcepub fn estimate_inference_time(&self, text_length: usize) -> u64
pub fn estimate_inference_time(&self, text_length: usize) -> u64
Get the estimated inference time for a given text length
Sourcepub fn model_size_mb(&self) -> usize
pub fn model_size_mb(&self) -> usize
Get the memory footprint of the model in MB
Sourcepub fn efficiency_rating(&self) -> f32
pub fn efficiency_rating(&self) -> f32
Get efficiency rating (higher is better/faster)
Trait Implementations§
Source§impl AsAny for SentenceTransformerGenerator
impl AsAny for SentenceTransformerGenerator
Source§impl EmbeddingGenerator for SentenceTransformerGenerator
impl EmbeddingGenerator for SentenceTransformerGenerator
Source§fn generate(&self, content: &EmbeddableContent) -> Result<Vector>
fn generate(&self, content: &EmbeddableContent) -> Result<Vector>
Generate embedding for content
Source§fn dimensions(&self) -> usize
fn dimensions(&self) -> usize
Get the embedding dimensions
Source§fn config(&self) -> &EmbeddingConfig
fn config(&self) -> &EmbeddingConfig
Get the model configuration
Source§fn generate_batch(&self, contents: &[EmbeddableContent]) -> Result<Vec<Vector>>
fn generate_batch(&self, contents: &[EmbeddableContent]) -> Result<Vec<Vector>>
Generate embeddings for multiple contents in batch
Auto Trait Implementations§
impl Freeze for SentenceTransformerGenerator
impl RefUnwindSafe for SentenceTransformerGenerator
impl Send for SentenceTransformerGenerator
impl Sync for SentenceTransformerGenerator
impl Unpin for SentenceTransformerGenerator
impl UnwindSafe for SentenceTransformerGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.