pub struct EmbeddingConfig {
pub dimension: usize,
pub backend: String,
pub model: Option<String>,
pub fallback_to_hash: bool,
pub api_endpoint: Option<String>,
pub api_key: Option<String>,
pub cache_dir: Option<String>,
pub batch_size: usize,
}Expand description
Configuration for embedding generation
Fields§
§dimension: usizeDimension of the embedding vectors
backend: StringEmbedding backend: “hash”, “ollama”, “huggingface”, “openai”, “voyage”, “cohere”, “jina”, “mistral”, “together”, “onnx”, “candle”
model: Option<String>Model identifier (provider-specific)
- HuggingFace: “sentence-transformers/all-MiniLM-L6-v2”
- OpenAI: “text-embedding-3-small”
- Voyage: “voyage-3-large”
- Cohere: “embed-english-v3.0”
- Jina: “jina-embeddings-v3”
- Mistral: “mistral-embed”
- Together: “BAAI/bge-large-en-v1.5”
- Ollama: “nomic-embed-text”
fallback_to_hash: boolWhether to fallback to hash-based embeddings if primary backend fails
api_endpoint: Option<String>API endpoint for embeddings (if using external service)
api_key: Option<String>API key for external embedding service Can also be set via environment variables (OPENAI_API_KEY, VOYAGE_API_KEY, etc.)
cache_dir: Option<String>Cache directory for downloaded models (HuggingFace)
batch_size: usizeBatch size for processing multiple texts
Trait Implementations§
Source§impl Clone for EmbeddingConfig
impl Clone for EmbeddingConfig
Source§fn clone(&self) -> EmbeddingConfig
fn clone(&self) -> EmbeddingConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EmbeddingConfig
impl Debug for EmbeddingConfig
Source§impl<'de> Deserialize<'de> for EmbeddingConfig
impl<'de> Deserialize<'de> for EmbeddingConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EmbeddingConfig
impl RefUnwindSafe for EmbeddingConfig
impl Send for EmbeddingConfig
impl Sync for EmbeddingConfig
impl Unpin for EmbeddingConfig
impl UnsafeUnpin for EmbeddingConfig
impl UnwindSafe for EmbeddingConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more