Open Source Features Fresh
Production-ready capabilities for self-hosted Mem0 deployments.
Feature Overview
| Feature | Description |
|---|---|
| Graph Memory | Store and recall entity relationships across multiple hops |
| Metadata Filtering | Query using logical operators with nested conditions |
| Search with Reranking | Enhanced relevance through specialized ranking models |
| Async Operations | Non-blocking calls for high-volume applications |
| Multimodal Support | Handle images, audio, and video as memory inputs |
| Custom Fact Extraction | Modify how text becomes structured facts |
| Custom Memory Updates | Apply personalized refinement instructions |
| REST API | HTTP-based integration for any language |
| OpenAI Compatibility | Drop-in replacement for OpenAI chat endpoints |
Graph Memory
Pairs vector embeddings with graph structures to preserve entity relationships.
Setup
bash
pip install "mem0ai[graph]"Configuration
python
from mem0 import Memory
config = {
"graph_store": {
"provider": "neo4j",
"config": {
"url": "bolt://localhost:7687",
"username": "neo4j",
"password": "password"
}
},
"vector_store": {
"provider": "qdrant",
"config": {
"collection_name": "memories",
"host": "localhost",
"port": 6333
}
}
}
memory = Memory.from_config(config)Supported Graph Backends
- Neo4j / Neo4j Aura (managed)
- Memgraph (Docker)
- AWS Neptune Analytics / Neptune DB
- Kuzu (embedded)
- Apache AGE (PostgreSQL extension)
Features
- Custom extraction prompts for entity/relationship extraction
- Confidence thresholds to filter low-confidence edges
- Per-request toggles for vector-only fallback
- Multi-agent organization using
user_id,agent_id,run_id
Metadata Filtering
python
results = memory.search(
"preferences",
user_id="alice",
filters={"category": {"in": ["food", "travel"]}}
)Async Operations
python
from mem0 import AsyncMemory
memory = AsyncMemory.from_config(config)
await memory.add(messages, user_id="alice")
results = await memory.search("preferences", user_id="alice")Multimodal Support
Pass images, audio, or video alongside text for memory extraction.
Custom Fact Extraction
python
config["custom_fact_extraction_prompt"] = """
Extract: goals, preferences, constraints
Exclude: greetings, filler, casual chat
Return JSON with key "facts" as list of strings.
"""
memory = Memory.from_config(config)REST API
Run Mem0 as an HTTP server for any language integration.
OpenAI Compatibility
Use Mem0 as a drop-in replacement for OpenAI's chat completions endpoint, with automatic memory management.