pub struct RuvectorCapabilities {
pub hnsw: bool,
pub attention: bool,
pub graph: bool,
pub gnn: bool,
pub sona: bool,
pub simd: bool,
pub parallel: bool,
pub quantization_level: u8,
pub max_efficient_dim: usize,
pub estimated_ops_per_sec: u64,
}Expand description
Ruvector capabilities flags
Indicates which Ruvector features are available at runtime.
Use detect() to get the current capabilities.
Fields§
§hnsw: boolHNSW index is available for approximate nearest neighbor search
attention: boolFlash Attention is available for efficient inference
graph: boolKnowledge graph is available for relationship learning
gnn: boolGraph neural networks are available for complex reasoning
sona: boolSONA learning framework is available
simd: boolSIMD acceleration is available
parallel: boolParallel processing is available
quantization_level: u8Quantization support level (0=none, 1=scalar, 2=int4, 3=product)
max_efficient_dim: usizeMaximum embedding dimension supported efficiently
estimated_ops_per_sec: u64Estimated ops/sec for 512-dim vectors
Implementations§
Source§impl RuvectorCapabilities
impl RuvectorCapabilities
Sourcepub fn detect() -> Self
pub fn detect() -> Self
Detect available Ruvector capabilities
This function probes the system to determine which features are available. Results are cached for subsequent calls.
§Example
use ruvllm::capabilities::RuvectorCapabilities;
let caps = RuvectorCapabilities::detect();
if caps.hnsw {
println!("HNSW indexing available");
}
if caps.attention {
println!("Flash Attention available");
}Sourcepub fn redetect() -> Self
pub fn redetect() -> Self
Force re-detection of capabilities
Note: This is generally not needed as capabilities don’t change at runtime. This function creates a new detection but cannot update the cached value.
Sourcepub fn full_intelligence(&self) -> bool
pub fn full_intelligence(&self) -> bool
Check if all intelligence features are available
Sourcepub fn graph_reasoning(&self) -> bool
pub fn graph_reasoning(&self) -> bool
Check if graph reasoning is available
Sourcepub fn recommended_batch_size(&self) -> usize
pub fn recommended_batch_size(&self) -> usize
Get recommended batch size based on capabilities
Sourcepub fn recommended_hnsw_params(&self) -> (usize, usize, usize)
pub fn recommended_hnsw_params(&self) -> (usize, usize, usize)
Get recommended HNSW parameters based on capabilities
Trait Implementations§
Source§impl Clone for RuvectorCapabilities
impl Clone for RuvectorCapabilities
Source§fn clone(&self) -> RuvectorCapabilities
fn clone(&self) -> RuvectorCapabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RuvectorCapabilities
impl Debug for RuvectorCapabilities
Source§impl Default for RuvectorCapabilities
impl Default for RuvectorCapabilities
Source§impl<'de> Deserialize<'de> for RuvectorCapabilities
impl<'de> Deserialize<'de> for RuvectorCapabilities
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>,
Source§impl PartialEq for RuvectorCapabilities
impl PartialEq for RuvectorCapabilities
Source§impl Serialize for RuvectorCapabilities
impl Serialize for RuvectorCapabilities
impl Copy for RuvectorCapabilities
impl Eq for RuvectorCapabilities
impl StructuralPartialEq for RuvectorCapabilities
Auto Trait Implementations§
impl Freeze for RuvectorCapabilities
impl RefUnwindSafe for RuvectorCapabilities
impl Send for RuvectorCapabilities
impl Sync for RuvectorCapabilities
impl Unpin for RuvectorCapabilities
impl UnwindSafe for RuvectorCapabilities
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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