mem0ai/mem0

★ 65,312⑂ 0

The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.

65,312Star
0Fork
0Watch
0Issue
PythonLanguage
-License
Created · last push · repository size 0 KB · default branch -

README

https://github.com/mem0ai/mem0/blob/HEAD/Mem0 - The Memory Layer for Personalized AI

https://github.com/mem0ai/mem0/blob/HEAD/mem0ai%2Fmem0 | Trendshift

Learn more · Join Discord · Demo

https://github.com/mem0ai/mem0/blob/HEAD/Mem0 Discord https://github.com/mem0ai/mem0/blob/HEAD/Mem0 PyPI - Downloads https://github.com/mem0ai/mem0/blob/HEAD/GitHub commit activity https://github.com/mem0ai/mem0/blob/HEAD/Package version https://github.com/mem0ai/mem0/blob/HEAD/Npm package https://github.com/mem0ai/mem0/blob/HEAD/Y Combinator S24

📄 Benchmarking Mem0's token-efficient memory algorithm →

New Memory Algorithm (April 2026)

| Benchmark | Old | New | Tokens | Latency p50 | | --- | --- | --- | --- | --- | | LoCoMo | 71.4 | 92.5 | 7.0K | 0.88s | | LongMemEval | 67.8 | 94.4 | 6.8K | 1.09s | | BEAM (1M) | — | 64.1 | 6.7K | 1.00s | | BEAM (10M) | — | 48.6 | 6.9K | 1.05s |

All benchmarks run on the same production-representative model stack. Single-pass retrieval (one call, no agentic loops) at a top_200 retrieval budget. Scores reflect Mem0's managed platform, which includes proprietary optimizations not available in the open-source SDK; open-source users should expect directionally similar gains but not identical numbers.

What changed:

See the migration guide for upgrade instructions. The evaluation framework is open-sourced so anyone can reproduce the numbers.

Research Highlights

Introduction

Mem0 ("mem-zero") enhances AI assistants and agents with an intelligent memory layer, enabling personalized AI interactions. It remembers user preferences, adapts to individual needs, and continuously learns over time—ideal for customer support chatbots, AI assistants, and autonomous systems.

Key Features & Use Cases

Core Capabilities:

Applications:

🚀 Quickstart Guide

Sign up as an agent

AI agents can mint a working Mem0 API key in under five seconds — no email, no dashboard, no OTP. Four commands end-to-end:

# 1. Install
npm install -g @mem0/cli      # or: pip install mem0-cli

2. Sign up as an agent (replace claude-code with your name)

mem0 init --agent --agent-caller claude-code

3. Add a memory

mem0 add "I am using mem0"

4. Search

mem0 search "am I using mem0"

The human owner can claim the account later with mem0 init --email — same key, memories preserved. Full guide: Sign up as an agent.

| | Library | Self-Hosted Server | Cloud Platform | |---|---------|-------------------|----------------| | Best for | Testing, prototyping | Teams running on their own infrastructure | Zero-ops production use | | Setup | pip install mem0ai | docker compose up | Sign up at app.mem0.ai | | Dashboard | -- | Yes | Yes | | Auth & API Keys | -- | Yes | Yes | | Advanced Features | -- | Teasers | All included |

Just testing? Use the library. Building for a team? Self-hosted. Want zero ops? Cloud.

Library (pip / npm)

pip install mem0ai

For enhanced hybrid search with BM25 keyword matching and entity extraction, install with NLP support:

pip install mem0ai[nlp]
python -m spacy download en_core_web_sm

Install sdk via npm:

npm install mem0ai

Self-Hosted Server

Note: Self-hosted auth is on by default. Upgrading from a pre-auth build? Set ADMIN_API_KEY, register an admin through the wizard, or AUTH_DISABLED=true for local dev only. See upgrade notes.
# Recommended: one command — start the stack, create an admin, issue the first API key.
cd server && make bootstrap

Manual: start the stack and finish setup via the browser wizard.

cd server && docker compose up -d # http://localhost:3000

See the self-hosted docs for configuration.

