[AI Mem0] Quick Start: Intelligent Memory Management to Bring Your Data to Life!

A comprehensive guide on how to install, initialize, and use AI Mem0 for CRUD operations, covering everything from basic to advanced configurations.

Previously, we introduced an overview. Today, let’s take a look at the quick start.

It’s straightforward, basically just CRUD.


Installation

1
pip install mem0ai

Basic Usage

Initialization

Basic

1
2
from mem0 import Memory
m = Memory()

Advanced

If used in a production environment, as follows

Run qdrant service

1
2
3
4
5
docker pull qdrant/qdrant

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

Initialization

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from mem0 import Memory

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

m = Memory.from_config(config)

Add

1
2
3
# For a user
result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})
print(result)

Output

1
2
3
4
5
6
7
[
  {
    'id': 'm1',
    'event': 'add',
    'data': 'Likes to play cricket on weekends'
  }
]

Get

1
2
3
# Get all memories
all_memories = m.get_all()
print(all_memories)

Output

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[
  {
    'id': 'm1',
    'text': 'Likes to play cricket on weekends',
    'metadata': {
      'data': 'Likes to play cricket on weekends',
      'category': 'hobbies'
    }
  },
  # ... other memories ...
]
1
2
3
# Get a single memory by ID
specific_memory = m.get("m1")
print(specific_memory)

Output

1
2
3
4
5
6
7
8
{
  'id': 'm1',
  'text': 'Likes to play cricket on weekends',
  'metadata': {
    'data': 'Likes to play cricket on weekends',
    'category': 'hobbies'
  }
}
1
2
related_memories = m.search(query="What are Alice's hobbies?", user_id="alice")
print(related_memories)

Output

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[
  {
    'id': 'm1',
    'text': 'Likes to play cricket on weekends',
    'metadata': {
      'data': 'Likes to play cricket on weekends',
      'category': 'hobbies'
    },
    'score': 0.85  # Similarity score
  },
  # ... other related memories ...
]

Update

1
2
result = m.update(memory_id="m1", data="Likes to play tennis on weekends")
print(result)

Output

1
2
3
4
5
{
  'id': 'm1',
  'event': 'update',
  'data': 'Likes to play tennis on weekends'
}

History

1
2
history = m.history(memory_id="m1")
print(history)

Output

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
[
  {
    'id': 'h1',
    'memory_id': 'm1',
    'prev_value': None,
    'new_value': 'Likes to play cricket on weekends',
    'event': 'add',
    'timestamp': '2024-07-14 10:00:54.466687',
    'is_deleted': 0
  },
  {
    'id': 'h2',
    'memory_id': 'm1',
    'prev_value': 'Likes to play cricket on weekends',
    'new_value': 'Likes to play tennis on weekends',
    'event': 'update',
    'timestamp': '2024-07-14 10:15:17.230943',
    'is_deleted': 0
  }
]

Delete

1
2
3
m.delete(memory_id="m1") # Delete a memory

m.delete_all(user_id="alice") # Delete all memories

Reset

1
m.reset() # Reset all memories

Built with Hugo
Theme Stack designed by Jimmy