pub enum EmbeddingProvider {
Onnx,
Fastembed,
OpenAi,
OpenAiCompatible,
Ollama,
Mock,
}Expand description
Selects the backend used to generate embeddings.
Matches the Python SDK EMBEDDING_PROVIDER env var values so that a shared
.env file works without modification across both SDKs.
Variants§
Onnx
Local ONNX inference (existing engine). Equivalent to Python’s “fastembed” provider.
Fastembed
Alias for Onnx — accepts Python env files using EMBEDDING_PROVIDER=fastembed unchanged. Deserialized as Onnx internally.
OpenAi
OpenAI API or any OpenAI-compatible server (llama.cpp, vLLM, TEI, etc.). In Python, EMBEDDING_PROVIDER=openai uses LiteLLMEmbeddingEngine; in Rust we use a direct-HTTP engine. Both “openai” and “openai_compatible” map to the same engine.
OpenAiCompatible
Explicit alias for self-hosted OpenAI-compatible servers. Identical engine to OpenAi; exists so Python “openai_compatible” env files work unchanged.
Ollama
Ollama /api/embed endpoint (not OpenAI-compatible format).
Mock
Zero vectors; for testing. Activated by EMBEDDING_PROVIDER=mock or MOCK_EMBEDDING=true.
Trait Implementations§
Source§impl Clone for EmbeddingProvider
impl Clone for EmbeddingProvider
Source§fn clone(&self) -> EmbeddingProvider
fn clone(&self) -> EmbeddingProvider
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmbeddingProvider
impl Debug for EmbeddingProvider
Source§impl Default for EmbeddingProvider
impl Default for EmbeddingProvider
Source§fn default() -> EmbeddingProvider
fn default() -> EmbeddingProvider
Source§impl<'de> Deserialize<'de> for EmbeddingProvider
impl<'de> Deserialize<'de> for EmbeddingProvider
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for EmbeddingProvider
Source§impl PartialEq for EmbeddingProvider
impl PartialEq for EmbeddingProvider
Source§fn eq(&self, other: &EmbeddingProvider) -> bool
fn eq(&self, other: &EmbeddingProvider) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for EmbeddingProvider
impl Serialize for EmbeddingProvider
impl StructuralPartialEq for EmbeddingProvider
Auto Trait Implementations§
impl Freeze for EmbeddingProvider
impl RefUnwindSafe for EmbeddingProvider
impl Send for EmbeddingProvider
impl Sync for EmbeddingProvider
impl Unpin for EmbeddingProvider
impl UnsafeUnpin for EmbeddingProvider
impl UnwindSafe for EmbeddingProvider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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