2024年您产品必备的10大AI API推荐
Mem0 AI:开源一天斩获万星!超越 RAG、为LLM、Agent加上超强个性记忆
2024-11-22
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进修生
同话题下的热门内容