Docs

From your first Episodic Memory to production-grade memory in a single afternoon. Pick a section below — or jump straight into the playground if you prefer learning by doing.

CORE CONCEPTS

Episodic Memory

The contextual record of ingestion: a chat turn, document, tool trace, or event. Episodic Memory gets extracted into facts, entities, and relations.

Semantic Memory

The structured fact and preference outputs of extraction. Each Semantic Memory carries a kind, an embedding, confidence, and provenance back to source Episodic Memory.

Entity graph

Bi-temporal explorer infrastructure for people, organizations, and concepts. Facts have valid_at and invalid_at — stale beliefs are marked, not deleted.

Hybrid retrieval

Vector + graph + lexical search fan out in parallel. RRF fusion ranks the merged result set so the strongest signal wins.

API REFERENCE

POST /v1/episodic-memories

Ingest a single Episodic Memory. Returns an ID immediately; extraction happens asynchronously and you can poll status.

POST /v1/semantic-memories/search

Hybrid search across vector, graph, and lexical engines. Returns a fused, ranked list with per-method method scores.

GET /v1/entities

List entities for the current project, with relation counts and recent mention counts.

POST /v1/feedback

Tell MemLab a memory was wrong, partially right, or worth boosting. Feedback events drive the relevance pruner and the dedup layer.

OPERATIONS

Multi-tenancy

Org and project scopes are enforced four layers deep. Postgres RLS, per-project Qdrant collections, partition-keyed Kafka, and signed gateway claims.

Observability

Every request and every Kafka message is traced end to end. Performance budgets are hard limits — sub-50ms p99 for ingest, sub-200ms p99 for retrieval.

Audit trails

Every memory mutation is append-only. You can answer "where did this answer come from" down to the original turn and the model run.