扫一扫分享
如果你用过 AI 助手,可能遇到过这种情况 —— 聊了半天,它转头就忘了你的偏好;换个设备登录,之前的对话上下文全没了。而 mem0 这个开源项目,就是专门解决 AI “记性差” 的问题,给 AI apps 装一层 “智能记忆层”,让 AI 能记住用户习惯、适应个人需求,越用越懂你。
它是 YC(Y Combinator,知名创业孵化器)第 631 期孵化项目,不管是做客服机器人、个人 AI 助手,还是自主运行的 AI 系统,都能用它来提升个性化体验,官网是 mem0.ai,代码完全开源在 GitHub 上,协议是 Apache-2.0,能自由用在个人或商业项目里。
mem0 的功能都围绕 “让 AI 记对、记准、用好信息” 展开,没有复杂难懂的术语,都是实实在在解决问题的能力:
它能区分三种关键记忆,不会把用户信息、对话场景和 AI 自身设定混在一起:
不是简单 “存信息”,而是会根据互动不断优化记忆。比如用户一开始说 “喜欢跑步”,后来又提 “最近膝盖不好,改游泳了”,mem0 会更新记忆,下次 AI 推荐运动时就不会再提跑步,而是优先说游泳相关内容。
提供简单的 api 和 Python 包,开发者不用自己搭 “记忆存储”“信息检索” 的复杂系统。比如想给 AI 加 “记用户爱好” 的功能,几行代码就能调用 mem0 的 “存记忆”“搜记忆” 能力,不用懂底层的数据库逻辑。
不管用户在手机、电脑还是平板上用 AI,mem0 能同步记忆。比如在电脑上跟 AI 说 “我明天要开项目会”,手机上打开同一个 AI,它也能记得这个安排,不会让用户重复说一遍。
普通记忆可能只是存 “零散信息”,而图记忆能存 “信息之间的关系”。比如记住 “小明”“参加项目 A”“负责设计” 这三个信息的关联,当搜索 “项目 A 的设计负责人” 时,能更快定位到 “小明”。目前支持 Neo4j 数据库(本地或云端的都能用),只需简单配置就能开启。
mem0 的核心逻辑其实很像 “人整理笔记”:先把信息分类存好,需要的时候快速找到最重要的内容,具体分三步:
当你用add()方法给 mem0 传信息(比如 “我在练网球,想找线上课程”),它会先 “提炼关键信息”—— 把这句话拆成 “练网球”“找线上课程” 两个核心点,然后存到三个不同的 “数据库抽屉” 里:
这样分类存,是为了后面找的时候更快、更准。
当 AI 需要 “回忆” 时(比如用户问 “我的爱好是什么”),用search()方法就能触发搜索。mem0 会同时查上面三个 “数据库抽屉”,然后给查到的信息打分 —— 根据 “和问题的相关性”“信息重要程度”“是不是最近的内容” 排序,只把最有用的信息挑出来。
比如用户之前说过 “练网球”“喜欢看电影”,现在问 “我的运动爱好”,mem0 会优先把 “练网球” 挑出来,而不是把 “看电影” 也混进来。
搜出来的记忆会自动加到 AI 的 “提示词” 里。比如 AI 原本的提示词可能只有 “回答用户的问题”,加上记忆后就变成 “用户喜欢练网球,现在问运动建议,要优先推荐网球相关内容”,这样 AI 的回复就不会 “没头没脑”,而是带着对用户的了解。
mem0 不是 “只能干一件事” 的工具,只要需要 AI “记东西” 的场景,它都能派上用场:
比如做一个个人 AI 助手,用 mem0 后,助手能记住你 “每天 8 点要听新闻”“讨厌冗长的回复”,下次不用你重复说,它会主动在 8 点发精简的新闻,对话体验更像 “跟熟人聊天”。
比如一个 AI 学习平台,mem0 能记住 “你学完了 Python 基础,卡在了爬虫部分”“喜欢看视频教程,不喜欢读文字”,推荐内容时就不会再推基础课,而是优先给爬虫的视频教程。
比如电商客服 AI,mem0 能记住 “用户之前买过 XX 型号的手机,现在问售后”“用户对物流速度敏感”,用户再咨询时,客服不用反复问 “你买的是什么型号”,能直接对接需求。
比如给医生用的 AI 辅助工具,mem0 能记住 “患者有高血压,对青霉素过敏”“上次就诊开了 XX 药”,下次患者复诊时,AI 能快速调出历史信息,帮医生减少重复询问,避免遗漏关键病史。
比如虚拟宠物、情感陪伴 AI,mem0 能记住 “用户喜欢晚上 9 点聊天”“提到过宠物叫‘团团’”,后续互动时,AI 会主动在 9 点打招呼,偶尔提 “团团最近怎么样”,让用户觉得 “它真的记得我”。
比如 AI 办公助手,mem0 能记住 “你习惯用 Markdown 写文档”“每周五要整理项目周报”,到了周五,助手会主动提醒 “该写周报啦”,生成文档时也会默认用 Markdown 格式,不用你每次手动设置。
比如开放世界游戏的 AI NPC,mem0 能记住 “玩家之前帮过村民修房子”“讨厌被偷袭”,下次玩家再遇到这个 NPC,NPC 会说 “上次谢谢你修房子”,战斗时也不会用玩家讨厌的偷袭方式,让游戏体验更沉浸。
不管是想快速试用,还是自己部署,步骤都很简单:
如果用 Python,直接用 pip 装 mem0 的包就行:
pip install mem0ai
如果不想自己装环境,也能直接用 mem0 的官方托管平台(官网就能进),不用配置服务器,注册后直接用。
mem0 需要搭配 LLM(大语言模型)才能工作,默认用 OpenAI 的 gpt-4o,也支持其他 LLM(比如 Claude、本地模型,具体看官方文档的 “支持的 LLM” 列表)。
首先要设置 LLM 的 API 密钥(比如 OpenAI 的 key),然后初始化 “记忆” 对象:
# 1. 导入mem0和os(用来设置环境变量)
import os
from mem0 import Memory
# 2. 设置OpenAI的API密钥(替换成你的key)
os.environ["OPENAI_API_KEY"] = "sk-你的密钥"
# 3. 初始化记忆
m = Memory()
如果要开 “图记忆”,需要额外配置 Neo4j 数据库(本地或云端的都可以),比如:
from mem0 import Memory
# 配置图数据库和版本
config = {
"graph_store": {
"provider": "neo4j", # 目前只支持Neo4j
"config": {
"url": "neo4j+s://你的Neo4j地址", # 比如云端AuraDB的地址
"username": "neo4j", # 默认用户名
"password": "你的Neo4j密码"
}
},
"version": "v1.1" # 必须是v1.1才能用图记忆
}
# 用配置初始化记忆
m = Memory.from_config(config_dict=config)
mem0 的常用操作就 5 个,代码都很直观,不用记复杂逻辑:
| 操作 | 代码示例 | 效果 |
|---|---|---|
| 存记忆 | result = m.add("我在练网球,想找线上课程", user_id="alice", metadata={"category": "hobbies"}) | 会自动提炼出 “练网球”“找线上课程”,存到数据库,关联用户 “alice” 和分类 “爱好” |
| 更新记忆 | result = m.update(memory_id="记忆ID", data="喜欢周末打网球") | 把原来的 “练网球” 更新成 “喜欢周末打网球”,会保留更新记录 |
| 搜记忆 | related_memories = m.search(query="alice的爱好是什么?", user_id="alice") | 会找出 “alice 喜欢周末打网球” 这个记忆 |
| 查所有记忆 | all_memories = m.get_all() | 能拿到所有存过的记忆,包括每个记忆的 ID、内容、关联用户等 |
| 查记忆历史 | history = m.history(memory_id="记忆ID") | 能看到这个记忆的修改记录,比如 “之前是‘练网球’,后来改成‘周末打网球’” |
mem0 会收集匿名的使用数据(比如 “用了多少次存记忆功能”“用的是什么系统”),目的是优化产品,不会收集个人信息(比如用户的对话内容、API 密钥)。如果不想被收集,设置环境变量MEM0_TELEMETRY=false就行。
目前已经发布了 195 个版本,最新版是 v0.1.39,更新很频繁,修复 bug 和加新功能都很快。如果用自托管版本,记得定期看 GitHub 的 Releases 页面更新;用托管平台的话,会自动更到最新版,不用自己管。
总的来说,mem0 就是个 “开箱即用的 AI 记忆工具”—— 不用懂复杂的数据库和检索算法,几行代码就能让 AI 从 “记性差” 变 “很懂你”,不管是小项目还是大系统,都能搭进去用。如果你的 AI 项目需要 “记东西”,试试它准没错。
仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!
手机预览