base on Universal memory layer for AI Agents <p align="center"> <a href="https://github.com/mem0ai/mem0"> <img src="docs/images/banner-sm.png" width="800px" alt="Mem0 - The Memory Layer for Personalized AI"> </a> </p> <p align="center" style="display: flex; justify-content: center; gap: 20px; align-items: center;"> <a href="https://trendshift.io/repositories/11194" target="blank"> <img src="https://trendshift.io/api/badge/repositories/11194" alt="mem0ai%2Fmem0 | Trendshift" width="250" height="55"/> </a> </p> <p align="center"> <a href="https://mem0.ai">Learn more</a> Β· <a href="https://mem0.dev/DiG">Join Discord</a> Β· <a href="https://mem0.dev/demo">Demo</a> Β· <a href="https://mem0.dev/openmemory">OpenMemory</a> </p> <p align="center"> <a href="https://mem0.dev/DiG"> <img src="https://img.shields.io/badge/Discord-%235865F2.svg?&logo=discord&logoColor=white" alt="Mem0 Discord"> </a> <a href="https://pepy.tech/project/mem0ai"> <img src="https://img.shields.io/pypi/dm/mem0ai" alt="Mem0 PyPI - Downloads"> </a> <a href="https://github.com/mem0ai/mem0"> <img src="https://img.shields.io/github/commit-activity/m/mem0ai/mem0?style=flat-square" alt="GitHub commit activity"> </a> <a href="https://pypi.org/project/mem0ai" target="blank"> <img src="https://img.shields.io/pypi/v/mem0ai?color=%2334D058&label=pypi%20package" alt="Package version"> </a> <a href="https://www.npmjs.com/package/mem0ai" target="blank"> <img src="https://img.shields.io/npm/v/mem0ai" alt="Npm package"> </a> <a href="https://www.ycombinator.com/companies/mem0"> <img src="https://img.shields.io/badge/Y%20Combinator-S24-orange?style=flat-square" alt="Y Combinator S24"> </a> </p> <p align="center"> <a href="https://mem0.ai/research"><strong>πŸ“„ Building Production-Ready AI Agents with Scalable Long-Term Memory β†’</strong></a> </p> <p align="center"> <strong>⚑ +26% Accuracy vs. OpenAI Memory β€’ πŸš€ 91% Faster β€’ πŸ’° 90% Fewer Tokens</strong> </p> > **πŸŽ‰ mem0ai v1.0.0 is now available!** This major release includes API modernization, improved vector store support, and enhanced GCP integration. [See migration guide β†’](MIGRATION_GUIDE_v1.0.md) ## πŸ”₯ 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](https://mem0.ai/research) # Introduction [Mem0](https://mem0.ai) ("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 <a name="quickstart"></a> 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](https://app.mem0.ai) 2. Embed the memory layer via SDK or API keys ### Self-Hosted (Open Source) Install the sdk via pip: ```bash pip install mem0ai ``` Install sdk via npm: ```bash npm install mem0ai ``` ### Basic Usage Mem0 requires an LLM to function, with `gpt-4.1-nano-2025-04-14 from OpenAI as the default. However, it supports a variety of LLMs; for details, refer to our [Supported LLMs documentation](https://docs.mem0.ai/components/llms/overview). First step is to instantiate the memory: ```python 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-4.1-nano-2025-04-14", 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](https://docs.mem0.ai/quickstart) and [API Reference](https://docs.mem0.ai/api-reference). ## πŸ”— Integrations & Demos - **ChatGPT with Memory**: Personalized chat powered by Mem0 ([Live Demo](https://mem0.dev/demo)) - **Browser Extension**: Store memories across ChatGPT, Perplexity, and Claude ([Chrome Extension](https://chromewebstore.google.com/detail/onihkkbipkfeijkadecaafbgagkhglop?utm_source=item-share-cb)) - **Langgraph Support**: Build a customer bot with Langgraph + Mem0 ([Guide](https://docs.mem0.ai/integrations/langgraph)) - **CrewAI Integration**: Tailor CrewAI outputs with Mem0 ([Example](https://docs.mem0.ai/integrations/crewai)) ## πŸ“š Documentation & Support - Full docs: https://docs.mem0.ai - Community: [Discord](https://mem0.dev/DiG) Β· [Twitter](https://x.com/mem0ai) - Contact: [email protected] ## Citation We now have a paper you can cite: ```bibtex @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](https://github.com/mem0ai/mem0/blob/main/LICENSE) file for details.", Assign "at most 3 tags" to the expected json: {"id":"11194","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"