所有文章 > AI驱动 > Mem0 AI:开源一天斩获万星!超越 RAG、为LLM、Agent加上超强个性记忆

Mem0 AI:开源一天斩获万星!超越 RAG、为LLM、Agent加上超强个性记忆

Hi,这里是Aitrainee,欢迎阅读本期新文章。

最近,OpenAI 投资了 370 万美金给一个叫 Dot 的应用,这个应用背后的核心技术是「超强个性记忆」,现在由 Mem0 开源了。

Mem0 在 GitHub 上开源仅 1 天就斩获近万星,超越 RAG、为LLM和Agent提供长期记忆。

Mem0 有几个厉害的地方:

  • 多层次的记忆:它能记住用户的偏好、过去的交互、事情的进展,就像你跟朋友聊天,朋友能记住你喜欢什么、不喜欢什么。
  • 自适应的个性化:从交互中持续学习,越用越聪明,真是个贴心的小助手。
  • 跨平台、API 友好:支持私有化部署,开发者可以轻松集成到各种平台。

Mem0 与 RAG 有何不同?

Mem0 可以用在很多场景,比如虚拟陪伴、生产力工具、健康关怀和 AI 客户支持等。

Mem0 是 RAG(Retrieval-Augmented Generation)技术的升级版。RAG 是从静态文档中检索信息,而 Mem0 更聪明:

  • 它关注实体和实体关系,能理解更复杂的信息。
  • 它关注最近、最相关的信息,还会遗忘不重要的东西。
  • 它能接力上下文,理解前后文的关系。
  • 它会动态更新信息,适应性学习。

Mem0 的核心价值是为个性化 AI 构建记忆层,这让 AI 更加智能和人性化。

OpenAI 投资的 Dot 应用已经上架 iOS,感兴趣的可以去试试。Mem0 的官方文档在这里:

支持的大模型

如何在现有应用程序中使用mem0?

使用 Mem0,你可以创建基于 LLM 有状态的应用程序,例如聊天机器人、虚拟助理或 AI 代理。Mem0 通过提供做出响应的内存层来增强您的应用程序:

  •  更个性化
  •  更可靠
  • 通过减少LLM交互次数来实现成本效益
  •  更吸引人
  • 启用长期记忆

以下是 Mem0 如何集成到各种应用程序中的一些示例:

常见用例:

  • 个性化学习助手:长期记忆使学习助手能够记住用户的偏好、过去的互动和进度,从而提供更加定制化、有效的学习体验。
  • 客户支持 AI 代理:通过保留以前交互的信息,客户支持机器人可以提供更准确、更具情境感知的帮助,提高客户满意度并缩短解决时间
  • 医疗助理:长期记忆使医疗助理能够跟踪患者病史、用药时间表和治疗计划,确保个性化和一致的护理。
  • 虚拟伴侣:虚拟伴侣可以利用长期记忆,通过记住个人详细信息、偏好和过去的对话来与用户建立更深层次的关系,使互动更有意义。
  • 生产力工具:长期记忆可帮助生产力工具记住用户习惯、常用文档和任务历史记录,从而简化工作流程并提高效率。
  • 游戏 AI:在游戏中,具有长期记忆的 AI 可以通过记住玩家的选择、策略和进度并相应地调整游戏环境来创造更身临其境的体验。

🚀 快速入门

快速开始使用 Mem0!

欢迎来到 Mem0 快速入门指南。本指南将帮助您迅速上手 Mem0。

安装

要安装 Mem0,您可以使用 pip。在终端中运行以下命令:

pip install mem0ai

基本用法

初始化 Mem0

基础

from mem0 import Memory
m = Memory()

存储记忆

# 对用户存储记忆
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'
}
]

检索记忆

# 获取所有记忆
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'
}
},
# 其他记忆...
]

# 通过 ID 获取单个记忆
specific_memory = m.get("m1")
print(specific_memory)

输出:

{
'id': 'm1',
'text': 'Likes to play cricket on weekends',
'metadata': {
'data': 'Likes to play cricket on weekends',
'category': 'hobbies'
}
}

搜索记忆

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 # 相似度得分
},
# 其他相关记忆...
]

更新记忆

result = m.update(memory_id="m1", data="Likes to play tennis on weekends")
print(result)

输出:

{
'id': 'm1',
'event': 'update',
'data': 'Likes to play tennis on weekends'
}

记忆历史

history = m.history(memory_id="m1")
print(history)

输出:

[
{
'id': 'h1',
'memory_id': 'm1',
'prev_value': None,
'new_value': 'Likes to play cricket on weekends',
'event': 'add',
'timestamp': '2024-07-14 10:00:54.466687',
'is_deleted': 0
},
{
'id': 'h2',
'memory_id': 'm1',
'prev_value': 'Likes to play cricket on weekends',
'new_value': 'Likes to play tennis on weekends',
'event': 'update',
'timestamp': '2024-07-14 10:15:17.230943',
'is_deleted': 0
}
]

删除记忆

m.delete(memory_id="m1") # 删除单个记忆

m.delete_all(user_id="alice") # 删除所有记忆

重置记忆

m.reset() # 重置所有记忆

希望这篇文章对你有帮助,感谢阅读!

文章转自微信公众号@AI进修生

#你可能也喜欢这些API文章!