开源一天就斩获近万星的Mem0超越RAG,它的技术原理是什么?
BuluAI 2024-08-20 13:31:01 阅读 98
最近,OpenAI给一个叫Dot的应用投资了370万美金,这个应用背后的核心技术是“超强个性记忆”,现在由Mem0开源了。
(项目地址:https://github.com/mem0ai/mem0)
简单来说,Mem0是为大语言模型提供了一个智能、自我改进的记忆层,超越了RAG,可为LLM和Agent提供长期记忆,实现跨应用的个性化AI体验。因此,Mem0在GitHub上开源没多久就获得近万星。
Mem0几个主要特点:
1.多层次记忆:支持用户、会话和AI代理的记忆保留;
2.自适应个性化:基于交互,可持续改进;
3.开发人员友好的API:可与各种应用程序轻松集成;
4.跨平台一致性:不同设备、不同平台上可保持行为的一致性;
5.托管服务:便于部署和维护。
Mem0相比RAG的优势:
普通RAG只是单纯的从静态的文档中检索信息,而Mem0是RAG发展的下一个阶段,相比 RAG,Mem0提供的记忆实现相比 RAG具有以下优势:
关注实体关系:Mem0能理解和关联不同交互中的实体,而 RAG 则从静态文档中检索信息。这使得 Mem0对上下文和关系的理解更深刻;
最近性、相关性和衰减:Mem0优先考虑最近的交互,并逐渐忘记过时的信息,确保记忆保持相关和最新,以提供更准确的响应;
上下文连续性:Mem0在多个会话中保留信息,保持对话和交互的连续性,这对于长期参与应用,如虚拟伴侣或个性化学习助手来说至关重要;
自适应学习:Mem0根据用户交互和反馈改进其个性化,使记忆随着时间的推移更加准确和贴合个人用户;
动态更新信息:Mem0 能够根据新的信息和交互动态更新其记忆,而 RAG 依赖于静态数据。这允许实时调整和改进,提升用户体验。
从Mem0点特点和优势来看,它可以较为灵活地应用在虚拟伴侣、医疗助手、游戏助手等几个方面。
不过,让我们来剖析下Mem0背后的技术原理。
首先Mem0的源码有4个核心模块:embeddings、llms、memory、vector_stores,最重要的应该就是memory,比较简单。
直白的说,它的技术原理就是:和AI说话的时候告诉它“你可以自己决定你要记住什么”,把AI回复的“它想记住的东西”给存起来,以便下次对话的时候做参考。
具体看,本质上,Mem0就是写了一些prompt:
1、从 data中抽取 memory,prompt: 从提供的文本中推断事实、偏好和记忆。事实、偏好和记忆应该简洁且具有信息性。不要以"这个人喜欢比萨"开始。相反,以"喜欢比萨"开始。
2、与库中的 memory 进行 update,prompt:您是合并、更新和组织记忆的专家。当提供现有记忆和新信息时,您的任务是合并和更新记忆列表,以反映最准确和最新的信息。您还为每项现有记忆提供了与新信息的匹配分数。确保利用这些信息做出明智的决策,决定更新或合并哪些记忆;
3、直接向量搜索,进行 memory-item 检索;
4、有点像RAG的命题检索:Dense X Retrieval:What RetrievalGranularity Should We Use?
结语
技术上没有太大新意,很多人已经这么用了。创意上也没有新意,对于它能火起来,有点不懂,没看出是怎么超越RAG的?!不过感谢Mem0的开源。
BuluAI是一个创新型的算力云平台,算力使用灵活,可为开发者提供强大计算资源和全面支持。帮助BuluAI的使用者能够更专注于技术、应用的研究和优化。产品预计9月份正式公测上线,敬请期待!
现可报名参与内测,内侧入口:BuluAI
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。