搭配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)

相关推荐
لا معنى له4 小时前
目标检测的内涵、发展和经典模型--学习笔记
人工智能·笔记·深度学习·学习·目标检测·机器学习
AKAMAI6 小时前
Akamai Cloud客户案例 | CloudMinister借助Akamai实现多云转型
人工智能·云计算
Robot侠7 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
小a杰.7 小时前
Flutter 与 AI 深度集成指南:从基础实现到高级应用
人工智能·flutter
colorknight8 小时前
数据编织-异构数据存储的自动化治理
数据仓库·人工智能·数据治理·数据湖·数据科学·数据编织·自动化治理
Lun3866buzha8 小时前
篮球场景目标检测与定位_YOLO11-RFPN实现详解
人工智能·目标检测·计算机视觉
janefir8 小时前
LangChain框架下DirectoryLoader使用报错zipfile.BadZipFile
人工智能·langchain
齐齐大魔王8 小时前
COCO 数据集
人工智能·机器学习
AI营销实验室10 小时前
原圈科技AI CRM系统赋能销售新未来,行业应用与创新点评
人工智能·科技
爱笑的眼睛1110 小时前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai