Python Docker FastAPI MongoDB Elasticsearch Milvus Ask DeepWiki License
Share EverMemOS Repository
Documentation β’ API Reference β’ Demo
Note
Join our AI Memory Hackathon! Build innovative applications, plugins, or infrastructure improvements powered by EverMemOS.
Tracks:
- Agent + Memory - Build intelligent agents with long-term, evolving memories
- Platform Plugins - Integrate EverMemOS with VSCode, Chrome, Slack, Notion, LangChain, and more
- OS Infrastructure - Optimize core functionality and performance
Get Started with the Hackathon Starter Kit
Join our Discord to find teammates and brainstorm ideas!
Table of Contents
- Welcome to EverMemOS
- Introduction
- Star and stay tuned with us
- Why EverMemOS
- Quick Start
- API Usage
- Demo
- Evaluation
- Documentation
- Questions
- Contributing
Welcome to EverMemOS! Join our community to help improve the project and collaborate with talented developers worldwide.
| Community | Purpose |
|---|---|
| Discord | Join our Discord community |
| Hugging Face Space | Join our Hugging Face community to explore our spaces and models |
| X | Follow updates on X |
| Connect with us on LinkedIn | |
| Join the Reddit community |
π¬ More than memory β it's foresight.
EverMemOS enables AI to not only remember what happened, but understand the meaning behind memories and use them to guide decisions. Achieving 93% reasoning accuracy on the LoCoMo benchmark, EverMemOS provides long-term memory capabilities for conversational AI agents through structured extraction, intelligent retrieval, and progressive profile building.
EverMemOS Architecture Overview
How it works: EverMemOS extracts structured memories from conversations (Encoding), organizes them into episodes and profiles (Consolidation), and intelligently retrieves relevant context when needed (Retrieval).
π Paper β’ π Vision & Overview β’ ποΈ Architecture β’ π Full Documentation
Latest: v1.2.0 with API enhancements + DB efficiency improvements (Changelog)
- π― 93% Accuracy - Best-in-class performance on LoCoMo benchmark
- π Production Ready - Enterprise-grade with Milvus vector DB, Elasticsearch, MongoDB, and Redis
- π§ Easy Integration - Simple REST API, works with any LLM
- π Multi-Modal Memory - Episodes, facts, preferences, relations
- π Smart Retrieval - BM25, embeddings, or agentic search
EverMemOS Benchmark Results
EverMemOS outperforms existing memory systems across all major benchmarks
- Python 3.10+ β’ Docker 20.10+ β’ uv package manager β’ 4GB RAM
Verify Prerequisites:
# Verify you have the required versions python --version # Should be 3.10+ docker --version # Should be 20.10+
# 1. Clone and navigate git clone https://github.com/EverMind-AI/EverMemOS.git cd EverMemOS # 2. Start Docker services docker-compose up -d # 3. Install uv and dependencies curl -LsSf https://astral.sh/uv/install.sh | sh uv sync # 4. Configure API keys cp env.template .env # Edit .env and set: # - LLM_API_KEY (for memory extraction) # - VECTORIZE_API_KEY (for embedding/rerank) # 5. Start server uv run python src/run.py --port 8001 # 6. Verify installation curl http://localhost:8001/health # Expected response: {"status": "healthy", ...}
β
Server running at http://localhost:8001 β’ Full Setup Guide
Store and retrieve memories with simple Python code:
import requests API_BASE = "http://localhost:8001/api/v1" # 1. Store a conversation memory requests.post(f"{API_BASE}/memories", json={ "message_id": "msg_001", "create_time": "2025-02-01T10:00:00+00:00", "sender": "user_001", "content": "I love playing soccer on weekends" }) # 2. Search for relevant memories response = requests.get(f"{API_BASE}/memories/search", json={ "query": "What sports does the user like?", "user_id": "user_001", "memory_types": ["episodic_memory"], "retrieve_method": "hybrid" }) result = response.json().get("result", {}) for memory_group in result.get("memories", []): print(f"Memory: {memory_group}")
π More Examples β’ π API Reference β’ π― Interactive Demos
# Terminal 1: Start the API server uv run python src/run.py --port 8001 # Terminal 2: Run the simple demo uv run python src/bootstrap.py demo/simple_demo.py
Try it now: Follow the Demo Guide for step-by-step instructions.
# Extract memories from sample data uv run python src/bootstrap.py demo/extract_memory.py # Start interactive chat with memory uv run python src/bootstrap.py demo/chat_with_memory.py
See the Demo Guide for details.
- Group Chat Conversations - Combine messages from multiple speakers
- Conversation Metadata Control - Fine-grained control over conversation context
- Memory Retrieval Strategies - Lightweight vs Agentic retrieval modes
- Batch Operations - Process multiple messages efficiently
| Guide | Description |
|---|---|
| Quick Start | Installation and configuration |
| Configuration Guide | Environment variables and services |
| API Usage Guide | Endpoints and data formats |
| Development Guide | Architecture and best practices |
| Memory API | Complete API reference |
| Demo Guide | Interactive examples |
| Evaluation Guide | Benchmark testing |
EverMemOS achieves 93% overall accuracy on the LoCoMo benchmark, outperforming comparable memory systems.
- LoCoMo - Long-context memory benchmark with single/multi-hop reasoning
- LongMemEval - Multi-session conversation evaluation
- PersonaMem - Persona-based memory evaluation
# Install evaluation dependencies uv sync --group evaluation # Run smoke test (quick verification) uv run python -m evaluation.cli --dataset locomo --system evermemos --smoke # Run full evaluation uv run python -m evaluation.cli --dataset locomo --system evermemos # View results cat evaluation/results/locomo-evermemos/report.txt
π Full Evaluation Guide β’ π Complete Results
EverMemOS is available on these AI-powered Q&A platforms. They can help you find answers quickly and accurately in multiple languages, covering everything from basic setup to advanced implementation details.
| Service | Link |
|---|---|
| DeepWiki | Ask DeepWiki |
We love open-source energy! Whether youβre squashing bugs, shipping features, sharpening docs, or just tossing in wild ideas, every PR moves EverMemOS forward. Browse Issues to find your perfect entry pointβthen show us what youβve got. Letβs build the future of memory together.
Tip
Welcome all kinds of contributions π
Join us in building EverMemOS better! Every contribution makes a difference, from code to documentation. Share your projects on social media to inspire others!
Connect with one of the EverMemOS maintainers @elliotchen200 on X or @cyfyifanchen on GitHub for project updates, discussions, and collaboration opportunities.
Read our Contribution Guidelines for code standards and Git workflow.
Apache 2.0 β’ Citation β’ Acknowledgments