Introduction to REMem
REMem (Reasoning with Episodic Memory) is a retrieval-augmented generation system that organizes documents into a hybrid memory graph of entities, facts, and episodic gist traces. It combines dense retrieval with graph-based exploration to answer complex, multi-hop, and temporal questions over long-form text.What makes REMem unique?
Unlike traditional RAG systems that rely solely on semantic similarity, REMem mimics human episodic memory by:- Building hybrid memory graphs that connect entities, facts, and contextual traces
- Combining multiple retrieval signals including dense embeddings, graph exploration, and lexical search
- Supporting episodic gist traces for associative recall, similar to how humans remember experiences
- Handling temporal reasoning with specialized extraction for time-sensitive questions
Multi-hop reasoning
Answer questions that require connecting multiple pieces of information across documents through graph exploration
Episodic memory
Store and retrieve information using gist traces that capture the essence of experiences, not just facts
Temporal awareness
Handle time-sensitive queries with specialized extraction that emphasizes temporal anchors and relationships
Flexible extraction
Choose from multiple extraction methods: OpenIE for speed, episodic for context, or temporal for time-based reasoning
Key features
Hybrid memory architecture
REMem constructs a memory graph with multiple node types:- Entities: Named entities extracted from text
- Facts: Atomic units for embeddings and retrieval
- Gist traces: Paraphrased memories for associative recall
- Edges: Connections between gists, facts, and entities
Multiple extraction methods
Configure REMem’s extraction strategy based on your use case:openie— Entity + triple extraction (lean & fast)episodic— Episodic fact extraction with contextepisodic_gist— Adds paraphrased gist memories for associative recalltemporal— Emphasizes temporal anchors for time-sensitive QA
Advanced retrieval strategies
REMem’s retrieval pipeline combines:- Initial retrieval via semantic and lexical search for gists and facts
- Graph exploration using PageRank-based context finding
- Reranking with optional DSPy-based fact filtering
- Multi-step reasoning for complex queries
Extensible architecture
Every major component is pluggable:- Embedding models: OpenAI, NV-Embed-v2, GritLM, Qwen3
- LLM backends: OpenAI API, Azure, vLLM offline
- Retrieval strategies: Swap logic without rewriting orchestration
- Prompt templates: Centralized templates for extraction and QA
Use cases
REMem excels at:- Multi-hop question answering over large document collections
- Temporal reasoning about events and their relationships
- Long-form text comprehension with episodic memory
- Research applications requiring complex information retrieval
REMem was accepted at ICLR 2026. Read the full paper at arxiv.org/pdf/2602.13530
Get started
Quickstart
Get up and running with REMem in 5 minutes
Installation
Detailed installation instructions and requirements
Architecture overview
REMem’s architecture consists of several interconnected layers:| Layer | What it does | Key entry points |
|---|---|---|
| Orchestrator | Coordinates everything | remem/remem.py (ReMem class) |
| Preprocessing | Chunking & text cleanup | graph/preprocessing/ |
| Extraction | Text → entities / facts / episodic traces | information_extraction/ |
| Embeddings | Encode passages, entities, facts, summaries | embedding_model/, embedding_store.py |
| Graph Memory | Build + persist hybrid graph | ReMem (add_*, augment_graph) |
| Retrieval | Combines dense, fact, and graph signals | rag_strategies/ |
| Reranking | Optional DSPy filtering of facts | rerank.py |
| Prompting | Structured prompt templates per dataset | prompts/ |
| QA / Evaluation | Generate answers + metrics | remem.py + evaluation/ |
| Agent | Multi-step tool reasoning variants | agent/ |