Expand description
Vector operations and utilities for RAG system
This module provides high-performance vector operations essential for similarity search and embedding manipulation in the RAG system.
§Core Operations
- Similarity Metrics: Cosine similarity for measuring vector similarity
- Distance Metrics: L2 (Euclidean) distance for spatial relationships
- Vector Algebra: Dot product, normalization, and comparison operations
§Performance Characteristics
All operations in this module are optimized for hot-path performance:
- Functions are marked with inline hints for small vectors
- Efficient iterator usage for auto-vectorization
- Minimal allocations and cache-friendly access patterns
- SIMD acceleration with runtime CPU detection (3-4x speedup)
§SIMD Acceleration
The module automatically uses SIMD instructions when available:
- x86_64: AVX2, SSE2, or scalar fallback
- ARM: NEON or scalar fallback
- Runtime detection ensures optimal performance on any CPU
Use the *_auto() functions for automatic SIMD/scalar selection:
use foxstash_core::vector::{cosine_similarity_auto, dot_product_auto};
let a = vec![1.0; 384];
let b = vec![2.0; 384];
// Automatically uses SIMD if available
let similarity = cosine_similarity_auto(&a, &b).unwrap();
let dot = dot_product_auto(&a, &b).unwrap();§Usage
use foxstash_core::vector::ops::{cosine_similarity, normalize};
let mut embedding = vec![1.0, 2.0, 3.0];
normalize(&mut embedding);
let query = vec![0.6, 0.8, 0.0];
let similarity = cosine_similarity(&embedding, &query).unwrap();Re-exports§
pub use ops::approx_equal;pub use ops::cosine_similarity;pub use ops::dot_product;pub use ops::l2_distance;pub use ops::normalize;pub use simd::cosine_distance_prenorm;pub use simd::cosine_similarity_simd;pub use simd::dot_product_simd;pub use simd::l2_distance_simd;pub use simd::norm_simd;
Modules§
- ops
- Vector operations for RAG system
- product_
quantize - Product Quantization (PQ) for extreme compression
- quantize
- Vector quantization for memory-efficient storage
- simd
- SIMD-accelerated vector operations
Functions§
- cosine_
similarity_ auto - Automatically selects between SIMD and scalar cosine similarity.
- dot_
product_ auto - Automatically selects between SIMD and scalar dot product.
- l2_
distance_ auto - Automatically selects between SIMD and scalar L2 distance.