Add your description here
Project description
AIMemoryOS
A powerful, modular, multi-store memory layer for conversational agents and LLM applications.
AIMemoryOS combines vector retrieval, graph knowledge bases, and highly-durable structured storage to give your AI agents a robust, scalable long-term memory that you can plug and play directly into your own applications.
Features
- Multi-Store Architecture: Coordinated state across SQLite (append-only events), DuckDB (canonical relational state), FAISS (vector similarity), and KuzuDB (graph relationships).
- Advanced Ingestion: End-to-end pipeline with preprocessing, PII stripping, SHA-256 deduplication, and semantic chunking.
- Rich Retrieval: Context assembly from multiple sources, reranking, and trace scoring.
- Coordinated Pruning: Safely
forget()memories with guaranteed cleanup across all storage backends without violating relational integrity. - Snapshotting: Take portable, verified SQLite backups of your system's event history instantly.
- Hallucination Firewall: Isolate "hypothesized" or "imagined" memories to separate tables so they don't pollute your agent's ground-truth recall.
Installation
[!IMPORTANT] Python Version Requirement: AIMemoryOS depends on heavy AI libraries (like SpaCy, NumPy, and PyTorch) that require pre-compiled C++ binaries. You must use a stable Python version (Python 3.10, 3.11, or 3.12) to install this package successfully. Pre-release or cutting-edge versions (like Python 3.13+) will fail to compile.
AIMemoryOS relies on powerful machine learning models under the hood. Make sure you have at least 2GB of free disk space before installing, as it will download heavy dependencies like PyTorch, FAISS, and HuggingFace Transformers.
Step-by-step Installation
Step 1: Create a safe virtual environment
We highly recommend using a virtual environment strictly locked to a stable Python version. We suggest using uv for incredibly fast and foolproof environment isolation:
# Create a Python 3.12 virtual environment
uv venv --python 3.12
Step 2: Activate the environment
- Windows (PowerShell):
.\.venv\Scripts\activate - Mac/Linux:
source .venv/bin/activate
Step 3: Install AIMemoryOS
Install the SDK directly from PyPI into your isolated environment:
uv pip install aimemoryos
(If you are using standard pip, simply run python -m pip install aimemoryos instead).
Step 4: Download the SpaCy language model weights
The aimemoryos package will automatically install the spacy library for you. However, you must explicitly download the actual English NLP model weights (which pip cannot bundle) used for entity extraction:
# If using uv:
uv run python -m spacy download en_core_web_sm
# If using standard python:
python -m spacy download en_core_web_sm
Quickstart (Plug & Play)
The easiest way to integrate AIMemoryOS into your codebase is by using the Memory facade. Simply import it into your application and start saving/retrieving knowledge.
import asyncio
from pathlib import Path
from aimemoryos import Memory
async def run():
# Initialize the high-level memory facade
memory = Memory()
# 1. Ingest information into the memory pipeline
print("Ingesting memory...")
await memory.save(
document_id="doc_001",
content="My favorite programming language is Python and I love pizza."
)
# 2. Retrieve relevant context based on semantic similarity
print("Retrieving context...")
results = await memory.retrieve(
query="What foods do I like?",
top_k=5,
score_threshold=0.2
)
# Results include the content, metadata, and relevance score
for r in results:
print(f"[{r['score']:.2f}] {r['metadata']['content']}")
# 3. Forget a memory across all stores (DuckDB, FAISS, Graph, SQLite)
if results:
memory_id = results[0]["metadata"]["memory_id"]
await memory.forget(memory_id=memory_id)
# 4. Take a verifiable snapshot of the entire event history
await memory.snapshot(output_path=Path("backups/memory_snapshot.sqlite"))
if __name__ == "__main__":
asyncio.run(run())
Configuration
By default, runtime databases and indexes are stored in the .aimemoryos/ folder at the root of the installed package. You can easily override this globally if you want your data saved elsewhere:
export AIMEMORYOS_DATA_DIR="/path/to/custom/data"
Architecture / Project Layout
For those interested in extending the SDK or contributing, the folder architecture is maintained as follows:
agents/: SDK-facing components. ContainsMemoryClient, which is the primary unified interface to the ecosystem.main.py: A lightweight, backwards-compatible wrapper aroundMemoryClientfor immediate plug-and-play.core/runtime.py: The composition root. Handles dependency injection, configuration, and instantiating storage/retrieval services.ingestion/: Text preprocessing, SHA deduplication, routing, and chunking boundaries.retrieval/: Similarity search, vector reranking, andContextBuilderlogic.storage/: Highly durable persistence backends (duckdb_store.py,faiss_store.py,sqlite_log.py) and theorchestrator.py.vector/: Embedding generation (sentence-transformers) and model management.graph/: KuzuDB ontology and schema definitions.
Contributing
We welcome contributions! To set up for local development:
git clone https://github.com/your-org/aimemoryos.git
cd aimemoryos
pip install -e .
pytest -q
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 aimemoryos-0.1.1.tar.gz.
File metadata
- Download URL: aimemoryos-0.1.1.tar.gz
- Upload date:
- Size: 80.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
caefbc9dd0070f046a7bbc33c122c7b3aefe9dcb374d1dcd970de92b000fab31
|
|
| MD5 |
c2d640a2d746c10ae7df2ba22e367a2e
|
|
| BLAKE2b-256 |
47ed5f0305c14a4325739eb549ef46b447c2ac99e55501e53c4fb607e6b626b2
|
File details
Details for the file aimemoryos-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aimemoryos-0.1.1-py3-none-any.whl
- Upload date:
- Size: 91.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78edbc030b5ff7efe7a82962c735d190e027432283ac97209fc42a008f378e9c
|
|
| MD5 |
cc56ce57bed241730b232c7a93452b3b
|
|
| BLAKE2b-256 |
cc7f60ec4bec64568b0cbd5c02bec57b9e5757628ab763d348ce0d289a972f8b
|