Giter VIP home page Giter VIP logo

flexibleagenttool's Introduction

Mem0 Logo

Mem0 Slack Mem0 Discord Mem0 Twitter Y Combinator S24 mem0ai npm package mem0ai Python package on PyPi Mem0 newsletter

Mem0: The Memory Layer for Personalized AI

Mem0 provides an intelligent, adaptive memory layer for Large Language Models (LLMs), enhancing personalized AI experiences by retaining and utilizing contextual information across diverse applications. This enhanced memory capability is crucial for applications ranging from customer support and healthcare diagnostics to autonomous systems and personalized content recommendations, allowing AI to remember user preferences, adapt to individual needs, and continuously improve over time.

Note

The Mem0 repository now also includes the Embedchain project. We continue to maintain and support Embedchain ❀️. You can find the Embedchain codebase in the embedchain directory.

πŸš€ Quickstart

Installation

The Mem0 package can be installed directly from pip command in the terminal.

pip install mem0ai

Basic Usage (Open Source)

Mem0 supports various LLMs, details of which can be found in our docs, checkout Supported LLMs. By default, Mem0 is equipped with gpt-4o, and to use it, you need to set the keys in the environment variable.

import os
os.environ["OPENAI_API_KEY"] = "sk-xxx"

Now, you can simply initialize the memory.

from mem0 import Memory

m = Memory()

You can perform the following task on the memory.

  1. Add: adds memory
  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: describes how a memory has changed over time for a specific memory ID
# 1. Add: Store a memory from any unstructured text
result = 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 memory
result = 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 memories
related_memories = m.search(query="What are Alice's hobbies?", user_id="alice")

# Retrieved memory --> 'Likes to play tennis on weekends'
# 4. Get all memories
all_memories = m.get_all()
memory_id = all_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_id
history = 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 are looking for a hosted version and don't want to setup the infrastucture yourself, checkout Mem0 Platform Docs to get started in minutes.

πŸ”‘ 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

πŸ“– Documentation

For detailed usage instructions and API reference, visit our documentation at docs.mem0.ai.

πŸ”§ Advanced Usage

For production environments, you can use Qdrant as a vector store:

from mem0 import Memory

config = {
    "vector_store": {
        "provider": "qdrant",
        "config": {
            "host": "localhost",
            "port": 6333,
        }
    },
}

m = Memory.from_config(config)

πŸ—ΊοΈ Roadmap

  • Integration with various LLM providers
  • Support for LLM frameworks
  • Integration with AI Agents frameworks
  • Customizable memory creation/update rules
  • Hosted platform support

πŸ™‹β€β™‚οΈ Support

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

flexibleagenttool's People

Contributors

taranjeet avatar deshraj avatar cachho avatar deven298 avatar sidmohanty11 avatar dev-khant avatar aaishikdutta avatar sahilyadav902 avatar rupeshbansal avatar subhajit20 avatar prikshit7766 avatar misrasaurabh1 avatar aryankhanna475 avatar pranavpuranik avatar cclauss avatar infinite-wait avatar ianupamsingh avatar superman32432432 avatar juananpe avatar sw8fbar avatar patcher9 avatar gasolin avatar ahnedeee avatar vatsalrathod16 avatar maccuryj avatar sukkritsharmaofficial avatar sersamgy avatar rishiraj2594 avatar rayhanpatel avatar prashantdixit0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.