转载自 | AI前线整理 | Tina最近,拿到 OpenAI 370 万美元投资的一款 AI 聊天应用在 App Store 上线了。国内外 AI 聊天工具层出不穷、屡见不鲜,为什么这款应用却能受到 OpenAI 的青睐呢?这款名为 Dot 的应用 ,由总部位于旧金山的创业公司 New Computer 打造,由前苹果设计团队的成员 Jason Yuan 设计,编码工作则由 Sam Whitmore 等一小拨人完成。这个应用的名字就像乔布斯的名言一样“connecting the dots”,将生活里的点点滴滴,以某种方式联系起来。它最与众不同的是具有长记忆挖掘能力。人类的记忆有限,但是 Dot 拥有超长的记忆能力,你可以随时 cue 它回答关于你的任何回忆,你发送的文字、语音备忘录、图片、PDF 文件,它都用来形成它的记忆,从而成为一个随时在线的伴侣,帮助你思考生活、发现隐藏的联系并提升自我。Yuan 称用户与 Dot 的对话是一部用户个人的“活历史”,一种追溯模式和展望未来可能性的方式。Dot 作为 AI 聊天工具,展现出的 AI 应当有处理复杂上下文信息和长期记忆的能力,显然是它最大的亮点。ChatGPT 也有同样的记忆功能,但你需要主动要求它记住关于你的信息,而且它的记忆比较零散。今天,这款爆火的 AI 应用其背后核心的“超强个性记忆”技术被 Mem0ai 给开源了!Mem0 可以用来开发长期、短期记忆,它能记住用户的偏好、过去的交互、事情的进展,可以为应用构建适应性的学习体验。使用场景包括虚拟陪伴、生产力工具、健康关怀或 AI Agent 客户支持等。开源不到一天,就收到了 9.7k 颗星,可谓是风靡全球,联合创始人 Taranjeet Singh 都感到有些受宠若惊了!Taranjeet Singh 是 Mem0 的联合创始人兼 CEO。他的软件工程职业生涯始于 Paytm(印度的 PayPal),见证了 Paytm 从一个新兴企业迅速成长为家喻户晓的名字。另一位联合创始人兼 CTO 为 Deshraj Yadav,曾领导特斯拉自动驾驶的 AI 平台,支持大规模训练、模型评估、监控和可观察性,以促进特斯拉全自动驾驶的发展。在此之前,Deshraj 在乔治亚理工学院完成硕士论文时创建了 EvalAI,一个开源的机器学习平台。Mem0 同时也是 YC 投资的项目。
个性化 AI 的记忆层
简单的说,Mem0 为大语言模型提供了一个智能、自我改进的记忆层,实现了跨应用的个性化 AI 体验。其核心功能包括多层次记忆、自适应个性化、开发者友好的 API、跨平台一致性,并且你可以在本地计算机上运行这个程序。Mem0 是 RAG 发展的下一个阶段,相比 RAG 的核心区别:关注实体和实体关系;关注最近、最相关的;上下文连续性;适应性学习;动态更新信息。而普通 RAG 只是单纯的从静态的文档中检索信息。具体来说,Mem0 提供的记忆实现相比 RAG 具有以下优势:
- 关注实体关系:Mem0 能理解和关联不同交互中的实体,而 RAG 则从静态文档中检索信息。这使得 Mem0 对上下文和关系的理解更深刻。
- 最近性、相关性和衰减:Mem0 优先考虑最近的交互,并逐渐忘记过时的信息,确保记忆保持相关和最新,以提供更准确的响应。
- 上下文连续性:Mem0 在多个会话中保留信息,保持对话和交互的连续性,这对于长期参与应用,如虚拟伴侣或个性化学习助手来说至关重要。
- 自适应学习:Mem0 根据用户交互和反馈改进其个性化,使记忆随着时间的推移更加准确和贴合个人用户。
- 动态更新信息:Mem0 能够根据新的信息和交互动态更新其记忆,而 RAG 依赖于静态数据。这允许实时调整和改进,提升用户体验。
这些先进的记忆功能使 Mem0 成为开发者创建个性化和上下文感知 AI 应用的强大工具。并且 Mem0 还提供了开发者友好的 API,安装和使用也很简单。要安装 Mem0,您可以使用 pip。在终端中运行以下命令:
pip install mem0ai
初始化之后就可以使用一些基本的 API,比如: 储存记忆
# For a user
result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})
print(result)
输出:
[
{
'id': 'm1',
'event': 'add',
'data': 'Likes to play cricket on weekends'
}
]
找回记忆
# Get all memories
all_memories = m.get_all()
print(all_memories)
输出:
[
{
'id': 'm1',
'text': 'Likes to play cricket on weekends',
'metadata': {
'data': 'Likes to play cricket on weekends',
'category': 'hobbies'
}
},
# ... other memories ...
]
搜索记忆
related_memories = m.search(query="What are Alice's hobbies?", user_id="alice")
print(related_memories)
输出:
[
{
'id': 'm1',
'text': 'Likes to play cricket on weekends',
'metadata': {
'data': 'Likes to play cricket on weekends',
'category': 'hobbies'
},
'score': 0.85 # Similarity score
},
# ... other related memories ...
]
删除记忆
m.delete(memory_id="m1") # Delete a memory
m.delete_all(user_id="alice") # Delete all memories
参考链接:https://github.com/mem0ai/mem0https://docs.mem0.ai/overviewhttps://x.com/tuturetom/status/1813932933482455156https://x.com/taranjeetio
推荐阅读
(点击标题可跳转阅读)
《机器学习 100 天》视频讲解
公众号历史文章精选
我的深度学习入门路线
重磅!
1700多页的《人工智能学习路线、干货分享全集》PDF文档
扫描下方二维码,添加我的微信,领取1700多页的《人工智能学习路线、干货分享全集》PDF文档(一定要备注:入群 + 地点 + 学校/公司。例如:入群+上海+复旦。
长按扫码,申请入群
感谢你的分享,点赞,在看三连