从传统 RAG 到图 RAG,赋予大型语言模型更强大的知识力量

大型语言模型 (LLMs) 在固定数据集上进行训练,其知识在最后一次训练更新时就已固定。

ChatGPT 的常规用户可能已经注意到其众所周知的局限性:“训练数据截止到 2021 年 9 月”。

这种局限性会导致模型产生不准确或过时的响应,因为它们会“幻觉”信息。

在不重新训练或微调的情况下,用新信息更新模型或增强其上下文理解能力,在资源和人力方面都极具挑战。

检索增强生成 (RAG)

检索增强生成 (简称 RAG) 是一种通过整合来自外部可靠知识库的信息来改进大型语言模型 (LLMs) 的技术。

RAG 背后的原理很简单:当 LLM 被问到一个问题时,它不会仅仅依赖于自己已有的知识。

相反,它会首先从指定的知识源中查找相关信息。

这种方法确保了生成的输出引用了大量语境丰富的數據,并通过最新的相关信息进行增强。

RAG 主要通过两个阶段的流程来运作:检索内容生成

检索阶段

在检索阶段,算法会定位并收集与用户提示或查询相关的相关信息片段。

例如,如果你想搜索福建面食的食谱,你的提示可能是“_福建面食的配料是什么?_”

系统会识别出与查询语义相关的文档,并使用相似度度量来计算其相关性,通常使用余弦相似度( Is Cosine-Similarity of Embeddings Really About Similarity?) 来进行计算。

在收集外部知识后,它会将其附加到用户的提示中,并将其作为增强后的输入发送到语言模型。

内容生成阶段

在随后的生成阶段,LLM 将此增强后的提示与其自身的训练数据表示相结合,以生成一个针对用户查询的定制化响应。

该响应提供了一种个性化和可验证信息,适合通过聊天机器人等应用程序使用。

检索增强生成

RAG 的重要性

在当今的技术领域,LLMs 驱动着 众多 自然 语言 应用程序 ,能够理解或生成类似人类的文本。

虽然这些模型功能强大,但有时也会出现不足。

有时,它们在生成不正确的响应时会过于自信,以至于人们很容易被它们极具说服力的论据所影响。

RAG 试图通过引导 LLM 从可信来源获取信息来缓解这些问题,从而保持模型输出的相关性和准确性。

RAG 的局限性

就像生活中的所有事物一样,传统的 RAG 方法也有其复杂性和挑战。

虽然 RAG 在增强 LLMs 的功能方面具有开创性,但它也存在一些局限性,这些局限性会影响其有效性和适用性。

其中一个主要挑战涉及检索信息的准确性和数据源异质性。

为了使 RAG 有效,它通常依赖于多个外部来源,这些来源可能具有不同的格式、标准和可靠性级别。(例如 PDF、平面文件、Markdown、CSV、Web 内容等)

RAG 实现也遇到了一些困难,例如处理含糊的查询或需要深入理解上下文的查询。

这些问题是技术设计固有的问题,主要源于检索过程,检索过程有时会忽略产生精确响应所需的细微差别。

上下文很重要,一个恰当的逗号也是如此

RAG 的改进

提高 RAG 系统的检索准确率和效率是自然语言处理和机器学习领域持续进行的研究方向。

为了实现这些改进,可以采取多种策略,但我想要重点介绍两种在当今技术条件下可以实现的显着改进。

  1. 实施更复杂的检索算法,能够更好地理解查询的语义,可以提高检索到的文档的相关性。

  2. 有效地索引知识库,以加快检索过程,而不牺牲结果的质量。

这将我们引向…

图 RAG:RAG x 知识图谱

图 RAG 在 RAG 的概念基础上,利用了知识图谱 (KGs)。

这种创新方法是由 NebulaGraph 首创的概念,它通过整合图数据库,改变了 LLMs 解释和响应查询的方式。

图 RAG 通过将 KGs 中的结构化数据整合到 LLM 的处理中,为模型的响应提供了更细致入微和信息丰富的基础。

KGs 是对现实世界实体及其关系的结构化表示。

它们包含两个主要部分:_节点_和_边_。

节点代表单个实体,例如_人物_、_地点_、_物体_或_概念_。

另一方面,边代表这些节点之间的关系,表明它们是如何相互连接的。

一个简单的知识图谱

这种结构极大地提高了 LLMs 生成有见地的响应的能力,因为它使模型能够访问精确且与上下文相关的數據。

