pub struct OpenAIEmbeddingGenerator { /* private fields */ }Expand description
OpenAI embeddings generator with rate limiting and retry logic
Implementations§
Source§impl OpenAIEmbeddingGenerator
impl OpenAIEmbeddingGenerator
pub fn new(openai_config: OpenAIConfig) -> Result<Self>
Sourcepub async fn generate_async(
&mut self,
content: &EmbeddableContent,
) -> Result<Vector>
pub async fn generate_async( &mut self, content: &EmbeddableContent, ) -> Result<Vector>
Generate embeddings with batching support
Sourcepub async fn generate_batch_async(
&mut self,
contents: &[EmbeddableContent],
) -> Result<Vec<Vector>>
pub async fn generate_batch_async( &mut self, contents: &[EmbeddableContent], ) -> Result<Vec<Vector>>
Generate embeddings for multiple texts in batch
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear the request cache
Sourcepub fn cache_stats(&self) -> (usize, Option<usize>)
pub fn cache_stats(&self) -> (usize, Option<usize>)
Get cache statistics
Sourcepub fn get_cache_cost(&self) -> f64
pub fn get_cache_cost(&self) -> f64
Get total cache cost
Sourcepub fn get_metrics(&self) -> &OpenAIMetrics
pub fn get_metrics(&self) -> &OpenAIMetrics
Get API usage metrics
Sourcepub fn reset_metrics(&mut self)
pub fn reset_metrics(&mut self)
Reset metrics
Trait Implementations§
Source§impl AsAny for OpenAIEmbeddingGenerator
impl AsAny for OpenAIEmbeddingGenerator
Source§impl EmbeddingGenerator for OpenAIEmbeddingGenerator
impl EmbeddingGenerator for OpenAIEmbeddingGenerator
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 OpenAIEmbeddingGenerator
impl !RefUnwindSafe for OpenAIEmbeddingGenerator
impl Send for OpenAIEmbeddingGenerator
impl Sync for OpenAIEmbeddingGenerator
impl Unpin for OpenAIEmbeddingGenerator
impl !UnwindSafe for OpenAIEmbeddingGenerator
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.