理解GraphRAG(一):RAG的挑战
来源:51CTO.COM
时间:2024-05-01 11:27:18 493浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《理解GraphRAG(一):RAG的挑战》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
RAG(Risk Assessment Grid)是一种通过外部知识源增强现有大型语言模型(LLM)的方法,以提供和上下文更相关的答案。在RAG中,检索组件获取额外的信息,响应基于特定来源,然后将这些信息输入到LLM提示中,以使LLM的响应基于这些信息(增强阶段)。与其他技术(例如微调)相比,RAG更经济。它还有减少幻觉的优势,通过基于这些信息(增强阶段)提供额外的上下文——你RAG成为今天LLM任务的(如推荐、文本提取、情感分析等)的流程方法。
如果我们进一步分解这个想法,根据用户意图,我们通常会查询一个向量数据库。向量数据库使用连续的向量空间来捕捉两个概念之间的关系,使用基于接近度的搜索。
向量数据库概述
在向量空间中,无论是文本、图像、音频还是任何其他类型的信息,都被转换为向量。向量是数据在高维空间的数值表示。每个维度对应数据的一个特征,每个维度中的值反映了该特征的强度或存在。 通过向量表示,我们可以对数据进行数学运算、距离计算和相似度比较等操作。不同维度对应的值反映了该特征的强度或存在与否。 以文本数据为例,可以将每个文档表示为一个向量,其中每个维度表示一个单词在文档中的出现频率。这样,两个文档可以通过计算它们的向量之间的距离来
在数据库中进行基于接近度的搜索,涉及并使用另一个向量查询这些数据库,并搜索在向量空间中“接近”它的向量。向量之间的接近度通常由距离度量来确定,例如欧几里得距离、余弦相似度或曼哈顿距离。向量之间的接近度通常由距离度量来确定,例如欧几里得距离、余弦相似度或曼哈顿距离。
当您在向数据库中执行搜索时,您提供了一个系统将其转换为向量的查询。然后数据库计算该查询向量与数据库中已存储的向量之间的距离或相似性。接近查询向量的向量(根据所选择度量)被认为是最相关的结果。这些最接近查询向量的向量(根据所选度量)被认为是最相关的结果。
基于接近度的搜索在向量数据库中特别强大,适用于推荐系统、信息检索和异常检测等任务。
这种方法使系统能够更直观地运行,并通过理解数据中的上下文和深层含义,更有效地响应用户查询,而不仅仅依赖于表面匹配。
然而,在应用程序连接到数据库进行高级搜索方面存在一些限制,例如数据质量、处理动态知识的能力以及透明度。
RAG的限制
根据文档的大小,RAG大致分为三类:如果文档很小,可以上下文访问;如果文档很大(或有多个文档),在查询时生成较小的块,这些块被索引并用于响应查询。
尽管取得了成功,RAG也有一些缺点。
衡量RAG性能的两个主要指标是困惑度和幻觉,困惑度代表在文本生成过程中同等可能的下一个词的选择数量。即语言模型在其选择上的“困惑”程度。幻觉是AI做出的不真实或想象的陈述。
虽然RAG有助于减少幻觉,但它并没有消除它。如果您有一个小而简洁的文档,您可以减少困惑度(因为LLM的选择很少),并减少幻觉(如果您只询问文档中的内容)。当然,另一方面是,一个单一的小文档会导致一个微不足道的应用。对于更复杂的应用,您需要一种提供更多上下文的方法。
例如,考虑单词“bark”——我们至少有两个不同的上下文:
树的上下文:“橡树粗糙的树皮保护它免受寒冷。”
狗的上下文:“邻居的狗每当有人经过他们的房子时,都会大声叫。”
提供更多上下文的一种方法是将RAG与知识图谱结合(一个GRAPHRAG)。
在知识图谱中,这些单词将与它们相关的上下文和含义连接起来。例如,“bark”将与代表“树”和“狗”的节点连接。其他连接可以指示常见动作(例如,树的“保护”、狗的“制造噪音”)或属性(例如,树的“粗糙”、狗的“响亮”)。这种结构化信息允许语言模型根据句子中的其他单词或对话的总体主题选择适当的意义。
在接下来的部分中,我们将看到RAG的局限性以及GRAPHRAG如何解决这些局限性。
原文标题:Understanding GraphRAG – 1: The challenges of RAG
原文作者:ajitjaokar
文中关于LLM,RAG的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《理解GraphRAG(一):RAG的挑战》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
353 收藏
-
464 收藏
-
438 收藏
-
443 收藏
-
367 收藏
-
260 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习