介绍
在基于知识图谱的 RAG 系统中,节点和边的数量变得非常庞大。
这是一种在搜索时获取相似度最高的前K个节点及其周围节点边的方法。
存在一个问题,即不必要的信息量可能会导致 LLM 产生幻觉,并且即使查看图表本身,用户也很难理解其中的关系。
微软的 GraphRAG 可以检测社区并排列附近的节点来提供答案。
无论是本地搜索还是全局搜索,都是一种非常丰富的搜索方式。
由于 LightRAG 仅发送关键字和本地图表,因此它比发送整个社区的 GraphRAG 消耗的代币更少。
搜索流程如下:
图侧:通过节点中心性(度)+边权重计算重要性,并按降序排列。
向量端:通过嵌入整个查询来执行纯向量搜索,吸收词汇波动。
并行运行,合并两条路线的结果并删除重复项(模式可以在 kg/vector/hybrid 之间切换)
最终提示生成:将前 k 个节点/边的文本总结为短句,并将其传递给 LLM。
GraphRAG 和 LightRAG 都对搜索结果进行了统一处理,这导致了包含不必要的节点,并且存在不清楚哪些部分代表逻辑的问题。为了解决这个问题,人们提出了一种称为 PathRAG 的方法。
与 LightRAG 的一个简单区别是,在节点搜索之后,它会执行路径搜索并仅保留可靠的路径。
此外,据说该系统在生成遵循高度可靠路径的答案时更加准确。
这是路径搜索的概述,但有关更多详细信息,请参阅 GitHub 存储库。
我不知道使用了什么样的路径搜索,但是有各种节点。
我觉得我没有说任何不必要的话。