mem0ai

    mem0ai/mem0

    #50 this week

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

    ai
    ai-agents
    llm
    agentic-memory
    agentic-memory-system
    agents
    chatgpt
    genai
    Python
    Apache-2.0
    65.7K stars
    7.7K forks
    65.7K GitHub watchers
    Updated 9/20/2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Use Cases & Benefits

    • Provides a universal memory layer that enables AI agents to retain and recall personalized, long-term user and session data for adaptive interactions.
    • Delivers significantly improved accuracy, faster response times, and reduced token usage compared to standard AI memory implementations, optimizing cost and performance.
    • Use for building AI assistants that maintain consistent, context-rich conversations by remembering user preferences and past interactions.
    • Use for customer support systems that recall historical tickets and user data to provide tailored and efficient help.
    • Use for healthcare applications to track patient history and preferences, enabling personalized care and follow-up.

    About mem0

    Mem0 - The Memory Layer for Personalized AI

    mem0ai%2Fmem0 | Trendshift

    Learn more · Join Discord · Demo · OpenMemory

    Mem0 Discord Mem0 PyPI - Downloads GitHub commit activity Package version Npm package Y Combinator S24

    📄 Building Production-Ready AI Agents with Scalable Long-Term Memory →

    ⚡ +26% Accuracy vs. OpenAI Memory • 🚀 91% Faster • 💰 90% Fewer Tokens

    🔥 Research Highlights

    • +26% Accuracy over OpenAI Memory on the LOCOMO benchmark
    • 91% Faster Responses than full-context, ensuring low-latency at scale
    • 90% Lower Token Usage than full-context, cutting costs without compromise
    • Read the full paper

    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:

    • Multi-Level Memory: Seamlessly retains User, Session, and Agent state with adaptive personalization
    • Developer-Friendly: Intuitive API, cross-platform SDKs, and a fully managed service option

    Applications:

    • AI Assistants: Consistent, context-rich conversations
    • Customer Support: Recall past tickets and user history for tailored help
    • Healthcare: Track patient preferences and history for personalized care
    • Productivity & Gaming: Adaptive workflows and environments based on user behavior

    🚀 Quickstart Guide

    Choose between our hosted platform or self-hosted package:

    Hosted Platform

    Get up and running in minutes with automatic updates, analytics, and enterprise security.

    1. Sign up on Mem0 Platform
    2. Embed the memory layer via SDK or API keys

    Self-Hosted (Open Source)

    Install the sdk via pip:

    pip install mem0ai
    

    Install sdk via npm:

    npm install mem0ai
    

    Basic Usage

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

    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, user_id=user_id, limit=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-4o-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

    • ChatGPT with Memory: Personalized chat powered by Mem0 (Live Demo)
    • Browser Extension: Store memories across ChatGPT, Perplexity, and Claude (Chrome Extension)
    • Langgraph Support: Build a customer bot with Langgraph + Mem0 (Guide)
    • CrewAI Integration: Tailor CrewAI outputs with Mem0 (Example)

    📚 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.

    Discover Repositories

    Search across tracked repositories by name or description