开源仅 1 天就斩获近万星!超越 RAG、让大模型拥有超强记忆力的 Mem0 火了
最近,拿到 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 投资的项目。
简单的说,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/mem0
https://docs.mem0.ai/overview
https://x.com/tuturetom/status/1813932933482455156
https://x.com/taranjeetio
剥离几百万行代码,复制核心算法去美国?TikTok 最新回应来了
微信扫码关注该文公众号作者