8000 GitHub - Dev-Khant/embedchain: Framework to easily create LLM powered bots over any dataset.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Dev-Khant/embedchain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mem0: Long-Term Memory for LLMs

Mem0 provides a smart, self-improving memory layer for Large Language Models, enabling personalized AI experiences across applications.

Features

  • Persistent memory for users, sessions, and agents
  • Self-improving personalization
  • Simple API for easy integration
  • Cross-platform consistency

Quick Start

Installation

pip install mem0ai

Usage

Instantiate

from mem0 import Memory

m = Memory()

If you want to use Qdrant in server mode, use the following method to instantiate.

Run qdrant first:

docker pull qdrant/qdrant

docker run -p 6333:6333 -p 6334:6334 \
    -v $(pwd)/qdrant_storage:/qdrant/storage:z \
    qdrant/qdrant

Then, instantiate memory with qdrant server:

from mem0 import Memory

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

m = Memory.from_config(config)

Store a Memory

m.add("Likes to play cricket over weekend", user_id="alex", metadata={"foo": "bar"})
# Output:
# [
#   {
#     'id': 'm1',
#     'event': 'add',
#     'data': 'Likes to play cricket over weekend'
#   }
# ]

# Similarly, you can store a memory for an agent
m.add("Agent X is best travel agent in Paris", agent_id="agent-x", metadata={"type": "long-term"})

Retrieve all memories

1. Get all memories

m.get_all()
# Output:
# [
#   {
#     'id': 'm1',
#     'text': 'Likes to play cricket over weekend',
#     'metadata': {
#       'data': 'Likes to play cricket over weekend'
#     }
#   },
#   {
#     'id': 'm2',
#     'text': 'Agent X is best travel agent in Paris',
#     'metadata': {
#       'data': 'Agent X is best travel agent in Paris'
#     }
#   }
# ]

2. Get memories for specific user

m.get_all(user_id="alex")

3. Get memories for specific agent

m.get_all(agent_id="agent-x")

4. Get memories for a user during an agent run

m.get_all(agent_id="agent-x", user_id="alex")

Retrieve a Memory

memory_id = "m1"
m.get(memory_id)
# Output:
# {
#   'id': '1',
#   'text': 'Likes to play cricket over weekend',
#   'metadata': {
#     'data': 'Likes to play cricket over weekend'
#   }
# }

Search for related memories

m.search(query="What is my name", user_id="deshraj")

Update a Memory

m.update(memory_id="m1", data="Likes to play tennis")

Get history of a Memory

m.history(memory_id="m1")
# Output:
# [
#   {
#     'id': 'h1',
#     'memory_id': 'm1',
#     'prev_value': None,
#     'new_value': 'Likes to play cricket over weekend',
#     'event': 'add',
#     'timestamp': '2024-06-12 21:00:54.466687',
#     'is_deleted': 0
#   },
#   {
#     'id': 'h2',
#     'memory_id': 'm1',
#     'prev_value': 'Likes to play cricket over weekend',
#     'new_value': 'Likes to play tennis',
#     'event': 'update',
#     'timestamp': '2024-06-12 21:01:17.230943',
#     'is_deleted': 0
#   }
# ]

Delete a Memory

Delete specific memory

m.delete(memory_id="m1")

Delete memories for a user or agent

m.delete_all(user_id="alex")
m.delete_all(agent_id="agent-x")

Delete all Memories

m.reset()

License

Apache License 2.0

About

Framework to easily create LLM powered bots over any dataset.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 69.1%
  • MDX 21.9%
  • Jupyter Notebook 6.1%
  • JavaScript 2.4%
  • Dockerfile 0.2%
  • Makefile 0.2%
  • Other 0.1%
0