知识图谱和 LLM:多跳问答

news2024/11/24 13:47:16

检索增强生成(RAG)应用程序通过将外部来源的数据集成到 LLM 中,擅长回答简单的问题。但他们很难回答涉及将相关信息之间的点连接起来的多部分问题。这是因为 RAG 应用程序需要一个数据库,该数据库旨在存储数据,以便轻松找到回答这些类型问题所需的所有内容。

知识图谱非常适合处理复杂的多部分问题,因为它们将数据存储为节点网络及其之间的关系。这种连接的数据结构允许 RAG 应用程序有效地从一条信息导航到另一条信息,从而访问所有相关信息。

使用知识图谱构建 RAG 应用程序可以提高查询效率,尤其是在处理连接的数据时,并且您可以将任何类型的数据(结构化和非结构化)转储到图中,而无需重新设计架构。

这篇博文探讨了:

  • RAG 应用程序的内部运作
  • 知识图谱作为一种高效的信息存储解决方案
  • 结合图和文本数据以增强洞察力
  • 应用思维链问答技术

RAG 的工作原理

检索增强生成(RAG)是一种通过从外部数据库检索相关信息并将其合并到生成的输出中来增强 LLM 响应的技术。

RAG 过程很简单。当用户提出问题时,智能搜索工具会在提供的数据库中查找相关信息:

图片

LLM 申请的检索增强方法

您可能使用过*“与 PDF 聊天”*等工具来搜索所提供文档中的信息。这些工具大多数使用向量相似性搜索来识别包含与用户问题相似的数据的文本块。实现很简单,如下图所示。

图片

使用向量相似性搜索的 RAG 应用程序

PDF(或其他文档类型)首先被分割成多个文本块。您可以根据文本块的大小或文本块之间是否存在重叠来使用不同的策略。然后,RAG 应用程序使用文本嵌入模型来生成文本块的向量表示。

这就是在查询时执行向量相似性搜索所需的所有预处理。最后,RAG 在查询时将用户输入编码为向量,并使用余弦等相似性算法来比较用户输入和嵌入文本块之间的距离。

通常,RAG 会返回三个最相似的文档,为 LLM 提供背景信息,从而增强其生成准确答案的能力。当矢量搜索可以识别相关的文本块时,这种方法效果相当好。

然而,当 LLM 需要来自多个文档甚至多个文本块的信息来生成答案时,简单的向量相似性搜索可能不够。例如,考虑以下问题:

OpenAI 的前员工是否创办了自己的公司?

这个问题是多部分的,因为它包含两个问题:

  • OpenAI 的前员工有哪些?
  • 他们中有人创办了自己的公司吗?

图片

信息跨越多个文档

回答这些类型的问题是一个多跳问答任务,其中单个问题可以分解为多个子问题,而获得准确的答案需要检索大量文档。

简单地在数据库中对文档进行分块和嵌入,然后使用简单的向量相似性搜索不会达到多跳问题的目标。原因如下:

  • **前 N 个文档中的重复信息:**所提供的文档不能保证包含完整回答问题所需的所有信息。例如,排名前三的类似文件可能都提到 ShariqOpenAI 工作过,并可能创立了一家公司,而忽略了所有其他成为创始人的前员工。
  • **缺少参考信息:**根据块大小,某些块可能不包含完整的上下文或对文本中提到的实体的引用。重叠块可以部分缓解丢失引用的问题。还有一些引用指向另一个文档的示例,因此您需要共同引用解析或预处理技术。
  • **很难定义理想的 N 个检索文档:**有些问题需要更多文档才能使 LLM 准确,而在其他情况下,大量文档只会增加噪音(和成本)。

在某些情况下,相似性搜索将返回重复的信息,而其他相关信息由于检索到的信息数量或嵌入距离较低而被忽略。

图片

相似性搜索可能返回重复信息的示例,而其他相关信息可能由于检索到的信息数量或嵌入距离较低而被忽略

很明显,普通向量相似性搜索无法满足多跳问题。但我们可以采用多种策略来回答需要来自不同文档的信息的多跳问题。

知识图谱作为压缩信息存储

如果您密切关注 LLM 领域,您可能已经看到了压缩信息以使其在查询时更易于访问的技术。例如,您可以使用 LLM 提供文档摘要,然后嵌入和存储摘要而不是实际文档。使用这种方法,您可以消除大量噪音,获得更好的结果,并且不用担心提示令牌空间。

您还可以在摄取时或查询期间执行上下文摘要。查询期间的上下文压缩更具指导性,因为它选择与所提供的问题相关的上下文。但查询期间的工作负载越重,用户延迟预计就越差。我们建议将尽可能多的工作负载转移到摄取时间,以改善延迟并避免其他运行时问题。

可以应用相同的方法来总结对话历史记录,以避免遇到令牌限制问题

我还没有看到任何有关将多个文档组合和汇总为单个记录的文章。我们可以合并和总结的文档组合可能太多,因此在摄取时处理所有文档组合的成本太高。知识图谱克服了这个问题。

信息提取管道已经存在了一段时间。这是从非结构化文本中提取结构化信息的过程,通常以实体和关系的形式。将其与知识图谱结合起来的美妙之处在于您可以单独处理每个文档。当知识图谱被构建或丰富时,来自不同记录的信息就被连接起来。

图片

从文本中提取实体和关系以构建知识图谱

知识图谱使用节点和关系来表示数据。在此示例中,第一个文档提供了 DarioDaniela 曾经在 OpenAI 工作的信息,而第二个文档提供了有关他们的 Anthropic 初创公司的信息。每条记录都是单独处理的,但知识图谱表示连接数据,从而可以轻松回答跨多个文档的问题。

大多数回答多跳问题的较新的 LLM 方法都侧重于在查询时解决任务。事实上,许多多跳问答问题可以通过在摄取之前预处理数据并将其连接到知识图谱来解决。您可以使用 LLM 或自定义文本域模型来执行信息提取管道。

为了在查询时从知识图谱中检索信息,我们必须构建适当的 Cypher 语句。幸运的是, LLM 非常擅长将自然语言翻译为 Cypher 图查询语言。

图片

使用知识图谱的 RAG 的 LLM 应用

智能搜索使用 LLM 生成适当的 Cypher 语句,以从知识图谱中检索信息。然后,该信息被传递到另一个 LLM 调用,该调用使用原始问题和提供的信息来生成答案。在实践中,您可以使用不同的 LLM 来生成 Cypher 语句和答案,也可以在单个 LLM 上使用各种提示。

结合图形和文本数据

有时,您需要结合图形和文本数据来查找相关信息。例如,考虑这个问题:

关于 Prosper Robotics 创始人的最新消息是什么?

在此示例中,您希望 LLM 使用知识图谱结构识别 Prosper Robotics 创始人,然后检索提及他们的最新文章。

图片

结构化信息和非结构化文本之间具有明确链接的知识图谱

在知识图谱中,您可以从 Prosper Robotics 节点开始,遍历到其创始人,然后检索提及他们的最新文章。

知识图谱表示有关实体及其关系的结构化信息,以及作为节点属性的非结构化文本。您还可以使用命名实体识别等自然语言技术将非结构化信息连接到知识图谱中的相关实体,如 MENTIONS 关系所示。

图片

使用 Cypher 和向量相似性搜索从知识图谱中检索相关信息

当知识图谱包含结构化和非结构化数据时,智能搜索工具可以使用 Cypher 查询或向量相似度搜索来检索相关信息。在某些情况下,您还可以结合使用两者。例如,您可以从 Cypher 查询开始来识别相关文档,然后应用向量相似性搜索来查找这些文档中的特定信息。

在思维链中使用知识图谱

围绕 LLM 的另一个令人着迷的发展是思维链问题回答,尤其是 LLM 代理。

LLM 代理可以将问题分为多个步骤,定义计划,并利用任何提供的工具生成答案。通常,代理工具由代理可以查询以检索附加信息的 API 或知识库组成。

让我们再次考虑同样的问题:

关于 Prosper Robotics 创始人的最新消息是什么?

图片

知识图谱实体和非结构化文本之间没有明确的链接

假设您在文章和它们提到的实体之间没有明确的连接,或者文章和实体位于不同的数据库中。在这种情况下,使用思维链流程的 LLM 代理将非常有帮助。首先,代理会将问题分成子问题:

  • Prosper Robotics的创始人是谁?
  • 关于创始人的最新消息是什么?

现在代理可以决定使用哪个工具。假设它基于知识图谱,这意味着它可以检索结构化信息,例如 Prosper Robotics 创始人的名字。

