rag-plusplus-core
High-performance retrieval engine in Rust with SIMD-accelerated vector search and trajectory memory.
Features
- SIMD-accelerated vector distances - AVX2 optimized L2, cosine, inner product
- HNSW index - Approximate nearest neighbor search with configurable parameters
- Flat index - Exact brute-force search for small datasets
- Trajectory memory - 5D coordinate system (depth, sibling, homogeneity, temporal, complexity)
- Write-ahead log - Durable operations with checkpoint/recovery
- Query result caching - LRU cache with configurable TTL
- Product quantization - Memory-efficient vector compression (SQ8, PQ)
Quick Start
use ;
// Create an HNSW index for 768-dimensional vectors
let config = default;
let mut index = new;
// Add vectors
let record = new;
index.add?;
// Search for nearest neighbors
let query = vec!;
let results = index.search?;
for in results
Modules
| Module | Description |
|---|---|
index |
Vector indices (HNSW, Flat) with fusion strategies |
distance |
SIMD-optimized distance functions |
retrieval |
Query engine with reranking |
store |
Record storage trait and implementations |
trajectory |
5D trajectory coordinates, salience scoring, ring structures |
quantization |
Vector compression (SQ8, PQ) |
wal |
Write-ahead log for durability |
cache |
Query result caching |
filter |
Metadata filter expressions |
observability |
Metrics and tracing |
Feature Flags
parallel(default) - Enable rayon-based parallel processingsalience-debug- Enable debug logging for salience distribution
Benchmarks
Run benchmarks with:
Available benchmarks:
distance- Distance computation performanceindex- Index build/search performanceretrieval- Query engine latencyserialization- rkyv serialization throughputwal- Write-ahead log performance
License
MIT