Mem0
从这一节开始我们学习另一个 Agent 长期记忆的开源工具 Mem0
1. Mem0 原理
依据 Mem0 Paper 中的介绍按照是否基于图,Mem0 分为两种架构。两种架构下都分为Extracttion 和 Update 两个阶段。
从这一节开始我们学习另一个 Agent 长期记忆的开源工具 Mem0
依据 Mem0 Paper 中的介绍按照是否基于图,Mem0 分为两种架构。两种架构下都分为Extracttion 和 Update 两个阶段。
上面我们介绍了 ragflow 检索的 query 模块,这一节我们来介绍 search 的具体实现。
search 代码比较长,我们分成几个部分讲解:
下面是每个方法的作用和入参说明:
rag\nlp 模块提供了 NLP 相关的功能,如分词、查询构造器等。前面我们已经介绍了 NLP 中的 RagTokenizer 分词器的实现。这一节我们来讲解与检索相关的功能实现。
在具体讲解检索实现之前,我们先来看一下 NLP 这个模块的整体结构。
RagTokenizer 是 Ragflow 实现的分词器,这一节我们来介绍它的实现。
NLP 我了解的不多,所以我向 ChatGPT 提了以下问题:
|
|
下面是 ChatGPT 的回答,基本上能帮助我们理解分词器到底是什么。
在 RagFlow 中,处理文档和知识的任务主要有三种类型:RAPTOR、Graphrag、标准 Chunking。前面我们学习了标准 chunk 的执行过程。从这一节开始我们来介绍 RAPTOR。