代理发现 Prosper Robotics 的创始人是 Shariq Hashme。现在,智能体可以使用第一个问题中的信息重写第二个问题:

  • 关于 Shariq Hashme 的最新消息是什么?

代理可以使用一系列工具来生成答案,包括知识图谱、向量数据库、API 等。对结构化信息的访问允许 LLM 应用程序执行需要聚合、过滤或排序的分析工作流程。考虑这些问题:

  • 哪家单独创始人的公司估值最高?
  • 谁创办的公司最多?

普通向量相似性搜索很难回答这些分析问题,因为它搜索非结构化文本数据,从而很难对数据进行排序或聚合。

虽然思维链展示了 LLM 的推理能力,但它并不是最用户友好的技术,因为由于多次 LLM 调用,响应延迟可能会很高。但我们仍然非常兴奋地了解更多有关将知识图谱集成到许多用例的思想流中的信息。

图片

中途关于成立调查委员会的想法。

为什么将知识图谱用于 RAG 应用程序

RAG 应用程序通常需要从多个来源检索信息以生成准确的答案。虽然文本摘要可能具有挑战性,但以图格式表示信息有几个优点。

通过单独处理每个文档并将它们连接到知识图谱中,我们可以构建信息的结构化表示。这种方法可以更轻松地遍历和导航互连文档,从而实现多跳推理来回答复杂的查询。此外,在摄取阶段构建知识图谱可以减少查询期间的工作量,从而改善延迟。

RAG 应用程序将越来越多地使用结构化和非结构化数据来生成更准确的答案。知识图谱可以轻松吸收所有类型的数据。这种灵活性使其适用于广泛的用例和 LLM 应用程序,特别是涉及实体之间关系的应用程序(例如欺诈检测、供应链、主数据管理等)。

通读 GitHub 存储库上有关此项目的文档。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html+js+css在线倒计时

代码在图片后面 点赞加关注 谢谢大佬照顾&#x1f61c; 图例 时间到前 时间到后 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width,…

Docker:三、安装nginx与tomcat

&#x1f341;安装常见服务 &#x1f332;安装nginx &#x1f9ca;1、搜索镜像 Ⅰ.hub docker上查询&#xff1a;https://hub.docker.com/_/nginx Ⅱ. 命令查询&#xff1a;docker search nginx &#x1f9ca;2、下载镜像 命令&#xff1a;docker pull nginx &#x1f9c…

google 邮件信息收集

主要介绍通过google和fofax对目标进行邮件信息收集 chrome插件 email-whatsapp-extractor link-klipper-extract-all bulk-url-opener-extension email-whatsapp-extractor 使用正则表达式&#xff0c;获取访问页面内所有的email邮箱和whatsapp号码&#xff0c;以表格的形式导…

vulnhub--IMF

环境 攻击机&#xff1a;192.168.96.4 靶机&#xff1a;ip未知 主机探测 确定靶机ip为32的主机 端口扫描 访问80端口 外围打点 在contact.php页面源码中找到了flag1 之后没啥突破 但查看网络后发现contact.php页面请求的三个js文件的文件名很有特点&#xff0c;猜测是base64编码…

奥比中光astra_pro相机使用记录

一、信息获取 1、官网 用于了解产品信息 http://www.orbbec.com.cn/sys/37.html 2、开发者社区 咨询问题下载开发部https://developer.orbbec.com.cn/ 二 、windowvs19 1、相机型号 orbbec_astro_pro 根据对应的型号找到需要的包工具 踩坑1&#xff0c;因为这个相机型号…

C++ UTF-8编解码

icu 编解码数据&#xff1a; extern const UConverterSharedData _MBCSData, _Latin1Data, _UTF8Data, _UTF16BEData, _UTF16LEData, _UTF32BEData, _UTF32LEData, _ISO2022Data, _LMBCSData1,_LMBCSData2, _LMBCSData3, _LMBCSData4, _LMBCSData5, _LMBCSDat…

数字信号处理及MATLAB仿真(2)——离散系统

上回书说到如何来编写一些简单的离散时间序列&#xff0c;今天咱们就来谈谈一些关于常系数差分方程的操作吧。 说到这里咱们对于常系数差分方程可能最关心的就是怎么去求解了。 其中最关键的部分就是filter函数&#xff0c;可以用来计算系统在输入信号为x的输出信号y。大家学过…

Hilbert编码 思路和scala 代码

