pub struct EmbeddingConfig {
pub model: Option<String>,
pub dimensions: Option<usize>,
pub auto_download: Option<bool>,
pub deterministic: Option<bool>,
}Expand description
Semantic-embedding engine settings.
model selects which local ONNX embedding model lean-ctx downloads and uses for
ctx_semantic_search. Accepts the same aliases as the LEAN_CTX_EMBEDDING_MODEL env
var: minilm (all-MiniLM-L6-v2, 384d — the default), nomic (768d) — or any
HuggingFace repo with an ONNX export via hf:org/repo[@revision] (GL #397), e.g.
hf:jinaai/jina-embeddings-v2-base-code for code-specialized embeddings. When the
env var is set it takes precedence; an
unset/None value uses the default model. Switching models triggers a one-time
re-index on the next semantic search (vector dimensions follow from the model).
dimensions is only consulted for hf: custom models as the declared fallback
width; the real width is probed from the ONNX graph at load time. Built-ins ignore it.
Fields§
§model: Option<String>§dimensions: Option<usize>§auto_download: Option<bool>Allow downloading the embedding model on first semantic need (#551).
None (unset) means allowed — the soft default that activates the
semantic features without manual setup. Set false for air-gapped
machines. The LEAN_CTX_EMBEDDINGS_AUTO_DOWNLOAD env var, when set,
overrides this in either direction.
deterministic: Option<bool>Pin embedding inference to a single CPU thread (no GPU EP) so vectors are
bit-identical across machines, not just run-to-run on one host (#895).
None/false keeps the multi-threaded GPU-capable path. Extractive prose
ranking is already deterministic via score quantization + stable tiebreak;
this flag is the extra hardening for cross-machine reproducibility. The
LEAN_CTX_EMBEDDING_DETERMINISTIC env var overrides this either way.
Trait Implementations§
Source§impl Clone for EmbeddingConfig
impl Clone for EmbeddingConfig
Source§fn clone(&self) -> EmbeddingConfig
fn clone(&self) -> EmbeddingConfig
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 EmbeddingConfig
impl Debug for EmbeddingConfig
Source§impl Default for EmbeddingConfig
impl Default for EmbeddingConfig
Source§fn default() -> EmbeddingConfig
fn default() -> EmbeddingConfig
Source§impl<'de> Deserialize<'de> for EmbeddingConfigwhere
EmbeddingConfig: Default,
impl<'de> Deserialize<'de> for EmbeddingConfigwhere
EmbeddingConfig: Default,
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>,
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
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>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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