速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

开源仅 1 天就斩获近万星!超越 RAG、让大模型拥有超强记忆力的 Mem0 火了!

  • 2024-07-19
    北京
  • 本文字数:2049 字

    阅读完需:约 7 分钟

大小:751.72K时长:04:16
开源仅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 投资的项目。

 


个性化 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 userresult = 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 memoriesall_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

2024-07-19 16:4312843

评论

发布
暂无评论
发现更多内容

【高并发】两种异步模型与深度解析Future接口

冰河

Java 并发编程 多线程 高并发 异步编程

Lyft微服务研发效能提升实践 | 4. 基于自动验收测试的部署门禁

俞凡

研发效能 大厂实践 lyft 3月月更

c语言怎么避免打印空数据?

北极的大企鹅

c 问题处理

中兴ZXR10 160智能集成多业务路由器快速安装指南,图文并茂!

Ethereal

2022 C语言学习最强干货分享,值得收藏

C语言与CPP编程

程序员 C语言 编程‘

从头梳理,看看中国的 ICP 备案制度

白宦成

备案

编码的艺术-书籍推荐

Beaver

编码的艺术

web安全之挖掘Linux内核漏洞

网络安全学海

Linux 网络安全 渗透测试 WEB安全 漏洞挖掘

一款开源监控和警报平台:Prometheus

Ethereal

容器化和编排有什么区别?

Ethereal

站点可靠性工程之旅

俞凡

研发效能 SRE 3月月更

假如让你来设计SSL/TLS协议

元闰子

网络安全 TLS 操作系统 ssl SSL/TLS协议

作业四

Geek_f3e842

架构实战营

【架构训练营-模块四】

默光

架构训练营5期 存储架构

文章是“自己的”好

BY林子

技术写作

kube-scheduler源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 容器 源码分析 Kubernetes, 云原生, eBPF

Go学习笔记——复合数据结构之结构体

为自己带盐

Go 学习笔记 3月月更

我的第一个 Flutter 应用之旅

岛上码农

flutter ios 安卓 移动端开发 3月月更

消息队列存储

supermenG

架构师训练营 4 期

java如何对接企业微信

经典鸡翅

3月月更

系统学习 TypeScript(六)——认识接口

编程三昧

typescript 前端 3月月更

C语言中如何输出汉字;如何用C语言汉字编码输出汉字(超全版)

北极的大企鹅

c 问题处理

c语言结构体中的一个char数组怎么赋值?

北极的大企鹅

c 问题处理

低代码实现探索(三十五)模型页面vs工程化方式好

零道云-混合式低代码平台

电商秒杀系统

swallowluo

架构实战营 #架构实战营 「架构实战营」

高并发是一种架构思维模式

陈俊

高并发 技术架构 技术认知

重学架构之千万级学生管理系统的考试试卷存储方案

陈华英

架构实战营 #架构实战营

【C语言】卍字通晓→函数+递归

謓泽

递归 C语言 函数 3月月更

命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin

Ethereal

Linux 中的 BusyBox 是什么?如何使用它?

Ethereal

智慧车行预约小程序设计方案

CC同学

开源仅1天就斩获近万星!超越RAG、让大模型拥有超强记忆力的Mem0火了!_生成式 AI_Tina_InfoQ精选文章