搭配Knowledge Graph的RAG架构

1. RAG

检索增强生成(Retrieval-Augmented Generation,简称 RAG)通过结合大型语言模型(LLM)和信息检索系统来提高生成文本的准确性和相关性。这种方法允许模型在生成回答之前,先从权威知识库中检索相关信息,从而确保输出内容的时效性和专业性,无需对模型本身进行重新训练。

RAG技术之所以重要,是因为它解决了LLM面临的一些关键挑战,例如虚假信息的提供、过时信息的生成、非权威来源的依赖以及由于术语混淆导致的不准确响应。通过引入RAG,可以从权威且预先确定的知识来源中检索信息,增强了对生成文本的控制,同时提高了用户对AI解决方案的信任度。

2. 知识图谱

知识图谱(Knowledge Graph)是一种结构化的语义知识库,它旨在存储与现实世界实体(如人、地点、组织、事件等)相关的信息,并描述这些实体之间的各种关系。知识图谱通常用于增强搜索引擎的功能,提供更丰富的搜索结果,以及在各种人工智能应用中改善数据的语义理解。

知识图谱的核心组成部分包括:

  • 实体(Entities):

实体是知识图谱中的基本单位,代表现实世界中的对象或概念,如"埃菲尔铁塔"、"纽约"或"苹果公司"。

  • 关系(Relations):

关系描述了实体之间的语义联系,例如"位于"、"创始人"或"主演"。这些关系使得知识图谱能够表达复杂的事实,如"埃菲尔铁塔位于巴黎"。

  • 属性(Attributes):

实体通常具有一系列的属性,这些属性提供了关于实体的额外信息,如"埃菲尔铁塔"的高度或建造年份。

3. Knowledge Graph+RAG

在RAG(Retrieval-Augmented Generation)框架中,我们将文档切成小段(chunk),然后通过检索模块找到与查询相关的文档片段。这种方法可以提高生成文本的准确性和相关性,同时保持生成文本的时效性和专业性。

然而,在实际文本中,chunk与chunk之间是存在关联的,而RAG技术并未充分考虑到这种关联性。为了解决这一问题,我们可以引入知识图谱,将文档中的chunk之间的关系表示为图结构。在检索时,不仅可以找到与查询相关的文档片段,还可以根据知识图谱中的关系找到与查询相关的chunk之间的关联信息。

在每一个实体上,存储了该chunk的信息;在每一个关系上,存储了chunk之间的关系信息。

在进行检索时,我们可以根据语义找到若干个相关实体,对于每个实体,我们还可以遍历到其他相关实体。即使某个实体没有被语义检索直接召回,我们也能通过关联关系将其返回。这种方法有效避免了在文档切分过程中可能出现的信息丢失问题。

通过这种方式,RAG框架不仅提高了检索的准确性和相关性,还增强了对文档内部复杂关系的理解,使生成的文本更加连贯和专业。

4. 误区

在使用RAG+Knowledge Graph的时候,我们需要注意以下几个误区:

  1. 不是直接复用之前的Knowledge Graph,而是需要根据具体的任务重新构建知识图谱;
  2. Knowledge Graph的的构建不是生成传统意义上的实体关系图,而是借用了图数据库的思想,将文档中的chunk之间的关系表示为图结构;

参考

1\] [deeplearning.ai](https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/) ### 欢迎关注我的GitHub和微信公众号,来不及解释了,快上船! [GitHub: LLMForEverybody](https://github.com/luhengshiwo/LLMForEverybody) 仓库上有原始的Markdown文件,完全开源,欢迎大家Star和Fork! ![请添加图片描述](https://i-blog.csdnimg.cn/direct/193bb2866f7046bd8be75f260c4d4628.png)

相关推荐
AKAMAI7 分钟前
提升 EdgeWorker 可观测性:使用 DataStream 设置日志功能
人工智能·云计算
银空飞羽35 分钟前
让Trae CN SOLO自主发挥,看看能做出一个什么样的项目
前端·人工智能·trae
cg50171 小时前
基于 Bert 基本模型进行 Fine-tuned
人工智能·深度学习·bert
Dev7z1 小时前
基于Matlab图像处理的EAN条码自动识别系统设计与实现
图像处理·人工智能
Curvatureflight1 小时前
GPT-4o Realtime 之后:全双工语音大模型如何改变下一代人机交互?
人工智能·语言模型·架构·人机交互
6***x5451 小时前
C在机器学习中的ML.NET应用
人工智能·机器学习
陈天伟教授1 小时前
基于学习的人工智能(1)机器学习
人工智能·学习
用户47949283569152 小时前
React Grab 原理篇:它是怎么"偷窥" React 的?
人工智能·react.js·ai编程
田里的水稻2 小时前
AI_常见“XX学习”术语速查表
人工智能·学习
桜吹雪2 小时前
DeepAgents官方文档(一)
人工智能