需求&#xff1a; 使用Hilbert 曲线对遥感影像瓦片数据进行编码&#xff0c;获取某个区域的编码值即可 Hilbert 曲线编码方式 思路 大致可以对四个方向的数据进行归类 左下左上右上右下 这个也对应着编码的顺序 思考在不同Hilbert深度&#xff08;阶&#xff09;情况下的…

【重磅】万能模型-直接能换迪丽热巴的模型

万能模型&#xff0c;顾名思义&#xff0c;不用重新训练src&#xff0c;直接可以用的模型&#xff0c;适应大部分原视频脸 模型用法和正常模型一样&#xff0c;但可以跳过训练阶段&#xff01;直接到合成阶段使用该模型 本模型没有做Xseg&#xff0c;对遮挡过多的画面不会自动适…

掌握 Postman 脚本:入门指南

在探索 API 测试自动化环墁下&#xff0c;Postman 脚本显现其强大功能和灵活性&#xff0c;它不仅仅是 API 测试的工具&#xff0c;更是一个综合性的自动化平台。 Postman 脚本简介 Postman 允许用户在 API 请求生命周期中运行 JavaScript 脚本&#xff0c;这些脚本分为以下三…

FineBI在线学习资源-数据处理

FineBI在线学习资源汇总&#xff1a; 学习资源 视频课程 帮助文档 问答 数据处理学习文档&#xff1a; 相关资料&#xff1a; 故事背景概述-https://help.fanruan.com/finebi6.0/doc-view-1789.html 基础表处理-https://help.fanruan.com/finebi6.0/doc-view-1791.html …

联合概率密度函数

目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么&#xff1f; 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中&#xff0c;对总面积做规范化处理&#xff0c;令总面积1&#xff0c; f ( x ) f(x) f(x)则成…

使用中国大陆镜像源安装最新版的 docker Deamon

在一个智算项目交付过程中&#xff0c;出现了新建集群中的全部 docker server V19 进程消失、仅剩 docker server 的 unix-socket 存活的现象。 为了验证是否是BD产品研发提供的产品deploy语句缺陷&#xff0c;需要在本地环境上部署一个简单的 docker Deamon 环境。尴尬的是&a…

SD16S1Y 符合GB2312标准16X16点阵汉字库芯片IC

一般概述 SD16S1Y是一款内含16x16点阵的汉字库芯片&#xff0c;支持GB2312国标简体汉字(含有国家信标委 合法授权)、ASCII字符。排列格式为竖置横排。用户通过字符内码&#xff0c;利用本手册提供的方法计算出 该字符点阵在芯片中的地址&#xff0c;可从该地址连续读出字…

【JavaWeb程序设计】JSP编程

目录 一、编写JSP页面&#xff0c;在界面上显示1-9&#xff0c;9个链接&#xff0c;单击每个链接&#xff0c;能够在另一个页面打印该数字的平方。 1. 运行截图 2. 第一个jsp页面&#xff08;index.jsp&#xff09; 3. 第二个jsp页面&#xff08;square.jsp&#xff09; 二…

信创-办公软件应用工程师认证

随着国家对信息技术自主创新的战略重视程度不断提升&#xff0c;信创产业迎来前所未有的发展机遇。未来几年内&#xff0c;信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

卫星网络——Walker星座简单介绍

一、星座构型介绍 近年来&#xff0c;随着卫星应用领的不断拓展&#xff0c;许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比&#xff0c;卫星星座的覆盖范围显著增加&#xff0c;合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖&#xff0c;这样的特性使得…

SpringBoot的在线教育平台-计算机毕业设计源码68562

摘要 在数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;在线教育已成为教育领域的重要趋势。为了满足广大学习者对于灵活、高效学习方式的需求&#xff0c;基于Spring Boot的在线教育平台应运而生。Spring Boot以其快速开发、简便部署以及良好的可扩展性&#xff0c…

CVPR2024自动驾驶轨迹预测方向的论文整理

2024年自动驾驶轨迹预测方向的论文汇总 1、Producing and Leveraging Online Map Uncertainty in Trajectory Prediction 论文地址&#xff1a;https://arxiv.org/pdf/2403.16439 提出针对在线地图不确定性带给轨迹预测的影响对应的解决方案。 在轨迹预测中&#xff0c;利用在…

Linux系统的基础知识和常用命令

1、什么是Linux&#xff1f; 是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布&#xff0c;它主要受到Minix和Unix思想的启发&#xff0c;是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行…