Mem0

为 AI 应用提供跨会话记忆写入与检索,支持开源库、自行托管和平台接入。

📅 收录: 2026-10-15 🔄 更新: 2026-10-15

Mem0 快速入门:先验证一条偏好,再接入长期记忆

这是什么?适合谁?

Mem0 是给 AI 助手与应用使用的记忆层。它把对话中值得保留的信息写入记忆,再在后续问题里检索相关内容,减少每轮都重新提交完整历史的需求。

它适合已经有聊天应用、需要跨会话保留偏好或任务背景的开发者。对于只有一次性问答的小脚本,先维护清晰的会话历史往往更简单,不必为了“有记忆”就引入额外组件。

记忆检索与生成答案是两个步骤:Mem0 找回信息,应用决定如何把信息交给模型。它不是可以替代身份认证、权限系统或事实核验的数据库魔法。

官方同时提供开源库、自行托管服务和 Cloud Platform。不同版本的能力与基准范围并不完全相同,不能把托管平台的成绩直接当作本机开源库成绩。

本文核验日期为 2026-10-15,主要依据官方 README。下文示例使用该版本公开的 Memory API 形式,升级时先核对迁移说明。

准备工作

  • 在独立 Python 虚拟环境试验,不要直接改生产聊天服务。
  • 使用合成偏好和测试用户 ID,不放真实姓名、联系方式、病史或客户工单。
  • 准备模型服务凭据;默认配置会用外部 LLM 与嵌入模型,不是安装后自动完全离线。
  • 本文使用 OPENAI_API_KEY 环境变量;如果改用其他提供方,需同时核对 LLM、嵌入与存储配置。
  • 初次实验不承诺具体花费,先在模型控制台设置用量边界,再处理少量测试文本。

三步快速上手

第一步:建立隔离环境

python -m venv .venv

macOS/Linux 激活方式:

source .venv/bin/activate

Windows PowerShell 激活方式:

.venv\Scripts\Activate.ps1

安装开源 Python 库:

python -m pip install mem0ai

注意包名是 mem0ai,Python 导入名是 mem0。官方 CLI 另有自己的安装方式,不要把 CLI 子命令和 Python 方法混用。

第二步:在环境变量中配置模型凭据

macOS/Linux 使用:

export OPENAI_API_KEY="替换为自己的模型密钥"

Windows PowerShell 使用:

$env:OPENAI_API_KEY="替换为自己的模型密钥"

不要把真实密钥复制进示例文件、截图或仓库。上述变量是当前终端的配置示例,不代表整个部署环境已经完成凭据管理。

第三步:写入并检索一条测试偏好

保存为 memory_demo.py:

from mem0 import Memory

memory = Memory()
user_id = "demo_user_001"

messages = [
    {"role": "user", "content": "I prefer vegetarian food."}
]
added = memory.add(messages, user_id=user_id)
print("写入响应:", added)

found = memory.search(
    query="What food does this user prefer?",
    filters={"user_id": user_id},
    top_k=3,
)
for item in found.get("results", []):
    print(item.get("id"), item.get("memory"))

运行:

python memory_demo.py

预期是写入响应之后,检索结果里出现与素食偏好相关的内容;具体字句与结果顺序可能随模型变化。这里的输出是成功判定说明,不是本站运行记录。

如果结果为空,先检查写入响应与模型错误,再确认写入和检索使用同一个用户 ID。不要通过去掉用户过滤来“修好”检索,那会引入跨用户数据混用风险。

初级用法

1. 每次都带上明确用户范围

示例的 user_id 是教学常量,生产环境应来自可信的登录身份映射。不能允许浏览器随意传入另一个人的 ID 再直接查询。

2. 先验证检索,再接生成模型

先打印返回的记忆 ID 与文本,确认内容正确,再把它们交给回答模型。否则最终回答错误时,很难分清是记忆提取、检索还是生成阶段的问题。

3. 只写入必要信息

把“回答风格偏好”与“原始客户对话全文”分开设计。并不是所有发言都值得长期保存,敏感信息和临时指令尤其需要排除。

高级玩法

1. 对照配置三层依赖

变更模型提供方时,同时检查 LLM、嵌入模型与向量存储。只替换聊天模型密钥,不代表嵌入请求也走了同一家服务。

2. 建立双用户隔离用例

给测试用户 A 写入素食偏好,给 B 写入不同偏好,分别查询并核对结果。除了单测检索成功,还要测试“另一个用户不能读到这条信息”。

3. 升级前固定回归样本

保留几组不含真实个人信息的合成对话,记录应保留与不应保留的事实。升级 SDK 或模型后复跑,比较召回、遗漏和错误记忆,而不是只比较 API 是否返回成功。

