mem0ai

    mem0ai/mem0

    #969 this week

    Universal memory layer for AI Agents

    ai
    ai-agents
    llm
    agents
    application
    chatbots
    chatgpt
    genai
    Python
    Apache-2.0
    54.4K stars
    6.1K forks
    54.4K GitHub watchers
    Updated 5/4/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Mem0 provides a universal, intelligent memory layer for AI agents to enable personalized, context-rich interactions and long-term memory management.
    • Key features include multi-level memory (User, Session, Agent), cross-platform SDKs, API access, and support for various LLMs like GPT-4o-mini.
    • Strengths are +26% accuracy over OpenAI Memory, 91% faster responses, and 90% lower token usage; it may require integration with external LLMs.
    • Organizations can deploy Mem0 via a hosted platform or self-hosted SDK to enhance AI assistants, customer support, healthcare, and adaptive applications in production.
    • Ideal use cases include personalized AI assistants, customer support bots recalling past interactions, healthcare patient tracking, and adaptive productivity or gaming environments.

    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