====== Mem0 ======
**Mem0** is a universal, self-improving memory layer for AI agents and LLM applications that combines vector databases, knowledge graphs, and key-value stores into a hybrid datastore architecture. With over **51,000 GitHub stars**, Mem0 delivers 26% higher accuracy and 90% token savings compared to baselines like OpenAI Memory on the LOCOMO benchmark.
| **Repository** | [[https://github.com/mem0ai/mem0|github.com/mem0ai/mem0]] |
| **License** | Apache 2.0 |
| **Language** | Python |
| **Stars** | 51K+ |
| **Category** | Agent Memory Layer |
===== Key Features =====
* **Hybrid Datastore** -- Combines vector stores for similarity search, knowledge graphs for entity relationships, and key-value stores for metadata filtering
* **Multi-Level Memory** -- Short-term, long-term, user-scoped, session-scoped, and agent-scoped memory namespaces
* **Self-Improving** -- Dynamic consolidation and rolling summaries for coherent long-horizon reasoning
* **Graph Enhancement (Mem0g)** -- Entity-relation graphs for structured recall beyond vector similarity
* **LLM-Agnostic** -- Works with any LLM provider including OpenAI, Anthropic, and open-source models
* **Flexible Storage** -- Supports Qdrant, Pinecone, Milvus, Chroma, pgvector, Redis, and SQLite
===== Architecture =====
Mem0 employs a two-phase memory pipeline:
**Extraction Phase:** Ingests the latest user exchange, a rolling long-term summary, and the most recent messages. An LLM extracts concise candidate memories as salient factual phrases. For graph-enhanced Mem0g, an Entity Extractor identifies nodes and a Relations Generator infers labeled edges.
**Update Phase:** Consolidates memories asynchronously to maintain a coherent, non-redundant store. Background processes refresh summaries without stalling inference.
graph TB
subgraph Input["Input Processing"]
Msg[User Message]
Ctx[Conversation Context]
Sum[Rolling Summary]
end
subgraph Extract["Extraction Phase"]
LLM[LLM Extractor]
Entity[Entity Extractor]
Rel[Relations Generator]
end
subgraph Store["Hybrid Datastore"]
VS[(Vector Store)]
KG[(Knowledge Graph)]
KV[(Key-Value Store)]
end
subgraph Retrieve["Retrieval Phase"]
VecSearch[Vector Similarity]
GraphTraverse[Graph Traversal]
KVLookup[Key-Value Lookup]
Rank[Ranking and Fusion]
end
subgraph Output["Memory Output"]
Memories[Ranked Memories]
Context[Enriched Context]
end
Input --> Extract
LLM --> VS
Entity --> KG
Rel --> KG
Extract --> Store
Store --> Retrieve
VecSearch --> Rank
GraphTraverse --> Rank
KVLookup --> Rank
Rank --> Output
===== Memory Types =====
Mem0 supports multi-level namespaces for scoped persistence:
* **Short-term** -- Derived from recent messages; stored as atomic semantic facts to minimize size
* **Long-term** -- Consolidated facts across sessions using rolling summaries and graph structures
* **User-scoped** -- Isolated to individual user_id; stores preferences and history
* **Session-scoped** -- Temporary, conversation-specific memories
* **Agent-scoped** -- Global or shared facts across users and agents
===== Performance =====
On the LOCOMO benchmark:
* **Mem0**: 66.9% accuracy vs OpenAI Memory's 52.9%
* **Mem0g (graph-enhanced)**: 68.4% accuracy
* **p95 latency**: 1.44s (91% lower than baselines)
* **Token savings**: 90% compared to full-context RAG approaches
===== Code Example =====
from mem0 import Memory
config = {
"vector_store": {
"provider": "qdrant",
"config": {"host": "localhost", "port": 6333}
},
"llm": {
"provider": "openai",
"config": {"model": "gpt-4o", "temperature": 0}
}
}
m = Memory.from_config(config)
# Add memories from a conversation
m.add("I prefer Python for backend and React for frontend",
user_id="alice", metadata={"topic": "preferences"})
m.add("My current project uses FastAPI with PostgreSQL",
user_id="alice", metadata={"topic": "project"})
# Retrieve relevant memories
memories = m.search("What tech stack does Alice use?",
user_id="alice", limit=5)
for mem in memories:
print(f"[{mem['score']:.2f}] {mem['memory']}")
===== References =====
* [[https://github.com/mem0ai/mem0|Mem0 GitHub Repository]]
* [[https://mem0.ai|Mem0 Official Website]]
* [[https://mem0.ai/research|Mem0 Research Paper]]
* [[https://docs.mem0.ai|Mem0 Documentation]]
===== See Also =====
* [[qdrant|Qdrant]] -- Vector database backend for Mem0
* [[milvus|Milvus]] -- Alternative vector database backend
* [[chromadb|ChromaDB]] -- Lightweight embedding database
* [[dify|Dify]] -- Agentic workflow platform
* [[mcp_servers|MCP Servers]] -- MCP protocol for agent integrations