from ai_infra.llm.memory import MemoryStoreLong-term memory store with semantic search. Provides a simple interface for storing and retrieving memories with optional semantic search capabilities. Supports multiple storage backends: - In-memory (dev/testing) - SQLite (single-instance) - PostgreSQL (production) Memories are organized by namespace (tuple of strings) and key. Namespaces enable multi-user and multi-tenant storage.
from ai_infra.memory import MemoryStore
# Simple in-memory store
store = MemoryStore()
# With semantic search (requires embedding provider)
store = MemoryStore(
embedding_provider="openai",
embedding_model="text-embedding-3-small",
)
# Store user preferences
store.put(
namespace=("user_123", "preferences"),
key="language",
value={"preference": "User prefers Python"},
)
# Search memories
results = store.search(
("user_123", "preferences"),
query="what programming language",
limit=5,
)