图 RAG 的创新之处在于它将图数据库与 LLMs 整合,以在生成响应之前丰富模型的上下文。

一些流行的图数据库产品包括 Ontotext, NebulaGraphNeo4J

图 RAG 的重要意义

随着 LLMs 继续在复杂性和能力方面不断发展,图 RAG 有可能对 AI 领域产生重大影响。

以下是我对这种整合如何演变的展望:

  1. 未来 LLMs 预计将表现出对复杂查询的改进理解能力和推理能力。

图 RAG 可以利用这些进步来提供更精确、更富含上下文的答案。

来自知识图谱的结构化知识,再加上更复杂的 LLMs,可能会导致 AI 在理解抽象概念、推理以及生成细致入微的响应方面取得突破。

  1. 随着 LLMs 的持续进步,它们与知识图谱的整合可能会变得更加动态和无缝。

这可能包括根据全球事件或发现实时更新 KGs。

LLMs 可以通过将从用户交互或其他数据源收集的新信息整合到知识图谱中,在自动增强和更新知识图谱方面发挥作用。

使用诸如来自人类反馈的强化学习 (RLHF) 和来自 AI 反馈的强化学习 (RLAIF) 等技术可以进一步帮助模型与人类偏好保持一致,并遵守 HHH (不是摔跤手,而是帮助、诚实、无害) 原则。

  1. 随着英伟达努力实现 AI 计算的民主化,未来 LLMs 和图 RAG 实现的进步将集中在提高计算效率和可扩展性方面。

这种转变将使图 RAG 能够应用于更广泛的应用程序,包括那些需要实时响应或在资源有限的环境中运行的应用程序。

  1. 未来 LLMs 预计将在多个领域拥有更广泛、更深入的知识。图 RAG 可以促进跨不同领域的知识转移,这将使生成从不同领域获取信息的见解或解决方案成为可能。

例如,应用认知科学的发现可能会导致开发更自然的人机交互模型,或者将网络安全与心理学相结合可能会提高安全措施的有效性。

  1. 随着图 RAG 技术的发展,采用诸如资源描述框架 (RDF) 等知识图谱标准可以提高各种系统之间的互操作性。

这可能意味着不同的实现可以相互交互和协作,从而推动更广泛的采用和创新。

图 RAG 演示

在本演示中,我们将使用 Govtech 的开发者门户网站 中的产品信息作为我们的知识库。

数据集示例。我们将很快将其转换为可用的格式。

  1. 设置

  • 使用 Neo4j Desktop 启动一个 Neo4j 本地实例

Neo4j Desktop 界面

  • 使用 LangChain 本地连接到 Neo4j 数据库。好消息是 LangChain 有一个 现成的模板 可以轻松设置。
  1. 提取

  • 使用提示工程和 LLM 提取信息、节点及其连接。以下是一个提示示例:
\# 创建知识图谱的说明  
\## 概述  
您被设计用于将数据组织成知识图谱。  
\- \*\*节点\*\*: 代表实体和想法。  
\- 目标是确保知识图谱简单易懂,便于广泛使用。\## 节点标记  
\- \*\*一致性\*\*: 对节点使用简单的标签。例如,将任何组织实体标记为“公司”,而不是使用诸如“Facebook”或“Amazon”之类的术语。  
\- \*\*节点标识符\*\*: 选择文本或可理解的标识符,而不是数字标识符。  
  - \*\*允许的节点标签\*\*: 如果存在特定允许的节点标签,请在此处列出。  
  - \*\*允许的关系类型\*\*: 如果存在特定允许的关系类型,请在此处列出。

