简介
Mem0(读作“mem-zero”)通过智能记忆层增强了AI助手和代理,使个性化AI交互成为可能。Mem0记住用户偏好,适应个人需求,并随着时间的推移不断改进,非常适合客户支持聊天机器人、AI助手和自主系统。
核心功能
- 多层记忆:用户、会话和AI代理的记忆保留
- 自适应个性化:基于交互的持续改进
- 开发者友好的API:轻松集成到各种应用程序
- 跨平台一致性:在各设备上保持统一行为
- 托管服务:无忧的托管解决方案
应用场景
Mem0帮助组织和个人提升以下领域:
- AI助手和代理:无缝对话,带有似曾相识的感觉
- 个性化学习:定制的内容推荐和进度跟踪
- 客户支持:具有用户偏好记忆的上下文感知支持
- 医疗保健:病史和治疗计划管理
- 虚拟伴侣:通过对话记忆深化用户关系
- 生产力:基于用户习惯和任务历史优化工作流程
- 游戏:根据玩家选择和进度进行自适应环境
快速入门
最简单的设置Mem0方式是通过托管的Mem0平台。此托管解决方案提供自动更新、先进的分析和专属支持。注册即可开始使用。
如果您更倾向于自行托管,可以使用开源的Mem0包。请按照安装指南开始操作。
安装指南
通过pip安装Mem0包:
pip install mem0ai
或者,您也可以通过点击此处直接在托管平台上使用Mem0 here。
基本用法
Mem0需要一个LLM才能运行,默认使用OpenAI的gpt-4o
。不过,它支持多种LLM,详情请参考我们的支持的LLM文档。
第一步是实例化记忆:
from mem0 import Memory
m = Memory()
如何设置OPENAI_API_KEY
import os
os.environ["OPENAI_API_KEY"] = "sk-xxx"
您可以对记忆执行以下操作:
- 添加:从任何非结构化文本中存储记忆
- 更新:更新给定memory_id的记忆
- 搜索:基于查询获取记忆
- 获取:返回某个用户/代理/会话的记忆
- 历史记录:描述特定memory_id的记忆随时间的变化
# 1. 添加:从任何非结构化文本中存储记忆
result = m.add("我正在提升我的网球技能。建议一些在线课程。", user_id="alice", metadata={"category": "爱好"})
# 创建的记忆 --> '提升她的网球技能。' 和 '寻找在线建议。'
# 2. 更新:更新记忆
result = m.update(memory_id=<memory_id_1>, data="喜欢在周末打网球")
# 更新后的记忆 --> '喜欢在周末打网球。' 和 '寻找在线建议。'
# 3. 搜索:搜索相关记忆
related_memories = m.search(query="Alice的爱好是什么?", user_id="alice")
# 检索到的记忆 --> '喜欢在周末打网球'
# 4. 获取所有记忆
all_memories = m.get_all()
memory_id = all_memories[0]["id"] # 获取一个memory_id
# 所有记忆项 --> '喜欢在周末打网球。' 和 '寻找在线建议。'
# 5. 获取特定memory_id的记忆历史记录
history = m.history(memory_id=<memory_id_1>)
# 与memory_id_1相关的日志 --> {'之前的值': '正在提升网球技能,并对网球的在线课程感兴趣。', '新值': '喜欢在周末打网球' }
[!提示] 如果您更倾向于无需自己搭建基础设施,请查看Mem0平台,在几分钟内即可开始使用。
文档
有关详细的使用说明和API参考,请访问我们的文档docs.mem0.ai。在这里,您可以找到更多关于开源版本和托管Mem0平台的信息。
Star历史
支持
加入我们的社区获得支持和讨论。如果您有任何问题,请通过以下方式联系我们:
贡献者
加入我们的Discord社区学习AI代理和LLM的记忆管理,并与Mem0用户和贡献者联系。在我们的GitHub Issues分享您的想法、问题或反馈。
我们重视并感谢社区贡献者的帮助,感谢您帮助我们改进Mem0。
许可证
本项目根据Apache 2.0许可证授权 - 详情请参阅LICENSE文件。