Quick Start

Get Mnemosyne v2.8.0 running in under 5 minutes. This guide covers installation, basic configuration, and your first memory operations — including entity extraction and temporal recall.

Prerequisites

  • Python 3.9 or higher
  • pip or uv package manager

Install

Install Mnemosyne with semantic search:

# Using pip
pip install mnemosyne-memory[embeddings]

# Using uv (faster)
uv pip install mnemosyne-memory[embeddings]
What [embeddings] gives you

The [embeddings] extra installs fastembed, which powers semantic vector search. With it, Mnemosyne can:

  • Match memories by meaning, not just keywords
  • Find "Italian food" when you search "pizza" (semantic similarity)
  • Combine vector + text scores for hybrid retrieval

Without [embeddings], you get FTS5 keyword search only.

Your First Memories

from mnemosyne import Mnemosyne

mem = Mnemosyne()

# Store a memory with entity extraction
mem.remember(
  "Alice prefers dark mode for the UI. She's the project lead.",
  extract_entities=True,
  importance=0.8,
)

# Store with LLM fact extraction
mem.remember(
  "The deadline was moved to June 15th.",
  extract=True,
)

# Temporal recall — find what happened recently
results = mem.recall("UI preferences", top_k=5)

for r in results:
  print(f"[{r['score']:.3f}] {r['content']}")

Configurable Retrieval

Mnemosyne v2 lets you tune scoring weights per query:

# Boost text matching over semantic similarity
results = mem.recall(
  "exact error code E501",
  vec_weight=20.0,
  fts_weight=60.0,
  importance_weight=20.0,
)

# Emphasize very recent memories
results = mem.recall(
  "what did we discuss today?",
  temporal_weight=0.6,
  temporal_halflife=24.0,  # 24-hour half-life
)

Memory Banks

Isolate memories for different projects or contexts:

# Create a bank for work projects
work_mem = Mnemosyne(bank="work")
work_mem.remember("Deployed v2.5.0 to staging.")

# Separate bank for personal
personal_mem = Mnemosyne(bank="personal")
personal_mem.remember("Dentist appointment on Friday.")

Optional: sqlite-vec for Performance

sqlite-vec is an optional performance boost for large datasets (100K+ memories). It moves vector similarity search into native C code inside SQLite. Without it, Mnemosyne uses an in-memory numpy fallback that works fine for most use cases.

pip install sqlite-vec

Verify Installation

Confirm everything is working:

python -c "import mnemosyne; print(mnemosyne.__version__)"
# Should print: 2.8.0

What's Next?