pub enum EmbeddingBackend {
Mock(MockEmbeddingProvider),
TfIdf(TfIdfEmbeddingProvider),
Http(HttpEmbeddingProvider),
}Expand description
Enum dispatch for embedding providers.
Prefer using this enum over Arc<dyn EmbeddingProvider> trait objects.
It avoids dynamic dispatch overhead and is easier to reason about.
Variants§
Mock(MockEmbeddingProvider)
Mock provider for testing (deterministic hash-based embeddings)
TfIdf(TfIdfEmbeddingProvider)
TF-IDF based embedding provider (no external dependencies)
Http(HttpEmbeddingProvider)
HTTP provider calling an OpenAI-compatible /v1/embeddings endpoint
Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for EmbeddingBackend
impl !UnwindSafe for EmbeddingBackend
impl Freeze for EmbeddingBackend
impl Send for EmbeddingBackend
impl Sync for EmbeddingBackend
impl Unpin for EmbeddingBackend
impl UnsafeUnpin for EmbeddingBackend
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request