AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


[万字长文]GraphRAG技术栈及样例全面解析
发布日期:2024-06-04 08:19:54 浏览次数: 2023 来源:知识图谱科技


The RAG Stack: Featuring Knowledge Graphs

- Reducing Hallucinations To Make LLMs Production-Grade With Complex RAG


企业对生成式人工智能的采用正加速进行中,CIO们准备将应用案例推向生产阶段,但在模型输出准确性和幻觉方面仍存在障碍。为此,企业越来越善于通过微调和RAG对大型模型进行定制。

RAG将继续作为“复合系统”的重要组成部分,同时在不同的用例中使用微调和RAG方法。在生成式人工智能影响的数万亿劳动成本中,RAG将在揭示涉及信息检索的大部分任务中发挥特别重要的作用。随着注意力转向“RAG技术栈”,知识图谱将成为实现更复杂的RAG和更好性能的关键

促进企业采用

我们仍处于真正实现企业对生成式人工智能采用的早期阶段。到目前为止,只有一小部分CIO已将LLM项目推向了生产阶段。


尽管董事会施加了强大的压力以加速人工智能的采用,但早期采用者已经开始将实验性创新预算转变为软件和劳动预算。在2024年第一季度,73%的首席信息官表示AI/机器学习对他们的投资重点产生了直接影响,这并不令人惊讶,因为生成式人工智能可能会影响到数万亿美元的劳动成本。


