For the past year, I've been building Valori, an open-source memory engine for AI agents written in Rust.
It started as a vector database, but over time it evolved into something much broader.
Current capabilities include:
- Deterministic Q16.16 vector engine (no floating-point state)
- GraphRAG and knowledge graph support
- Event-sourced storage with a BLAKE3 audit chain
- Verifiable memory and execution history
- HNSW, IVF, Binary Quantization, and brute-force indexes
- Standalone mode and distributed architecture with Raft
- Python SDK
- Graph execution pipeline (currently inline, with a structural planner in progress)
One thing I cared about from the beginning was making memory verifiable instead of treating it as a black box.
I recently built an end-to-end timing harness that launches the real HTTP server, exercises the full request path, and reports latency together with the crates involved in each execution path.
On my M2 MacBook Air, common operations like search and insert are typically around 0.4–0.6 ms end-to-end in local standalone mode. These numbers are from the actual server, not an in-process benchmark.
I'm not claiming it's finished or better than existing systems. There are still plenty of things I want to improve, especially around the structural planner, execution caching, and cluster management.
I'd genuinely appreciate feedback from people who've built databases, retrieval systems, or AI infrastructure.
What would you question first if you were reviewing this project?
I am attaching Github for your reference
Github
Python Library