antiqueeeee

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mem0的memory管理方式

mem0

提取阶段

建立适当上下文以进行记忆提取,系统采用两种互补的来源:
1) 从数据库检索到的对话摘要S,概括整个对话历史的语义内容,以及来自对话历史的一系列近期消息。
\({m_{t-m}, m_{t-m+1},..., m_{t-2}}\)
其中,m用于控制数量。
2) 实现了一个异步摘要生成模块,周期性刷新
上述两种信息结合,得到全面提示P,作为提取函数\(\phi\)的输入,\(\phi(P))\)则可以抽取出一系列重要的memory Ω,P和Ω的定义为:
\(P=(S, {m_{t-m}, m_{t-m+1},..., m_{t-2}}, m_{t-1}, m_t)\)
\(Ω = {w_1, w_2, ..., w_n}\)

更新阶段

将候选事实与现有记忆进行对比,保持一致性避免冗余。确定对每个提取的事实应执行的管理操作。
对于每个事实,限量相似检索前s个语义相似的记忆,使用LLM决定4种操作:
1) 无等效记忆,ADD;
2) 补充增强现有记忆, UPDATE;
3) 新信息反驳旧记忆, DELETE;
4) 不需要任何修改, NOOP。

\(mem0^8\)

根据对话历史生成知识图谱,检索在知识图谱是否有冲突(使用LLM),并更新知识图谱。图谱中的节点包括:实体类型分类、嵌入向量及时间相关的元数据。图谱补全(KGC)使用pipeline的方式,先识别实体,再生成关系,对于新三元组,计算源实体和目标实体的Embedding,搜索相似度高于“t”的现有结点,根据存在情况创建结点。

posted on 2026-04-04 10:35  Antiqueeeee  阅读(66)  评论(0)    收藏  举报