mem0简介
mem0(发音为"mem-zero")是一个为AI助手和代理提供智能记忆层的开源项目,旨在实现个性化的AI交互。它能够记住用户偏好,适应个人需求,并随着时间不断改进,非常适合客户支持聊天机器人、AI助手和自主系统等应用场景。
核心特性
- 多层次记忆:支持用户、会话和AI代理的记忆保留
- 自适应个性化:基于交互不断改进
- 开发者友好的API:易于集成到各种应用中
- 跨平台一致性:在不同设备上保持统一行为
- 托管服务:提供无忧的托管解决方案
工作原理
mem0采用混合数据库方法来管理和检索AI代理和助手的长期记忆。每个记忆都与唯一标识符(如用户ID或代理ID)关联,使mem0能够组织和访问特定个人或上下文的记忆。
当使用add()方法向mem0添加消息时,系统会提取相关事实和偏好,并将其存储在向量数据库、键值数据库和图数据库中。这种混合方法确保了不同类型的信息以最有效的方式存储,使后续搜索快速有效。
当AI代理或LLM需要回忆记忆时,它会使用search()方法。mem0会在这些数据存储中执行搜索,从每个源检索相关信息。然后,这些信息会通过评分层,根据相关性、重要性和时效性评估其重要性,确保只有最个性化和有用的上下文信息被提取出来。
检索到的记忆可以根据需要附加到LLM的提示中,增强其回应的个性化程度和相关性。
使用场景
mem0可以增强以下应用场景:
- AI助手和代理:实现无缝对话,带来似曾相识的体验
- 个性化学习:提供定制内容推荐和进度跟踪
- 客户支持:基于用户偏好记忆提供上下文感知的协助
- 医疗保健:管理患者病史和治疗计划
- 虚拟伴侣:通过对话记忆建立更深层次的用户关系
- 生产力工具:基于用户习惯和任务历史简化工作流程
- 游戏:根据玩家选择和进度打造自适应环境
快速上手
最简单的方法是通过托管的Mem0平台设置mem0。这个托管解决方案提供自动更新、高级分析和专门支持。点击注册即可开始使用。
如果您更喜欢自托管,可以使用开源的mem0软件包。按照安装说明进行设置即可。
安装说明
通过pip安装mem0包:
pip install mem0ai
或者在托管平台上一键使用mem0。
基本用法
mem0需要LLM才能运行,默认使用OpenAI的gpt-4o
。但它支持多种LLM,详情请参阅支持的LLM文档。
首先实例化内存:
from mem0 import Memory
m = Memory()
# 设置OpenAI API密钥
import os
os.environ["OPENAI_API_KEY"] = "sk-xxx"
您可以对内存执行以下操作:
- 添加:从非结构化文本存储记忆
- 更新:更新给定memory_id的记忆
- 搜索:基于查询获取记忆
- 获取:返回特定用户/代理/会话的记忆
- 历史:描述特定memory ID的记忆随时间变化的情况
# 1. 添加记忆
result = m.add("我正在提高网球技能。推荐一些在线课程。", user_id="alice", metadata={"category": "hobbies"})
# 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["memories"][0]["id"] # 获取memory_id
# 5. 获取特定memory_id的历史记录
history = m.history(memory_id=<memory_id_1>)
图形记忆
要初始化图形记忆,您需要使用图存储提供程序设置配置。目前,我们支持Neo4j作为图存储提供程序。您可以在本地设置Neo4j或使用托管的Neo4j AuraDB。此外,您还需要将版本设置为v1.1
(不支持先前版本)。以下是设置方法:
from mem0 import Memory
config = {
"graph_store": {
"provider": "neo4j",
"config": {
"url": "neo4j+s://xxx",
"username": "neo4j",
"password": "xxx"
}
},
"version": "v1.1"
}
m = Memory.from_config(config_dict=config)
文档
有关详细使用说明和API参考,请访问我们的文档网站docs.mem0.ai。您可以在这里找到有关开源版本和托管Mem0平台的更多信息。
社区支持
加入我们的社区获取支持和参与讨论。如有任何问题,可以通过以下方式联系我们:
mem0是一个强大而灵活的AI记忆层工具,可以显著提升AI应用的个性化和智能程度。无论您是想构建更智能的聊天机器人、个性化学习助手,还是其他需要上下文感知的AI应用,mem0都能为您提供所需的智能记忆能力。希望这份学习资料汇总能帮助您快速上手使用mem0,开启AI应用的全新可能性!