pub struct EmbeddingProviderConfig {
pub provider: String,
pub model: String,
pub api_key: Option<String>,
pub cache_dir: Option<String>,
pub batch_size: usize,
pub dimensions: Option<usize>,
}Expand description
Embedding provider configuration
Fields§
§provider: StringProvider type: “huggingface”, “openai”, “voyage”, “cohere”, “jina”, “mistral”, “together”
model: StringModel identifier
- HuggingFace: “sentence-transformers/all-MiniLM-L6-v2”
- OpenAI: “text-embedding-3-small” or “text-embedding-3-large”
- Voyage: “voyage-3-large”, “voyage-code-3”, etc.
- Cohere: “embed-english-v3.0”
- Jina: “jina-embeddings-v3”
- Mistral: “mistral-embed”
- Together: “BAAI/bge-large-en-v1.5”
api_key: Option<String>API key (for API providers) Can also be set via environment variables:
- OPENAI_API_KEY
- VOYAGE_API_KEY
- COHERE_API_KEY
- JINA_API_KEY
- MISTRAL_API_KEY
- TOGETHER_API_KEY
cache_dir: Option<String>Cache directory for downloaded models (HuggingFace) Default: ~/.cache/huggingface/hub
batch_size: usizeBatch size for processing multiple texts
dimensions: Option<usize>Embedding dimensions (read-only, determined by model)
Implementations§
Source§impl EmbeddingProviderConfig
impl EmbeddingProviderConfig
Sourcepub fn to_embedding_config(&self) -> Result<EmbeddingConfig>
pub fn to_embedding_config(&self) -> Result<EmbeddingConfig>
Convert TOML config to EmbeddingConfig
Sourcepub fn from_toml_file(path: impl Into<PathBuf>) -> Result<Self>
pub fn from_toml_file(path: impl Into<PathBuf>) -> Result<Self>
Load from TOML file
Trait Implementations§
Source§impl Clone for EmbeddingProviderConfig
impl Clone for EmbeddingProviderConfig
Source§fn clone(&self) -> EmbeddingProviderConfig
fn clone(&self) -> EmbeddingProviderConfig
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 EmbeddingProviderConfig
impl Debug for EmbeddingProviderConfig
Source§impl Default for EmbeddingProviderConfig
impl Default for EmbeddingProviderConfig
Source§impl<'de> Deserialize<'de> for EmbeddingProviderConfig
impl<'de> Deserialize<'de> for EmbeddingProviderConfig
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 EmbeddingProviderConfig
impl RefUnwindSafe for EmbeddingProviderConfig
impl Send for EmbeddingProviderConfig
impl Sync for EmbeddingProviderConfig
impl Unpin for EmbeddingProviderConfig
impl UnsafeUnpin for EmbeddingProviderConfig
impl UnwindSafe for EmbeddingProviderConfig
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