引入
大家好我是一颗米,本节我们将进入Mem0 的多用户管理世界!在实际应用中,AI 系统往往需要同时服务成百上千的用户,每个用户都有其独特的背景、偏好和需求。Mem0 的多用户记忆管理系统让您能够轻松应对这一挑战,为每位用户维护独立的记忆空间,实现真正的个性化对话体验。本文档将详细介绍如何使用 Mem0 构建和管理一个支持多用户的智能记忆系统。
概述
本文档介绍如何使用 Mem0 系统管理多个用户的记忆。通过使用不同的 user_id
,我们可以为不同的用户存储和检索个性化的信息。
代码结构
1. 客户端初始化
from mem0 import MemoryClient
client = MemoryClient(
api_key="your_api_key"
)
2. 用户信息定义
# 用户 Alex 的信息
alex_messages = [
{"role": "user", "content": "Hi, I'm Alex. I'm a vegetarian and I'm allergic to nuts."}
]
# 用户 Sarah 的信息
sarah_messages = [
{"role": "user", "content": "Hello, I'm Sarah. I love spicy food and I'm on a keto diet."}
]
# 用户 Tom 的信息
tom_messages = [
{"role": "user", "content": "I'm Tom. I have diabetes and need to watch my sugar intake."}
]
3. 添加用户记忆
# 为每个用户添加记忆
client.add(alex_messages, user_id="alex")
client.add(sarah_messages, user_id="sarah")
client.add(tom_messages, user_id="tom")
4. 查询用户记忆
# 定义查询列表
queries = [
"What can I cook for dinner tonight?",
"What are some healthy snack options?",
"What should I avoid eating?"
]
# 为每个用户执行查询
for user_id in ["alex", "sarah", "tom"]:
for query in queries:
result = client.search(query, user_id=user_id)
用户信息说明
Alex 的信息
- 身份:素食者
- 限制:对坚果过敏
- 适用场景:需要避免肉类和坚果的饮食建议
Sarah 的信息
- 偏好:喜欢辣食
- 饮食计划:生酮饮食
- 适用场景:高脂肪、低碳水化合物的饮食建议
Tom 的信息
- 健康状况:糖尿病
- 限制:需要控制糖分摄入
- 适用场景:低糖饮食建议
使用说明
1. 添加新用户
- 定义用户信息
- 使用唯一的
user_id
- 调用
client.add()
添加记忆
2. 查询用户记忆
- 指定要查询的
user_id
- 提供查询内容
- 使用
client.search()
获取结果
3. 管理多个用户
- 每个用户使用独立的
user_id
- 可以同时管理多个用户的记忆
- 查询时指定对应的
user_id
注意事项
user_id
必须是唯一的- 每个用户的记忆是独立的
- 查询时必须指定正确的
user_id
- 系统会根据用户的具体情况提供个性化的建议
运行结果说明
运行代码后,系统会:
- 为每个用户添加记忆
- 对每个用户执行多个查询
- 返回个性化的建议
每个用户的查询结果会考虑其特定的:
- 饮食偏好
- 健康限制
- 个人需求
扩展应用
你可以:
- 添加更多用户
- 扩展用户信息
- 添加更多类型的查询
- 根据需求自定义输出格式