之前介绍了一下概览,今天来看下快速开始
很简单,基本上就是CRUD
安装
pip install mem0ai
基本使用
初始化
基础
from mem0 import Memory
m = Memory()
高级
如果是在生产环境使用,如下
运行 qdrant 服务
docker pull qdrant/qdrant
docker run -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage:z \
qdrant/qdrant
初始化
from mem0 import Memory
config = {
"vector_store": {
"provider": "qdrant",
"config": {
"host": "localhost",
"port": 6333,
}
},
}
m = Memory.from_config(config)
添加
# For a user
result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={
"category": "hobbies"})
print(result)
输出
[
{
'id': 'm1',
'event': 'add',
'data': 'Likes to play cricket on weekends'
}
]
获取
# Get all memories
all_memories = m.get_all()
print(all_memories)
输出
[
{
'id': 'm1',
'text': 'Likes to play cricket on weekends',
'metadata': {
'data': 'Likes to play cricket on weekends',
'category': 'hobbies'
}
},
# ... other memories ...
]
# Get a single memory by ID
specific_memory = m.get("m1")
print(specific_memory)
输出
{
'id': 'm1',
'text': 'Likes to play cricket on weekends',
'metadata': {
'data': 'Likes to play cricket on weekends',
'category': 'hobbies'
}
}
搜索
related_memories = m.search(query="What are Alice's hobbies?", user_id="alice")
print(related_memories)
输出
[
{
'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 ...
]
更新
result = m.update(memory_id="m1", data="Likes to play tennis on weekends")
print(result)
输出
{
'id': 'm1',
'event': 'update',
'data': 'Likes to play tennis on weekends'
}
历史
history = m.history(memory_id="m1")
print(history)
输出
[
{
'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
}
]
删除
m.delete(memory_id="m1") # Delete a memory
m.delete_all(user_id="alice") # Delete all memories
重置
m.reset() # Reset all memories