Cloud Platform

1. Sign up on Mem0 Platform 2. Embed the memory layer via SDK or API keys 3. Using hosted Qdrant vectors? See the Platform migration guide to import them into Mem0 Platform.

CLI

Manage memories from your terminal:

npm install -g @mem0/cli   # or: pip install mem0-cli

mem0 init mem0 add "Prefers dark mode and vim keybindings" --user-id alice mem0 search "What does Alice prefer?" --user-id alice

See the CLI documentation for the full command reference.

Agent Skills

Teach your AI coding assistant (Claude Code, Codex, Cursor, Windsurf, OpenCode, OpenClaw, and any tool that supports the skills standard) how to build with Mem0. Two categories:

Reference skills — always on (SDK knowledge loaded into the assistant's context):

npx skills add https://github.com/mem0ai/mem0 --skill mem0
npx skills add https://github.com/mem0ai/mem0 --skill mem0-cli
npx skills add https://github.com/mem0ai/mem0 --skill mem0-vercel-ai-sdk

Pipeline skills — run on demand (execute an end-to-end workflow in an existing repo):

npx skills add https://github.com/mem0ai/mem0 --skill mem0-integrate
npx skills add https://github.com/mem0ai/mem0 --skill mem0-test-integration
npx skills add https://github.com/mem0ai/mem0 --skill mem0-oss-to-platform

Use /mem0-integrate to wire Mem0 into an existing repo via a test-first pipeline, then /mem0-test-integration to verify. Use /mem0-oss-to-platform to migrate an existing project from Mem0 OSS to the hosted Platform SDK. See the skills catalog or Vibecoding with Mem0 for the full picture.

Basic Usage

Mem0 requires an LLM to function, with gpt-5-mini from OpenAI as the default. However, it supports a variety of LLMs; for details, refer to our Supported LLMs documentation.

Mem0 uses text-embedding-3-small from OpenAI as the default embedding model. For best results with hybrid search (semantic + keyword + entity boosting), we recommend using at least Qwen 600M or a comparable embedding model. See Supported Embeddings for configuration details.

First step is to instantiate the memory:

from openai import OpenAI
from mem0 import Memory

openai_client = OpenAI() memory = Memory()

def chat_with_memories(message: str, user_id: str = "default_user") -> str: # Retrieve relevant memories relevant_memories = memory.search(query=message, filters={"user_id": user_id}, top_k=3) memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])

# Generate Assistant response system_prompt = f"You are a helpful AI. Answer the question based on query and memories.\nUser Memories:\n{memories_str}" messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}] response = openai_client.chat.completions.create(model="gpt-5-mini", messages=messages) assistant_response = response.choices[0].message.content

# Create new memories from the conversation messages.append({"role": "assistant", "content": assistant_response}) memory.add(messages, user_id=user_id)

return assistant_response

def main(): print("Chat with AI (type 'exit' to quit)") while True: user_input = input("You: ").strip() if user_input.lower() == 'exit': print("Goodbye!") break print(f"AI: {chat_with_memories(user_input)}")

if __name__ == "__main__": main()

For detailed integration steps, see the Quickstart and API Reference.

🔗 Integrations & Demos

📚 Documentation & Support

Citation

We now have a paper you can cite:

@article{mem0,
  title={Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory},
  author={Chhikara, Prateek and Khant, Dev and Aryan, Saket and Singh, Taranjeet and Yadav, Deshraj},
  journal={arXiv preprint arXiv:2504.19413},
  year={2025}
}

⚖️ License

Apache 2.0 — see the LICENSE file for details.

More AI Agent Skills Trending projects

1

affaan-m / ECC

JavaScript★ 258,555⑂ 0
2

NousResearch / hermes-agent

Python★ 245,605⑂ 0
3

deepseek-ai / deepseek-harness

TypeScript★ 224,514⑂ 0
4

firecrawl / firecrawl

TypeScript★ 180,546⑂ 0
5

anthropics / skills

Python★ 176,366⑂ 0
6

langchain-ai / langchain

Python★ 146,352⑂ 0