最近,拿到 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 成为开发者创建个性化和上下文感知 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