\## 管理数值数据和日期  
\- 将数值信息直接作为节点的属性集成。  
\- \*\*集成日期/数字\*\*: 不要为日期或数字创建单独的节点,而是将它们作为属性附加。  
\- \*\*属性格式\*\*: 使用键值对格式。  
\- \*\*避免使用引号\*\*: 在属性值中不要使用转义引号。  
\- \*\*键命名\*\*: 采用 camelCase 命名键,例如 \`dateTime\`。

\## 一致性  
\- \*\*实体一致性\*\*: 确保跨不同提及或引用的实体一致地识别。

## 遵守指南  
严格遵守这些说明是强制性的。不遵守将导致终止。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

  1. 图谱构建

  • 使用 CSVLoader 和文档分段来处理我们的文档

  • 将提取的信息映射到图节点和关系

  • 通过我们的提取管道处理文档,并将信息存储在 Neo4j 中

该过程花费了近一个小时,最终产生了提取的节点标签列表

  • 不幸的是,并非所有节点标签都对我们的上下文有用,或者符合我们的需求。
{  
  "identity": 1040,  
  "labels": \[  
    "Feedbackstatus"  
  \],  
  "properties": {  
    "id": "Feedback-Success",  
    "message": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1040"  
},  
{  
  "identity": 1582,  
  "labels": \[  
    "Feedbackstatus"  
  \],  
  "properties": {  
    "id": "Feedbacksuccess",  
    "status": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1582"  
},  
{  
  "identity": 1405,  
  "labels": \[  
    "Header"  
  \],  
  "properties": {  
    "id": "Modalcardhead",  
    "class": "sgds-modal-card-head"  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1405"  
},  
{  
  "identity": 1112,  
  "labels": \[  
    "Feedbackindicator"  
  \],  
  "properties": {  
    "id": "Feedbacksuccess",  
    "title": "check",  
    "message": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1112"  
...
  1. 评估和细化

  • 我们将指定 LLM 应该提取哪些节点标签来细化我们的方法
permissible\_nodes\_to\_extract = \[  
    "Aisubfield",  
    "Application",  
    "Cloudservice",  
    "Concept",  
    "Digitalsolution",  
    "Division",  
    "Entity",  
    "Feature",  
    "Fundinginitiative",  
    "Initiative",  
    "Link",  
    "Location",  
    "Organization",  
    "Person",  
    "Platform",  
    "Policy",  
    "Program"  
    "Resource",  
    "Role",  
    "Schema",  
    "Service",  
    "Standard",  
    "Technology",  
    "Technologyplatform",  
    "Technologystack",  
    "Webframework",  
    "Webresource",  
    "Website"  
\]
  • 使用 Neo4j 浏览器浏览我们新构建的知识图谱

好多了!

  • 持续细化我们的提取和图谱构建方法

经过所有努力,魔法终于开始了!

考虑以下查询:

Q: “请告诉我更多关于 AiSay 的信息,谁开发了这款产品,以及它的优势和应用。另外,请告诉我 AiSay 的独特之处。”

基础 RAG: “AiSay 是一款由新加坡政府开发的 AI 驱动的文档阅读器。它可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本以及结构化/非结构化文档。与传统的 OCR 系统不同,AiSay 可以为图像和 PDF 文件等文档提供结构化的响应。它使用 OCR、文档问答技术和大型语言模型来推导出上下文并回答查询。AiSay 可扩展,具有同步和异步调用选项,允许处理大型文件。它在云上托管为无服务器,使其在体积上可扩展,能够处理大型文件。AiSay 正在积极开发中,支持安全性和数据分类,最高可达 RESTRICTED/SENSITIVE NORMAL。展望未来,将支持更多文档类型。AiSay 的独特功能包括它能够为各种文档类型提供结构化的响应,其可扩展性和对安全性和数据分类的支持。”

图 RAG: “AiSay 是一款由新加坡政府开发的 AI 驱动的文档阅读器。它是一个文档解析器,可以提供结构化的响应,提取和整合来自各种文档的信息到现有系统中。AiSay 可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本以及结构化/非结构化文档。与传统的光学字符识别 (OCR) 系统不同,AiSay 可以为图像 (JPEG、PNG、TFIF) 和 PDF 文件等文档提供结构化的响应。

AiSay 的一些主要优势包括:

  1. 由于自动填写从文档上传中获取的关键数据以进行表单提交,从而减少了人工错误并提高了數據准确性。

  2. 提高了数字服务体验,因为一旦文档上传,AiSay 可以自动填写关键数据。

AiSay 在为各种文档类型提供结构化响应方面独树一帜,支持多种格式和语言。它还为每个任务提供置信度得分,以确定是否需要额外支持,从而在置信度高的任务中实现最少的人工干预。此外,AiSay 可扩展,因为它在云上托管为无服务器,使其能够处理大型文件和异步提取过程。”

图 RAG 与基础 RAG 的比较

在本例中,图 RAG 与传统 RAG 方法相比的优势显而易见。

该响应不仅证明了准确性,而且还丰富了上下文和关系,提供了一种标准 RAG 方法所没有的深度。

图 RAG 的秘密在于它能够分析用户的查询,在图数据库中确定相关數據,并将这种上下文洞察整合到引导 LLM 响应的过程中。

这种方法利用了一个传统方法可能错过的相互关联的信息网络,从而对查询有了更细致入微的理解。

让我们再尝试几个例子

Q: “我需要从一些文档中删除敏感信息。Govtech 提供哪些具有这些功能的产品?”

基础 RAG: “Govtech 提供 Cloak 和 FileSG 这两种产品,它们具有帮助从文档中删除敏感信息的功能。”

图 RAG: “GovTech 提供一款名为 Cloak 的产品,它是一个用于符合政策的數據匿名化的中央隐私工具包。该产品帮助公务员将數據匿名化技术应用于数据集,并根据指南审查重新识别风险。”

我们需要解决你频繁的操控行为

Q: “DIAB 与 SIaC 有什么不同?”

基础 RAG: “提供的文档没有直接比较数据基础设施一体化 (DIAB) 与任何名为 SIaC 的东西,也没有提及 SIaC。因此,根据给定的上下文,无法直接概述 DIAB 和 SIaC 之间的差异。但是,我们可以总结 DIAB 的关键方面如下:

  1. **目的和开发**: DIAB 由 GovTech 的数据科学与人工智能部门 (DSAID) 开发,旨在作为商业云政府 (GCC) 上数据基础设施部署和维护的加速器。它专门设计用于帮助政府机构构建、部署和保护数据基础设施。

  2. **关注数据基础设施**: DIAB 强调构建一致且可扩展的数据基础设施,使机构在设计和实施云基础设施时可以节省时间并减少开销。这种关注使机构能够更专注于构建应用程序层。

  3. **使用基础设施即代码 (IaC)**: DIAB 利用 IaC 模板和参考架构来帮助进行数据工程方面的考虑,简化设置和管理数据基础设施的过程。

由于没有关于 SIaC 的信息,因此无法进行比较。DIAB 的特点突出了其作为政府机构在云中有效部署和管理数据基础设施的工具的作用,它利用 IaC 来提高效率和可扩展性。”

图 RAG: “DIAB (数据基础设施一体化) 和 SIaC (安全基础设施即代码) 都是旨在为政府机构简化云基础设施部署的产品。但是,它们在具体关注点和功能方面有所不同。

DIAB 作为商业云政府 (GCC) 上数据基础设施部署和维护的加速器。它帮助机构构建、部署和保护数据基础设施,专注于数据工程方面的考虑,并提供基础设施即代码 (IaC) 模板。DIAB 的目标是帮助机构构建一致且可扩展的数据基础设施,其主要优势包括易用性、提高效率、内置合规性、部署灵活性和未来证明。

另一方面,SIaC 提供可定制的模板,用于以安全、合规和自动化的方式部署云基础设施。它专注于安全配置来自云服务提供商的托管服务和工具,具有模块化且易于适应的模板。SIaC 的关键功能包括遵守新加坡政府标准、针对不同用例的模块化、与 SGTS 组件的集成以及云原生设计。

总而言之,虽然 DIAB 和 SIaC 都旨在为政府机构简化云基础设施部署,但 DIAB 专注于数据基础设施部署,重点关注数据工程方面的考虑和 IaC 模板,而 SIaC 专注于安全且合规的云基础设施部署,具有可定制的模板和模块化设计。”

赢了

结论

从传统的检索增强生成 (RAG) 向图 RAG 的转变,代表了我们与大型语言模型 (LLMs) 交互方式的重要进步。

这种转变解决了以下基本挑战:_如何提高 LLMs 提供与上下文相关的准确答案以应对复杂查询的能力_。

当比较这两种方法时,图 RAG 在处理与上下文相关的复杂查询方面的优势变得显而易见。

传统的 RAG 技术往往无法处理与上下文相关的复杂问题。

相比之下,图 RAG 利用了更复杂的数据网络,提供能捕捉到查询细微之处更深刻理解的响应。

然而,图 RAG 的有效性并非一种一刀切的解决方案。

它仍然高度依赖于底层 KGs 的质量、深度和广度。

在 KG 有限或偏向特定领域的场景中,图 RAG 的性能可能无法超过传统 RAG 方法。

尽管如此,这种转变有望导致 AI 系统更好地模仿人类的思维和发现。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值