Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
forked frommem0ai/mem0

The Memory layer for your AI apps

License

NotificationsYou must be signed in to change notification settings

JINO-ROHIT/mem0

 
 

Repository files navigation

Mem0 - The Memory Layer for Personalized AI

Launch

Learn more ·Join Discord

Mem0 DiscordMem0 PyPI - DownloadsPackage versionSupported Python versionsY Combinator S24

Introduction

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

New Feature: Introducing Graph Memory. Check out ourdocumentation.

Core Features

  • Multi-Level Memory: User, Session, and AI Agent memory retention
  • Adaptive Personalization: Continuous improvement based on interactions
  • Developer-Friendly API: Simple integration into various applications
  • Cross-Platform Consistency: Uniform behavior across devices
  • Managed Service: Hassle-free hosted solution

How Mem0 works?

Mem0 leverages a hybrid database approach to manage and retrieve long-term memories for AI agents and assistants. Each memory is associated with a unique identifier, such as a user ID or agent ID, allowing Mem0 to organize and access memories specific to an individual or context.

When a message is added to the Mem0 using add() method, the system extracts relevant facts and preferences and stores it across data stores: a vector database, a key-value database, and a graph database. This hybrid approach ensures that different types of information are stored in the most efficient manner, making subsequent searches quick and effective.

When an AI agent or LLM needs to recall memories, it uses the search() method. Mem0 then performs search across these data stores, retrieving relevant information from each source. This information is then passed through a scoring layer, which evaluates their importance based on relevance, importance, and recency. This ensures that only the most personalized and useful context is surfaced.

The retrieved memories can then be appended to the LLM's prompt as needed, enhancing the personalization and relevance of its responses.

Use Cases

Mem0 empowers organizations and individuals to enhance:

  • AI Assistants and agents: Seamless conversations with a touch of déjà vu
  • Personalized Learning: Tailored content recommendations and progress tracking
  • Customer Support: Context-aware assistance with user preference memory
  • Healthcare: Patient history and treatment plan management
  • Virtual Companions: Deeper user relationships through conversation memory
  • Productivity: Streamlined workflows based on user habits and task history
  • Gaming: Adaptive environments reflecting player choices and progress

Get Started

The easiest way to set up Mem0 is through the managedMem0 Platform. This hosted solution offers automatic updates, advanced analytics, and dedicated support.Sign up to get started.

If you prefer to self-host, use the open-source Mem0 package. Follow theinstallation instructions to get started.

Installation Instructions

Install the Mem0 package via pip:

pip install mem0ai

Alternatively, you can use Mem0 with one click on the hosted platformhere.

Basic Usage

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

First step is to instantiate the memory:

frommem0importMemorym=Memory()
How to set OPENAI_API_KEY
importosos.environ["OPENAI_API_KEY"]="sk-xxx"

You can perform the following task on the memory:

  1. Add: Store a memory from any unstructured text
  2. Update: Update memory of a given memory_id
  3. Search: Fetch memories based on a query
  4. Get: Return memories for a certain user/agent/session
  5. History: Describe how a memory has changed over time for a specific memory ID
# 1. Add: Store a memory from any unstructured textresult=m.add("I am working on improving my tennis skills. Suggest some online courses.",user_id="alice",metadata={"category":"hobbies"})# Created memory --> 'Improving her tennis skills.' and 'Looking for online suggestions.'
# 2. Update: update the memoryresult=m.update(memory_id=<memory_id_1>,data="Likes to play tennis on weekends")# Updated memory --> 'Likes to play tennis on weekends.' and 'Looking for online suggestions.'
# 3. Search: search related memoriesrelated_memories=m.search(query="What are Alice's hobbies?",user_id="alice")# Retrieved memory --> 'Likes to play tennis on weekends'
# 4. Get all memoriesall_memories=m.get_all()memory_id=all_memories["memories"][0] ["id"]# get a memory_id# All memory items --> 'Likes to play tennis on weekends.' and 'Looking for online suggestions.'
# 5. Get memory history for a particular memory_idhistory=m.history(memory_id=<memory_id_1>)# Logs corresponding to memory_id_1 --> {'prev_value': 'Working on improving tennis skills and interested in online courses for tennis.', 'new_value': 'Likes to play tennis on weekends' }

Tip

If you prefer a hosted version without the need to set up infrastructure yourself, check out theMem0 Platform to get started in minutes.

Graph Memory

To initialize Graph Memory you'll need to set up your configuration with graph store providers.Currently, we support Neo4j as a graph store provider. You can setupNeo4j locally or use the hostedNeo4j AuraDB.Moreover, you also need to set the version tov1.1 (prior versions are not supported).Here's how you can do it:

frommem0importMemoryconfig= {"graph_store": {"provider":"neo4j","config": {"url":"neo4j+s://xxx","username":"neo4j","password":"xxx"        }    },"version":"v1.1"}m=Memory.from_config(config_dict=config)

Documentation

For detailed usage instructions and API reference, visit our documentation atdocs.mem0.ai. Here, you can find more information on both the open-source version and the hostedMem0 Platform.

Star History

Star History Chart

Support

Join our community for support and discussions. If you have any questions, feel free to reach out to us using one of the following methods:

Contributors

Join ourDiscord community to learn about memory management for AI agents and LLMs, and connect with Mem0 users and contributors. Share your ideas, questions, or feedback in ourGitHub Issues.

We value and appreciate the contributions of our community. Special thanks to our contributors for helping us improve Mem0.

License

This project is licensed under the Apache 2.0 License - see theLICENSE file for details.

About

The Memory layer for your AI apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python71.4%
  • MDX17.9%
  • Jupyter Notebook8.5%
  • JavaScript1.9%
  • Dockerfile0.2%
  • Makefile0.1%

[8]ページ先頭

©2009-2025 Movatter.jp