[AI Mem0] 快速开始:智能记忆管理,让你的数据活起来!

了解如何安装、初始化和使用 AI Mem0 进行增删查改的全面指南,从基础到高级配置,全面覆盖。

之前介绍了一下概览,今天来看下快速开始

很简单,基本上就是CRUD


安装

1
pip install mem0ai

基本使用

初始化

基础

1
2
from mem0 import Memory
m = Memory()

高级

如果是在生产环境使用,如下

运行 qdrant 服务

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

初始化

 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)

添加

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

输出

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

获取

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

输出

 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)

输出

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)

输出

 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 ...
]

更新

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

输出

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

历史

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

输出

 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
  }
]

删除

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

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

重置

1
m.reset() # Reset all memories