本文翻译自如下链接
rag优势
1.** 向量搜索融合**
RAG 通过将向量搜索能力与生成模型集成,引入了一种新颖的范式。这种融合使得大型语言模型(LLM)能够生成更丰富、更具上下文感知能力的输出。
2. 减少幻觉
RAG 显著降低了 LLM 产生幻觉的倾向,使得生成的文本更加基于数据。
3. 个人和专业实用性
从个人应用(如筛选笔记)到更专业的集成,RAG 展示了在基于可信数据源的同时提高生产力和内容质量的多功能性。
RAG 的局限性
-
当前搜索技术的限制
RAG 受到与我们基于检索的词汇和向量搜索技术相同的限制。 -
搜索效率
人类在将他们想要的内容输入搜索系统时并不擅长,例如拼写错误、模糊查询或词汇量有限,这往往导致错过大量隐藏在明显搜索结果之外的信息。虽然 RAG 提供了帮助,但它尚未完全解决这个问题。 -
搜索的过度简化
我们普遍的搜索范式将查询线性映射到答案,缺乏理解人类查询多维性质的深度。这种线性模型往往无法捕捉到更复杂用户查询的细微差别和上下文,导致结果的相关性较低。因此, 对于以上问题,需要一个系统,不仅仅能检索要求的内容,还能理解查询的细微差别。开发者提出了一种更加精细化的融合方案:
RAG-Fusion
解决差距:它通过生成多个用户查询并重新排序结果,解决了 RAG 固有的限制。
增强搜索:利用倒数排名融合和自定义向量分数加权,以获得全面、准确的结果。
RAG-融合旨在弥合用户明确询问和用户意图之间的差距,逐步揭示通常隐藏的变革性知识。RAG-Fusion 旨在弥合用户明确提出的问题与他们实际意图之间的差距,逐步揭示那些通常隐藏的变革性知识。
深入探究RAG-Fusion的机制
RAG-Fusion 的基础三要素与 RAG 相似,依赖于以下三种关键技术:
- 一种通用编程语言,通常是 Python。
- 一个专用的向量搜索数据库,如 Elasticsearch 或 Pinecone,用于指导文档检索。
- 一个强大的大型语言模型,如 ChatGPT,用于生成文本。
然而,与 RAG 不同,RAG-Fusion 通过几个额外的步骤来区分自己——查询生成和结果重新排序。
RAG-Fusion 的工作流程:
- 查询变体生成:通过大型语言模型(LLM)将用户的查询转换为相似但不同的查询。
- 向量搜索启动:对原始查询及其新生成的变体进行向量搜索。
- 智能重新排序:使用互惠排名融合(reciprocal rank fusion)聚合并优化所有结果。
- 精妙收尾:将精选的结果与新查询配对,指导大型语言模型生成一个综合考虑所有查询和重新排序结果列表的输出。
Why RRF?
RRF是一种结合多个搜索结果列表的排名的技术,以生成一个单一的、统一的排名。该技术由滑铁卢大学(加拿大)和谷歌合作开发,根据其作者的说法,“RRF 产生的结果优于任何单一系统,并且优于标准的”重新排序方法。
通过结合不同查询的排名,我们增加了最相关文档出现在最终列表顶部的可能性。RRF 特别有效,因为它不依赖搜索引擎分配的绝对分数,而是依赖相对排名,这使其非常适合结合可能具有不同分数尺度或分布的查询结果。
通常,RRF 用于混合词汇和向量结果。尽管这种方法可以帮助弥补向量搜索在查找特定术语(如缩写)时的缺乏特异性,但作者对结果并不满意,因为这些结果往往是多个结果集的拼凑,因为词汇和向量搜索很少为同一查询产生相同的结果。可以把 RRF 想象成那个坚持在做出决定前听取所有人意见的人。
技术实现图
RAG-Fusion 的优势与不足
优势
-
更高质量的源材料
使用 RAG Fusion 时,搜索的深度不仅仅是“增强”——而是放大。重新排序的相关文档列表意味着你不仅仅是在信息表面刮擦,而是深入到各种视角的海洋中。结构化的输出更容易阅读,并且感觉直观可信,这在怀疑 AI 生成内容的世界中至关重要。 -
增强的用户意图对齐
RAG Fusion 的核心设计是一种富有同理心的 AI,它能够揭示用户努力表达但可能无法明确表达的内容。利用多查询策略捕捉用户信息需求的多个方面,从而提供全面的输出,并与用户意图产生共鸣。 -
结构化、富有洞察力的输出
通过从多样化的来源中提取信息,模型生成组织良好且富有洞察力的答案,预见后续问题并提前解决它们。 -
自动纠正用户查询
该系统不仅解释而且优化用户查询。通过生成多个查询变体,RAG Fusion 执行隐式的拼写和语法检查,从而提高搜索结果的准确性。 -
处理复杂查询
人类语言在表达复杂或专业思想时常常显得力不从心。该系统充当语言催化剂,生成可能包含所需术语或专业术语的变体,以获得更集中和相关的搜索结果。它还可以将更长、更复杂的查询分解为较小的、可管理的块,供向量搜索使用。 -
搜索中的意外发现
考虑“未知的未知”——直到你遇到它,你才知道你需要的信息。RAG Fusion 允许这种意外发现。通过采用更广泛的查询范围,系统增加了发现那些虽然未明确寻求但成为用户灵光一现的信息的可能性。这使得 RAG Fusion 与传统搜索模型区分开来。
挑战
- 过于冗长的风险
RAG-Fusion 的深度有时会导致信息泛滥。输出可能会详细到令人不知所措的程度。可以把 RAG-Fusion 想象成那个过度解释的朋友——信息丰富,但有时你可能需要他们直奔主题。 - 平衡上下文窗口
多查询输入和多样化文档集的包含可能会给语言模型的上下文窗口带来压力。想象一个挤满演员的舞台,使得难以跟上剧情。对于上下文约束严格的模型,这可能导致输出不连贯甚至被截断。 - 伦理和用户体验考虑
能力越大,责任越大。RAG Fusion 通过操纵用户查询以改善结果的能力,感觉像是跨越了某种道德灰色地带。在提高搜索结果与保持用户意图完整性之间取得平衡至关重要,在实施此解决方案时,你应该考虑以下几点:
伦理问题:
用户自主性:用户查询的操纵有时会偏离原始意图。必须考虑我们让渡给 AI 多少控制权以及代价是什么。
透明度:这不仅仅是关于更好的结果;用户应该知道他们的查询是否以及如何被调整。这种透明度对于维持信任和尊重用户意图至关重要。
用户体验(UX)增强:
保留原始查询:RAG Fusion 优先考虑初始用户查询,确保其在生成过程中的重要性。这作为防止误解的安全措施。
过程可见性:在最终结果旁边显示生成的查询,为用户提供对搜索范围和深度的透明视图。这有助于建立信任和理解。
UX/UI 实施技巧:
用户控制:为用户提供切换 RAG Fusion 的选项,让他们在手动控制和增强的 AI 辅助之间做出选择。
指导与清晰:关于 RAG Fusion 工作原理的工具提示或简要解释可以帮助设定明确的用户期望。