模型输出准确性和幻觉(https://retool.com/reports/state-of-ai-2023)是阻碍企业将LLM用例投入生产的两个障碍——这就是为什么我们看到内部和外部用例的采用周期分化,后者的幻觉容忍度要低得多。

企业在各种部署考虑方面变得愈发复杂,比如将SLM与LLM结合使用、推理优化、模型路由以及代理设计模式(这仅是其中一部分)。然而,要实现简单应用程序,首先需要借助所需设备,即周围的现成/经过调优的模型检索系统。

微调和RAG是公司定制LLM的两种主要方式,尽管它们不是互斥的。

固然,有越来越多的共识认为,开箱即用的LLM需要增强 - Databricks的CTO Matei Zaharia将复合系统

(https://bair.berkeley.edu/blog/2024/02/18/compound-ai-systems/)描述为以下内容:

“然而,随着越来越多的开发人员开始使用LLM构建,我们相信这种关注正在迅速改变:取得了当前最先进的人工智能结果的是由多个组件组成的复合系统,而非单一的模型。”

在企业中,我们在Databricks的同事发现60%的LLM应用程序使用某种形式的检索增强生成(RAG),而30%的应用程序使用多步链。

Anyscale提供了一个有用的分类法,阐明了RAG和微调适用于各种用例的情况:

高效的微调技术(如LoRA)可以以经济的方式赋予基础模型领域特定的知识,增强在高度垂直化任务中的性能,其中专有数据在预训练中很可能被低估。然而,从纯经济的角度来看,对于大多数企业来说,RAG仍然可能是更好的替代方案:

  1. 企业的知识库是动态的并且不断更新的;重复的微调运行可能变得代价高昂,而检索数据源可以便宜地更新,支持在关键用例中提供更多实时的事实准确性

  2. 上下文语义窗口和召回不太可能很快收敛,但相关相关的检索将始终比饱和背景语义更便宜

  3. RAG过程的每个步骤(预处理、分块策略、后处理、生成)都可以进行优化以提高性能

  4. RAG可以结合引文提供审计轨迹和答案来源的明确可追溯性,增加对模型输出的信任


作为一家上市公司,每一个基本点的利润减速都受到分析师的严格审查。在控制成本的同时,RAG将成为企业大规模部署LLM的关键

了解RAG Stack

一个简单的RAG Stack


一个简单的RAG堆栈在概念上很简单。文件被转换为嵌入式向量,这是一组嵌入式向量,是文本的数学表示。这些向量被放入向量数据库或向量存储中。当提出查询时,查询被转换为一组数学表示,与数据库中的向量进行比较。通过比较最佳匹配的数学表示来检索和返回最具语义相似性的信息,以构建答案的LLM。

简单RAG堆栈与高级RAG堆栈的区别包括更细粒度的操作方式:

  • 数据在进入系统时的处理

  • 数据的表示和存储方式

  • 被LLM操作的数据


从简单到复杂,将存在一系列的生产RAG技术栈:

      相比之下,复杂的RAG系统是为复杂查询而设计的。它们使用多跳检索,从多个来源提取和组合信息。这种方法对于回答需要链接多个文档中的不同信息的复杂问题至关重要。

相对于向量数据库、嵌入模型和数据提取提供商而言,RAG技术栈的一个组成部分-知识图谱-受到了较少关注。知识图谱通过为RAG提供额外的上下文,可以是特定于公司或领域的上下文,有助于实现RAG和生成式人工智能的全部潜力。考虑到白领任务中涉及信息检索的比例,RAG性能的渐进改进产生了可观的经济价值。

Neo4j与微软合作GraphRAG,以增强GenAI能力

重磅-微软发表GraphRAG论文并即将开源项目

微软的GraphRAG:智能问答系统的革命

Anurag Tandon,Neo4j的产品管理副总裁:“知识图谱和GraphRAG的结合对人工智能的转变具有重要意义。知识图谱将数据组织成相互连接的实体和关系,构建了一个框架,确保了RAG生成的响应准确且与上下文相关。我们对得到了许多GenAI客户的积极反馈感到非常兴奋,以及像微软和谷歌这样的合作伙伴、加特纳这样的分析师和更广泛的开发者社区。这只是个开始。”

我们可以参考一家领先的企业软件公司最近的分析师日活动来说明它们的重要性。

ServiceNow的人工智能时刻

ServiceNow是一家市值约为100亿美元的企业软件巨头,他们全力以赴投入人工智能(https://erp.today/servicenow-goes-all-in-on-ai/)。这个工作流自动化平台看到了其人工智能SKU产品发布中最快的采用速度,并且管理层最近在他们的分析师日活动中举了一些提高企业生产力的例子:

  • 30%的解决时间改善

  • 超过80%的自助服务转移改善

  • 25%的开发速度提升


ServiceNow强调了他们人工智能框架的三个要素之一就是知识图谱。


对于ServiceNow来说,知识图谱主要用于使LLM(Language Model)在员工数据上与其他员工、服务和集成的关系方面具有确定性。在使用知识图谱时,基线的RAG(Red, Amber, Green)工作量在相关度和准确的上下文检索方面得到显著改善。对于ServiceNow的企业客户来说,利用知识图谱来结构化数据和优化检索将在可靠性和使用案例的生产级别上产生积极影响。


德国电信

近期,德国电信也提到了他们如何早期使用知识图谱来提高他们的编码助手合作伙伴的准确性。在这里,他们使用RAG和知识图谱来帮助理解如何为个人开发人员和团队提供个性化的编码支持。

Kwesi Acquay,Redpoint Ventures 的负责人:「知识图谱对于解锁垂直人工智能代理工作流至关重要,使得人工智能能够从企业的专有内部知识库中提取细致的上下文。这种针对特定公司的上下文在语义相似性中无法找到,例如相似交易和客户实体关系中的模式,这是专业人员在处理流程中执行关键决策所依赖的重要判断。金融和法律领域的企业尤其应该关注知识图谱,作为从生成性人工智能解决方案中获得更多价值的机会。」

新兴的高级RAG 技术堆栈


新兴的RAG堆栈包括几个组件:

数据传输/提取:

  • 需要从特定位置传入非结构化数据,数据提取仍然是该领域的关键瓶颈(这可以包括从Powerpoint/PDF文档中提取简单的文本等)


向量数据库:

  • 向量数据库用于存储表示底层文本的数学嵌入或向量


向量操作:

  • 向量操作指的是涵盖向量创建、向量优化、向量分析等过程的流程简化。


图数据库:

  • 图数据库用于存储表示底层文本的语义连接和关系的图结构


图操作:

  • 与向量操作类似,图操作涵盖了图创建、图编排、图优化、主体图分析等流程的简化。向量操作和图操作之间的微妙差别在于,图操作中的工作流工具需求更大,因为信息可以以多种层次结构和网络形式表示。同一信息可以根据用例以不同方式表示。


图/向量数据库:

  • 图既可以用作数据存储,也可以用作结构化数据编排层。这意味着图可以用于存储以特定方式检索的知识,或存储关于如何以特定方式检索其他位置的数据(如向量数据库中的数据)的逻辑。因此,在更广泛的RAG系统中,它们可以替代向量数据库或与之并行使用。


LLM编排:

  • 使用多代理系统操纵信息可能会变得复杂,因此出现了用于LLM编排的抽象层来应对这种需求。


LLM:

  • 这些是构建在RAG系统之上的底层基础模型,用于为LLM提供适当和相关的信息以制定答案。


将知识图作为解锁方式

Gartner2024影响力雷达图,知识图谱被认为是即将到来的最有影响力的技术

知识图谱基本上是节点和关系的集合。节点代表个别数据点,而关系定义它们之间的连接。每个节点可以具有属性,提供有关节点的附加上下文或属性。这种方法提供了一种灵活而直观的方式来建立数据中复杂的关系和依赖关系。人们经常形容知识图谱是模仿人类大脑思维方式的一种近似方式。

图数据库/知识图谱已经存在一段时间了,但其历史应用范围一直较窄。在历史上,使用知识图谱主要是用于类似于数据字典的用途,即在不同数据孤岛中强制执行语义结构,统一数据集以揭示隐藏的关系。例如,能够将一个数据库中的"user_id"与另一个数据库中的"USER-name"进行关联。这种用例过去通常是一个痛苦的手动过程,只有大公司才会费心去做,而且通常必须由领域专家手动完成。当时的主要价值主张是针对大数据分析的。

然而,LLM RAG系统已经成为知识图谱的一个完全不同的价值主张的消费者。能够在单词之间建立明确的关联意味着您可以强制确保LLM理解"USER -> Owns_A -> Golden_Retriever -> Has_A_Disease"。通过查看其知识库中的结构化图形,这有助于企业减少幻觉,注入上下文,并充当记忆、个性化机制以及概率LLM的结构化补充。

在这种用例中,有趣的是,尽管知识图谱可以帮助使RAG系统更加企业就绪,但LLM也可以帮助自动化知识图谱的创建。因此,尽管对知识图谱的兴趣和需求增加了,但LLM也可以被结构化到工作流程中以自动化不同类型的知识图谱创建,增加了图谱的适用性和可访问性。

知识图谱在RAG中有两种适用方式:

  • 作为检索信息的数据存储

  • 作为语义结构的数据存储,用于检索向量块


如果它们是数据存储,可以与向量数据库并行使用或替代。如果它们是用于检索向量块的语义结构的数据存储,它们将与向量数据库并行使用。


作为一个数据存储从中检索信息的知识图谱示例。

作为数据存储,知识图谱需要对重要数据和最佳知识表示形式有细致的理解(例如,我是存储文档结构还是基于概念的关系映射等),以及每个图谱如何与RAG系统中的不同代理进行交互等等。

这需要工作流工具和离散数据管道来帮助管理包含不同数据类型和数据抽象级别的不同图谱之间的编排。就像您不会使用单个提示来捕捉工作流的所有描述方式一样,而是将其分解为许多离散提示和代理,使用单个图表或表来存储所有数据是难以操作的,难以创建、维护或编排的,对于信息检索工作流来说,一系列小图谱更为可取。

使用知识图谱相关的场景

我们可以从几个角度思考在RAG系统内何时应该使用知识图谱。

首先,我们来看看使用和不使用知识图谱的实际场景列表。这里的主要考虑因素在于底层数据的复杂性,以及检索过程中是否涉及分层或网络结构。

知识图谱发挥作用的场景:

概念聚合:需要合并或与彼此交流的两个不同文档或数据源

  • 一个例子是当您试图将来自多个文档和数据源的信息进行合并时。一个有用的例子是为 VC 基金创建 RAG 系统时。VC 基金有联系人列表、他们所从事的行业以及他们所关联的基金。人员、行业和基金理想情况下应连接到存在的更广泛的上下文和数据,例如新闻文章之类的非结构化文本。

  • 这也可以看作是一种多跳推理的形式,因为它允许您自动组合多个来源的信息,前提是它们涵盖了相同的概念或上下文。

概念对齐:两个不同领域之间的自动通信

  • 在企业的工作流程中,将新信息融入现有的知识库意味着您需要调整新信息与现有信息的特定部分之间的交互方式。

  • 一个例子是将临床护理实践与医疗环境中的患者记录相关联。例如,临床护理的外部最佳实践正在通过新的研究和临床试验进行更新。这些信息可以直接传输到患者记录和他们具体的病历中。其结果是将最新的安全、经过测试的临床护理实践直接传达给最有可能从新研究中受益的特定患者。

  • 另一个例子可以在农业行业中找到,不同的特定领域对决策和结果起到贡献。例如,特定的天气数据与特定的土壤数据结合,并一起传达,是理解性能和产量所必需的。这些天气和土壤数据属于不同的领域,具有不同的更新频率、不同的细粒度、不同的供应商,所有这些都需要一起理解以获得最佳结果。调整这些信息的结果是更全面地理解当前和预测的广泛农业系统的性能,从而更准确地获得产量和成本信息,让您能够利用非结构化的专家建议和LLM推理能力的优势。在这里可以看到一个大豆病虫害推荐的案例研究。

  • 综合数字孪生是最典型的例子,因为数字孪生需要将许多不同的领域结合在一个代表性的系统中。例如,在建筑行业中,了解在建筑过程中给排水系统和电气系统可能如何相互作用,需要调整特定概念(如建筑时间表、操作的物理空间等)。


分层检索:通过分层步骤/分类实现确定性的检索

  • 下面的兽医保健示例展示了通过首先遍历犬种来实现通过分层检索症状和疾病的更确定性的检索的方法。

  • 这在标准操作程序中也很常见,在获取最终正确答案之前,必须按照一系列步骤的层次结构进行操作。在复杂情况下,此层次结构也可能类似于一个网络,其中特定步骤可能会将您带回到过程的早期阶段。


分层推荐:通过分层类别改进推荐系统

  • 这是在如何使用知识图确保Airbnb和DoorDash的推荐系统以一种分层和上下文相关的方式提供推荐的示例。


个性化/记忆:

  • 记忆和个性化是同一个硬币的两面,因为个性化只是一种有特定场景中应当返回和考虑的主观记忆。这种主观记忆可以通过图的架构预定义。

  • 假设您想要个性化您的个人财务AI系统与您的用户之间的互动。您知道您想要通过确保LLM在提到时跟踪用户的兴趣爱好来个性化它,这样以后可以根据兴趣爱好提供相关活动的建议。现在,您可以设置架构(“兴趣爱好”),描述架构的外观,并在以后的时间跨度内,通过在所有对话中提取用户提到的所有兴趣爱好,用于未来的提取,形成一个知识图谱。


不适用知识图谱的情况

  • 您的系统中错误的数量很少,而且特定错误的性质并不严重,可以通过手动主体系统手动构建语义连接来解决。

  • 容忍错误较多的面向消费者的聊天机器人

  • 非分层的、非语义相似的答案集/知识库(即FAQ Q:A基础)

  • 时间序列信息


关于需要表示为网络、层次结构或扁平结构的基础信息,可以考虑一个更具普遍性的框架。

这种评估可能不一定针对所有数据进行,而是针对您试图进行RAG的特定信息进行。单个组织可能同时具有扁平的特定信息和层次结构的特定信息。

当信息本身存在需要特定遍历的非扁平结构时,类似知识图的图结构可以帮助表示启用更具结构化的信息检索的层次结构或网络结构。

分层信息结构可以以各种方式存在,可能并不明显是“复杂”的。例如,客户支持传统上不被视为复杂的信息系统。零售客户支持用例中的一个假设问题是能够确保为正确的商店检索正确的营业时间。然而,语义相似性的限制意味着有时会返回随机的营业时间作为答案。

这家WhyHow.ai设计合作伙伴希望将关于购物中心中所有商店的信息都表示为一个图。这样,当LLM试图检索相关信息时,它将遍历该图,首先识别问题中提到的具体商店,然后检索与该特定商店相关联的营业时间。由于信息存储在一个图中,混淆不同商店的不同营业时间的机会要低得多,因为检索过程更具结构化。

RAG中知识图谱如何工作的案例研究

另一个设计合作伙伴是一家兽医保健初创企业,希望比较不同动物品种之间的疾病和症状。该设计合作伙伴正在为兽医放射科医师构建支持人工智能的工具,以帮助他们快速诊断动物疾病并生成报告。他们尝试向LLM提供动物历史记录、专家意见以及医疗文件(从向量数据库中检索)以生成一份患病动物的诊断报告、治疗选择和后续步骤。然而,由于不同种类的疾病和治疗方式取决于动物的品种,可靠地从向量数据库中按品种提取准确的信息并不起作用。向量相似性搜索返回了适用于任何动物的疾病信息。因此,许多生成的诊断和治疗信息是不正确的。

该设计合作伙伴联系了WhyHow.AI,因为他们知道他们需要一种更结构化的方法来组织和检索数据,而不需要他们经历另一个冗长的重新优化块划分、标记或分片策略的过程。

这个设计合作伙伴希望实现以下目标:

  • 一个按照动物品种、它们的疾病和治疗方法的特定本体论要求制定的良好结构的图形

  • 一种不需要反复手动重建图形就能不断更新图形中关于新品种动物的新信息的方法


影响:

由于每个动物都有自己独立的症状和疾病图谱,RAG系统可以根据动物逐个查询图谱,并确保只返回与该动物相关的信息,消除了引入无关信息的风险。

“当前的LLM方法在准确性方面存在一个未被解决的隐藏局限。通过WhyHow.AI基础设施提供的知识图谱结构,我们可以以前所未有的方式在放射学报告中使用人工智能。这表明我们的数据可以以更高效的方式用于可靠的工作流程,更加具体和快速。”—WhyHow.AI设计合作伙伴报价

领域特定企业的长期战略壁垒是知识图谱


有趣的一件事是,公司越来越多地使用知识图谱作为他们战略长期优势的核心,因为公司希望了解如何在新的人工智能时代中创建一个优势。大多数公司所拥有的关键优势是特定行业内的专业知识和数据。主要问题是如何将现有的、大部分为非结构化的数据转化为具体和切实的优势。人们处理这个问题的两种主要方法是要么训练一个特定领域的模型,要么构建一个内部知识库,以便更容易地利用、操作或与这些数据交互,通过某种类型的结构化知识库,包括知识图谱。

BloombergGPT的故事展示了训练模型可能存在的一些潜在问题,而公司越来越多地将知识图谱视为他们的长期优势,因为它可以作为可扩展的结构化领域专业知识的表达方式,可以用作RAG的基础构建模块,甚至可以使用已经完成的图谱在未来对特定模型进行微调。

换句话说,在第三方技术以惊人的速度发展的时代,专注于清理和准备特定领域的专有数据以供接入这些系统,代表着一个始终保持优势的基础构建模块。

“我们无法确定是否需要花费数百万美元来训练一个也许与一些基础模型重叠或不重叠的模型。但以结构化的方式表达我们的知识是一种可以在短期和长期中给予我们优势的方法。” — WhyHow.AI设计合作伙伴(大型上市独角兽)提到

未来:小图谱和多智能体Agent系统


适用于RAG的图谱如何进行适应存在巨大的差异,特别是小图谱。与创建所有数据的大型知识表示不同,LLMs和工作流工具可以帮助创建与相关信息密切相关的非常具体的知识表示。这在多智能体RAG系统的背景下尤其有用,随着信息检索系统变得更加复杂,它们将得到发展。

通过独立管理并与每个单一智能体相关的较小子图,我们可以实现对知识的逐个概念或逐个子图层面的操作。

下面的图显示了一个多智能体系统,每个智能体代表医院入职流程中信息处理阶段的特定步骤。通过对流程进行智能体拆分,并在患者记录、医生类型与可用性以及可用床位等方面进行小范围图表建模,每个智能体不需要从一个涵盖所有内容的大型‘医院图表’中进行复杂的数据提取过程。

由于图表范围局限,所产生的错觉面积较小,并且动态检索相关信息的任务更加轻松。就像在复杂过程中我们使用多智能体系统替代单一智能体系统一样,我们将越来越多地使用多图表系统来进行复杂信息检索过程,而不是使用单一图表系统。


结论


随着 RAG 在企业采用生成式 AI 技术中变得核心化,特别是 RAG 堆栈和知识图谱将对概率模型施加确定性程度而变得不可或缺。此外,知识图谱可以作为关键基础设施,促进未来生成式 AI 创新,如 AI 多智能体系统。

考虑到数万亿美元的劳动力成本可以用于人工智能,并且其中一部分涉及信息检索,基于知识图谱的RAG 堆栈将成为可靠性和性能增强的关键,以将内部和外部用例投入生产。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询