pub struct InstrumentedEmbeddingModel {
pub inner: Arc<dyn EmbeddingModel>,
pub alias: String,
pub provider_id: String,
pub timeout: Option<Duration>,
pub retry: Option<RetryConfig>,
}Expand description
Wrapper around an EmbeddingModel that adds per-call timeout enforcement,
exponential-backoff retries for transient errors, and metrics emission
(model_inference.duration_seconds, model_inference.total).
Fields§
§inner: Arc<dyn EmbeddingModel>§alias: String§provider_id: String§timeout: Option<Duration>§retry: Option<RetryConfig>Trait Implementations§
Source§impl EmbeddingModel for InstrumentedEmbeddingModel
impl EmbeddingModel for InstrumentedEmbeddingModel
Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: Vec<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
texts: Vec<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Embed a batch of text strings into dense vectors. Read more
Source§fn dimensions(&self) -> u32
fn dimensions(&self) -> u32
The dimensionality of the embedding vectors produced by this model.
Auto Trait Implementations§
impl Freeze for InstrumentedEmbeddingModel
impl !RefUnwindSafe for InstrumentedEmbeddingModel
impl Send for InstrumentedEmbeddingModel
impl Sync for InstrumentedEmbeddingModel
impl Unpin for InstrumentedEmbeddingModel
impl !UnwindSafe for InstrumentedEmbeddingModel
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more