Skip to main content

Zero-LLM memory retrieval for AI agents — semantic search and deterministic heuristics

Project description

CoreMem

Zero-LLM memory retrieval for AI agents. CoreMem gives agents instant access to conversation history — semantic search plus deterministic retrieval heuristics, all without a single API call. Scores 98.0% R@5 on LongMemEval (500 questions) in the Executive Assistant retrieval stack — no LLM, no tuning, no cloud.

Embedded. Local. Open source. No external APIs, no vector DB services, no internet connection required. Runs entirely on-device with ChromaDB or HybridDB + sentence-transformers. Ships as a single Python package with zero infrastructure dependencies.

Dual-backend architecture. Drop-in backends (ChromaDB baseline, HybridDB enhanced) with the same API. Ranking pipeline: backend retrieval → deterministic heuristics → recency-aware rescoring → session-aware retrieval.

from coremem import MemoryCore
from coremem.backends.chroma import ChromaBackend

core = MemoryCore(backend=ChromaBackend(path="./memory"))

# Ingest conversation turns
core.ingest("user", "I visited the Museum of Modern Art today")
core.ingest("assistant", "That sounds wonderful! How was it?")
core.ingest("user", "I went to an Ancient Civilizations exhibition at the Natural History Museum")

# Search with deterministic heuristic reranking
results = core.search("When did I visit art museums?")

for r in results:
    print(f"[{r.memory.ts}] [{r.memory.role}] {r.memory.content}")

Why CoreMem?

Every AI agent needs memory. But cloud-based vector search is expensive, slow, and doesn't work offline. Pure embedding similarity misses keyword matches and temporal context. LLM-based memory systems cost tokens per query.

CoreMem solves all three:

Component What it does
Semantic search Embedding similarity via ChromaDB or HybridDB
Deterministic heuristics Keyword overlap, temporal recency, person-name boost, quoted-phrase matching
Session deduplication One result per conversation, with full context retrieval

LongMemEval Results (500 questions, no LLM, no tuning)

Metric Score
R@5 98.0%
R@10 98.4%
MRR 0.944
P@5 0.592
F1@5 0.684
Selectivity 11.5% haystack scanned
Rank distribution #1: 91.8%, #2-3: 5.0%, #4-5: 1.2%, #6-10: 0.4%, >10: 1.6%

Outperforms MemPalace raw (96.6%) and matches their hybrid v4 held-out (98.4%) — with zero tuning, zero dev-set peeking.

Installation

pip install coremem

With HybridDB backend for enhanced FTS5 + vector hybrid search:

pip install coremem[hybrid]

Core Concepts

Backends

# ChromaDB baseline — pure vector search
from coremem.backends.chroma import ChromaBackend
core = MemoryCore(backend=ChromaBackend(path="./data"))

# HybridDB enhanced — FTS5 + vector hybrid search
from coremem.backends.hybrid import HybridBackend
core = MemoryCore(backend=HybridBackend(path="./data"))

Ingestion

# Simple ingestion
core.ingest("user", "I built a Spitfire model kit", session_id="conv_001")

# Batch ingestion
from coremem import ingest_batch
ingest_batch(core, [
    ("user", "What's the weather today?"),
    ("assistant", "Sunny with a high of 72°F"),
], session_id="conv_001")

Search

# Basic search
results = core.search("How many model kits?", limit=10)

# Limit results
results = core.search("model building projects", limit=5)

Heuristics

Deterministic, zero-LLM scoring boosts applied to every result:

Heuristic What it catches
keyword_overlap Exact word matches between query and content
temporal_boost Queries with "latest", "current", "recently"
recency_decay Unconditional exponential decay (30-day half-life)
person_name_boost Proper name mentions in content
quoted_phrase_boost Exact phrase matches in quotes
from coremem import SearchHeuristics

# Apply all heuristics to a single result
score = SearchHeuristics.apply_all(
    query="latest project",
    content="Just finished the Q3 project report",
    score=0.75,
    ts="2026-05-28T10:00:00Z",
)

Wake-Up Context

Give the agent instant situational awareness:

context = core.wake_up(user_id="alice")
# Returns a compact string with L0 identity and L1 recent context.

License

MIT — see LICENSE.

Author

Eddy Vinck

CoreMem is the retrieval engine behind the Executive Assistant agent system. Pairs with HybridDB for storage and ConnectKit for real-time sync.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coremem-0.1.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coremem-0.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file coremem-0.1.0.tar.gz.

File metadata

  • Download URL: coremem-0.1.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coremem-0.1.0.tar.gz
Algorithm Hash digest
SHA256 19fff824615fedec8fbbccea3ae65e156422ce9e2e5e5b19bfeb2edbeccde6a2
MD5 0610c60f20b4bbf0e12f6cd102c57cd9
BLAKE2b-256 5c59f6e0fbf99571776e8d4b7bfd641d15875cb6615380d222d27cc81512ce81

See more details on using hashes here.

File details

Details for the file coremem-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: coremem-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coremem-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 14cf273a3a9e1d8a6dd2b54a127958cf673b00511aecbd1daa6e063b64890442
MD5 0df1c6aba8361aedc7205f7a9e8fd5af
BLAKE2b-256 36e2a7018d28c7eb690610e416835f1120aaaea52a4032372185c6b45f78cfe4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page