介绍
1. 回顾:LLM 的局限性和 RAG 简介
1. 回顾:LLM 的局限性和 RAG 简介
检索增强生成(RAG)是一种将外部数据源与LLM(大型语言模型)结合的AI架构。其工作分为两步:
1. 检索: 使用用户查询从数据库(例如公司知识库)中检索相关信息(“上下文”)。
2. 生成: 根据检索到的上下文指示LLM回答用户的查询。
2. 动机:RAG 的局限性
-
使用通用模型进行检索不佳: 检索模型(嵌入编码器)通常在 Internet 数据上进行训练,因此它们可能很难在特定领域的公司知识中找到正确的上下文。 -
拼写错误与非拼写错误的处理: 嵌入编码器通常可以容忍拼写错误。这对于一般查询(例如,搜索 “curiosty” 与 “curiosity”) 很有帮助,但对于特定于上下文的查询可能会有问题,例如,“Airbus A320” 与 “Airbus A330”。
科普:什么是知识图谱?
-
节点: 这些表示对象、文件或人员等实体。例如,节点可以是公司 (Curiosity) 或位置 (Munich)。 -
边: 这些定义节点之间的关系。例如,边可能指示Curiosity位于慕尼黑。
解决方案:Graph RAG 简介
-
除了文档嵌入之外,它还允许您使用文档中捕获的实体(例如,部件号、流程引用等)来计算图形嵌入。这些代表数据中有意义的连接,并有助于过滤掉长文档中的干扰。 -
它允许您根据用户上下文(例如部门)和查询中捕获的实体来筛选结果。 -
它允许您根据上下文和捕获的实体提升/降级结果。
深入探讨:了解 GRAG 流程
-
预处理非结构化文本数据(包括分块)并将其添加到图形中,使用命名实体识别 (NER) 提取实体、引用和关系。 -
将结构化数据添加到知识图谱中(例如,机器引用)。 -
将结构化数据、文本和捕获的实体连接到知识图谱,从而创建任何给定文档与图中其他数据之间联系的表示形式。 -
在非结构化文本上训练文档嵌入模型。 -
在连接到图中文本的对象结构上训练图嵌入模型,例如,使用 OSS 库 Catalyst
-
当用户提交问题时,对其进行分析以识别关键实体和引用(例如机器参考和时间段)以筛选候选文档。 -
使用文档嵌入模型对问题文本进行编码。 -
使用图形嵌入模型对连接到文档的对象的连接进行编码。
-
结合图形和文档嵌入以找到最佳候选结果(又名“向量搜索”),例如, match 使用 OSS 库 HNSW。 -
使用图形结构筛选候选结果,例如,使用从查询中捕获的用户上下文和实体。 -
通过根据图表中的连接提升或降级候选结果来进一步优化候选结果。
-
向 LLM 提供用户查询,并指示它根据排名靠前的结果 (块) 提供的上下文进行回答。 -
将响应返回给用户,包括对结果(“来源”)的引用,以提高透明度和可信度。
影响:GRAG 的影响
总结