五个小技巧

  1. 给实验使用独立用户命名空间,避免测试文本混入正式记忆。
  2. 保存 SDK 版本和依赖锁文件,出现参数错误时先比对版本。
  3. 检索结果保留 ID,便于追踪某条回答究竟用了哪条记忆。
  4. 对时间敏感偏好标明时间背景,不把过去状态直接当作现在状态。
  5. 先做少量写入和查询,确认用量及内容边界后再接持续运行的助手。

常见踩坑

  • 踩坑 1:把开源当作零网络、零费用。 默认配置会调用模型与嵌入服务;检查请求去向和账户预算,不能只看代码许可。
  • 踩坑 2:装的是 mem0ai 却导入错名字。 官方 Python 示例使用 from mem0 import Memory;先确认虚拟环境和包版本。
  • 踩坑 3:直接复制旧版 search 参数。 当前 README 的示例使用 filters={"user_id": ...} 与 top_k;遇到参数异常先查版本和迁移说明。
  • 踩坑 4:检索不到就删掉用户过滤。 这可能让别人的记忆进入结果;保留隔离条件,查写入响应、用户标识和存储配置。
  • 踩坑 5:把模型提取的记忆当绝对事实。 提取可能遗漏限定词或误解表达;关键业务事实应关联原始来源并允许纠正。
  • 踩坑 6:把托管平台基准当 OSS 保证。 官方明确平台包含未在开源 SDK 提供的优化,应在自己的部署与数据上评估。
  • 踩坑 7:把合规删除当成一个按钮。 删除策略应同时覆盖记忆、源对话、日志与备份,不能只处理界面可见的一层。

权限、安全与成本边界

user_id 过滤是查询范围,不是身份认证。应用仍需验证当前用户有权访问目标身份,并隔离租户、管理角色与调试接口。

记忆会长期保留对话中的信息,因此比普通临时上下文更需要数据最小化、纠正机制与保留期限。不要让未经核对的模型推断自动升级成重要用户事实。

开源库部署在本机,不代表推理、嵌入与向量数据库都在本机。逐项核对数据出口后才能评估隐私,而不能从“self-hosted”一个词推断全部链路。

本文不引用托管套餐促销价格,也不承诺免费用量。模型 API、存储、备份和托管平台可能分别收费,申请或付款前应查看当前官方条款。

常见问题 FAQ

Q1:Mem0 会自动让聊天机器人记住一切吗?

A:不会自动替代应用设计。你仍需选择写入什么、如何检索、怎样核对和何时清理。

Q2:必须使用官方云平台吗?

A:不必,官方提供开源库与自行托管路径;不同部署的功能、运维和数据边界需分别确认。

Q3:能完全本地运行吗?

A:需要把 LLM、嵌入和存储都配置到合适的本地组件;本文默认示例并非完全离线配置。

Q4:检索结果为什么不完全复述原话?

A:记忆提取不是逐字聊天记录存档。需要审计时应保留与来源的对应关系,而不能只保存提取结论。

Q5:能用同一个 demo 用户接全部访客吗?

A:不能。示例常量仅用于个人实验,正式应用需可信身份映射和跨用户隔离测试。

局限与声明

本文基于公开资料整理,未对模型调用、记忆召回率、持久化或多租户安全进行独立实测。示例取自官方接口形态并作最小改写,SDK 与部署方式变化时应重新验证。不要用真实个人数据作为首次试验材料。

参考链接

📊 评分与标签

评分说明

总分 8.4/10 · P_优选

核验日期:2026-10-15。评估以开源记忆库及公开接口为主,区分 SDK、自行托管服务与官方平台,不把平台专有优化或研究分数直接归给本机安装。

可观测社区指标

  • 官方 GitHub API:67,207 stars,7,909 forks;最近推送 2026-10-14T15:40:09Z,采集日期 2026-10-15。
  • 官方仓库 标注 Apache-2.0 许可。关注量不等于付费用户、召回率或安全审计。

⚙️ 功能完整度 2.2/2.5

  • 提供记忆写入、带用户范围的检索以及 SDK/自托管/平台接入路径,适合为已有应用加入跨会话信息。
  • 记忆层不替代身份认证、业务权限和答案生成;开源与平台能力不完全等价,扣除边界与集成成本。
  • 来源:官方功能和基础示例。
  • 对比 Letta:Letta 以有状态 Agent 与其运行环境为入口;Mem0 更适合作为已有应用的记忆组件,不是整个 Agent 运行时的替代。来源:Letta 当前入口。
  • 对比 LangGraph:后者是有状态工作流编排框架并包含记忆能力;Mem0 更聚焦记忆,而不是定义全部执行图。来源:LangGraph。

✨ 输出质量 2.1/2.5

  • 公开示例把相关记忆作为生成阶段的输入,可核对返回的记忆文本与来源对话,便于拆分检索和回答问题。
  • 提取与检索仍可能遗漏或误解,官方明确平台基准包含 OSS 不具备的优化;本站未测,不能据此保证召回表现。
  • 来源:官方基准范围与基础用法。
  • 对比 Letta:同属有状态助手相关方案,但没有同数据集、同模型测试,不评定哪方更会“记住一切”。来源:Letta。
  • 对比 LangGraph:其短期状态和长期记忆服务于编排;本项评价 Mem0 的记忆接口适用性,不将两种抽象的输出混成统一排行榜。来源:LangGraph 记忆入口。

🖐️ 易用性 1.2/1.5

  • pip install mem0ai、Memory()、add 与 search 提供短路径,官方也公开 CLI 与多种部署入口。
  • 默认 LLM、嵌入、存储及新版参数要分别理解;从演示到多租户应用并不是复制几行代码即可完成。
  • 来源:官方快速入门。
  • 对比 Letta:Letta 提供交互终端与服务入口;Mem0 的优势场景是嵌入已有应用,而非直接提供相同终端体验。来源:Letta 入门。
  • 对比 LangGraph:后者需要理解执行图与状态;只增加记忆时可评估 Mem0,但复杂控制流仍需应用层设计。来源:LangGraph。

💰 性价比 1.3/1.5

  • Apache-2.0 开源库提供自行部署选择,不强制所有用户购买官方平台。
  • 默认模型与嵌入调用、向量存储、运维和数据清理均可能产生成本;没有独立总成本测量,不引用研究中的节省比例当账单保证。
  • 来源:官方依赖和部署区别。
  • 对比 Letta:不同 Agent 运行路径会引入不同模型和托管开支,本文不拿未经核对的套餐价格比较。来源:Letta。
  • 对比 LangGraph:框架许可与真实运行成本是两层问题,不能仅因任一方开源就认定整条应用链免费。来源:LangGraph。

🔒 稳定性 0.8/1.0

  • 官方给出迁移入口,当前仓库持续维护;接口和例子可作为版本回归的起点。
  • 记忆效果依赖模型与存储,本站没有测试持久化恢复、升级兼容和长期召回,因此保留可靠性扣分。
  • 来源:官方 README 与迁移入口、仓库状态。
  • 对比 Letta:官方入口提示历史服务代码与当前活跃实现不同,选型需看现行版本,不用旧版印象推断稳定性。来源:Letta 历史与当前源码说明。
  • 对比 LangGraph:其耐久执行是编排层能力,不能替代对 Mem0 写入、存储和恢复链路的单独验证。来源:LangGraph 耐久执行入口。

🛡️ 隐私安全 0.8/1.0

  • 开源部署提供可检查的组件,接口示例带 user_id 范围,便于把用户隔离纳入应用设计。
  • 查询过滤不是身份认证;默认外部模型与嵌入会改变数据出口,删除也需覆盖来源、日志与备份,未做安全审计不能给满分。
  • 来源:官方基础用法与部署说明。
  • 对比 Letta:两者都涉及持续保存用户或 Agent 状态,不能只因本地入口存在就宣称全链路不会外传。来源:Letta。
  • 对比 LangGraph:编排层状态同样需要应用权限与保留策略,框架提供记忆不等于自动完成隐私合规。来源:LangGraph。

评分依据可追溯至公开来源;分数是对开发者集成价值和已知边界的编辑判断,不是记忆准确率或安全认证。

标签说明

  • 开源免费:官方开源库为 Apache-2.0,模型、平台和存储不在“免费”承诺内。来源:官方仓库。
  • 长期记忆:产品定位是跨交互保留和检索用户相关信息;不等于永久保存所有原始对话。来源:官方介绍。
  • 开发平台:有 SDK、自行托管及平台服务接入方式,需要应用开发与配置,而非只有聊天界面。来源:官方部署路线。

局限与声明

本文基于公开资料整理,未做安装、模型调用、召回基准、多租户隔离或持久化恢复的独立实测。文档端点访问存在限制,接口依据直接读取的官方 README;不对未读取的配置细节和套餐作肯定断言。

来源核实

  • 已读取官方 README,核对 Python 包名、Memory 示例、带用户过滤的检索、默认外部模型及开源/平台基准边界。
  • 已查询官方 GitHub API,记录许可、stars、forks、推送时间和非归档状态。
  • 已读取 Letta 与 LangGraph 官方 README,只比较抽象层与接入方式,不作同场性能排名。

同分类推荐

AI开发平台 分类下的其他工具

)}