pub struct VectorConfig {
pub backend: VectorBackendKind,
pub strict: bool,
pub hnsw: Option<VectorHnswConfig>,
pub diskann: Option<VectorDiskAnnConfig>,
pub hybrid: Option<VectorHybridConfig>,
pub log_quantized: Option<LogQuantizedStubConfig>,
pub simd_distance: Option<SimdDistanceStubConfig>,
}Expand description
Unified vector search backend configuration.
Controls which backend is used for the ECC cognitive substrate’s vector search layer.
§Example TOML
[kernel.vector]
backend = "hybrid"
# Fail boot (instead of warning) if `backend` needs the `diskann`
# cargo feature and the binary wasn't built with it.
strict = false
[kernel.vector.hnsw]
ef_construction = 200
max_elements = 100000
[kernel.vector.diskann]
max_points = 10000000
data_path = ".weftos/diskann"
[kernel.vector.hybrid]
hot_capacity = 50000
promotion_threshold = 3Fields§
§backend: VectorBackendKindWhich backend to use.
strict: boolWhen true, boot fails with an error instead of silently falling
back to the brute-force stub if backend is DiskAnn/Hybrid but
the kernel was not compiled with the diskann cargo feature
(default: false — warn and continue with the degraded stub).
See clawft_kernel::vector_diskann module docs (WEFT-656).
hnsw: Option<VectorHnswConfig>HNSW-specific settings.
diskann: Option<VectorDiskAnnConfig>DiskANN-specific settings.
hybrid: Option<VectorHybridConfig>Hybrid-specific settings.
log_quantized: Option<LogQuantizedStubConfig>Logarithmic quantization settings (KG-011).
Runtime lives in clawft-kernel::vector_quantization (in-tree;
no longer blocked on RuVector#352).
simd_distance: Option<SimdDistanceStubConfig>Unified distance kernel settings (KG-012).
Runtime lives in clawft-kernel::vector_quantization (in-tree).
Trait Implementations§
Source§impl Clone for VectorConfig
impl Clone for VectorConfig
Source§fn clone(&self) -> VectorConfig
fn clone(&self) -> VectorConfig
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 VectorConfig
impl Debug for VectorConfig
Source§impl Default for VectorConfig
impl Default for VectorConfig
Source§fn default() -> VectorConfig
fn default() -> VectorConfig
Source§impl<'de> Deserialize<'de> for VectorConfig
impl<'de> Deserialize<'de> for VectorConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<VectorConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<VectorConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for VectorConfig
impl Serialize for VectorConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for VectorConfig
impl RefUnwindSafe for VectorConfig
impl Send for VectorConfig
impl Sync for VectorConfig
impl Unpin for VectorConfig
impl UnsafeUnpin for VectorConfig
impl UnwindSafe for VectorConfig
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
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