AI agent memory system — sub-millisecond hybrid search (FAISS vector + FTS5 keyword + RRF fusion), knowledge graph traversal, cognitive retention modeling, and auto-deduplication. Zero infrastructure.
Project description
Ariadne
Memory for AI agents. Sub-millisecond search. Zero infrastructure.
Quick Start
from arriadne import AriadneMemory
mem = AriadneMemory(db_path="memory.db", embedding_dim=384)
mem.remember("VPS has 4 cores, 8GB RAM", importance=0.8)
results = mem.recall("server specs", k=5)
pip install arriadne
Why
| Ariadne | Mnemosyne | Mem0 | ChromaDB | |
|---|---|---|---|---|
| Vector search | 0.89ms | 153ms | 12ms | 8ms |
| Hybrid search | ✅ RRF | ❌ | ❌ | ⚠️ basic |
| Knowledge graph | ✅ BFS | ⚠️ basic | ❌ | ❌ |
| Auto-dedup | ✅ MinHash | ❌ | ❌ | ❌ |
| Runs locally | ✅ | ✅ | ❌ | ✅ |
| No daemon | ✅ | ✅ | ❌ | ❌ |
Features
0.89ms Vector Search
FAISS-powered. 12× faster than sqlite-vec. Auto-upgrades from exact to approximate search as your data grows.
| Engine | 10K vectors |
|---|---|
| FAISS (Ariadne) | 0.89ms |
| sqlite-vec | 10.5ms |
Hybrid Retrieval
Vector similarity + BM25 keywords + graph traversal, fused with Reciprocal Rank Fusion. 90%+ recall@10 (with semantic embeddings).
results = mem.recall("how to deploy to production", k=5)
# Searches both "deploy" (keyword) and semantic similarity in parallel
Knowledge Graph
Typed entities and relationships with multi-hop traversal via SQLite recursive CTEs:
mem.add_edge("WebApp", "API", edge_type="depends_on")
mem.add_edge("API", "Database", edge_type="depends_on")
mem.graph("WebApp", hops=2) # → [API, Database]
Cognitive Retention
Ebbinghaus forgetting curve with stability growth on each access. Priority-weighted scoring from importance, recency, and access count. Memories strengthen with use, fade without it.
Auto-Deduplication
MinHash LSH catches near-duplicates at 1.25ms before they enter the system.
Performance
Benchmarked on a 4-core 8GB VPS, 10K memories, 384-dim embeddings:
| Operation | Latency |
|---|---|
| Vector search (FAISS) | 0.89ms |
| Keyword search (FTS5) | 1.74ms |
| Hybrid search (RRF) | 2.46ms |
| Dedup check (MinHash) | 1.25ms |
| Memory insert | |
| Graph traversal (3 hops) | 0.06ms |
Hermes Agent Integration
Ariadne works as a drop-in memory provider for Hermes Agent.
# Copy plugin
git clone https://github.com/kyssta-exe/Ariadne.git /tmp/ariadne-repo
cp -r /tmp/ariadne-repo/plugin ~/.hermes/plugins/ariadne
# Switch provider
hermes config set memory.provider ariadne
hermes restart
Full guide: ariadne.mantes.net/guide/hermes
Configuration
from arriadne import AriadneConfig, AriadneMemory
config = AriadneConfig(
db_path="memory.db",
embedding_dim=384,
faiss_type="auto", # auto | flat_ip | ivf_flat
dedup_threshold=0.8,
retention_half_life=86400, # 1 day
)
mem = AriadneMemory(config=config)
Documentation
License
MIT — see LICENSE.
Powered by Mantes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arriadne-0.1.3.tar.gz.
File metadata
- Download URL: arriadne-0.1.3.tar.gz
- Upload date:
- Size: 206.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91f761c2bd99f10fdff7fe88b0eaefd6ae7c0e5b4bf44fadedfe40318a84d10a
|
|
| MD5 |
763a2088d1999850f348524bc525cbb7
|
|
| BLAKE2b-256 |
2d83013f3df142ec37e51972f8ab32568b876ef2821596e1356ad4b8902cf933
|
File details
Details for the file arriadne-0.1.3-py3-none-any.whl.
File metadata
- Download URL: arriadne-0.1.3-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3439cb030570c97cdbc177c6a425eb39c44da990af64a0cb3fe0738b411bc537
|
|
| MD5 |
24038faea4926b7fc41a2f54c25a3c03
|
|
| BLAKE2b-256 |
d4bf6f2e60c8dfb8510aa2b39dad4f9f8cecffd1e72d1c02d4d29a50ede837f7
|