详细内容或原文请订阅后点击阅览
RAG 终极指南 — 剖析每个组件
RAG 终极指南 — — 剖析每个组件视觉导览构建生产就绪的 LLM 管道所需的条件让我们学习 RAG 吧!(图片来自作者)如果您使用过大型语言模型,很有可能您至少听说过 RAG(检索增强生成)这个术语。RAG 的想法非常简单 — — 假设您想向 LLM 提问,您首先要从外部知识库中检索相关信息,而不是仅仅依赖 LLM 的预训练知识。然后,将检索到的信息与问题一起提供给 LLM,使其生成更明智、最新的响应。将标准 LLM 调用与 RAG 进行比较(来源:图片来自作者)那么,为什么要使用检索增强生成呢?当提供准确和最新的信息是关键时,您不能依赖 LLM 的内置知识。 RAG 是一种廉价实用的方法,可以使用 LLM 生成有关最新主题或小众主题的内容,而无需自行微调并耗尽您的一生积蓄。即使 LLM 的内部知识足以回答问题,使用 RAG 可能还是个好主意,因为最近的研究表明,它们可以帮助减少 LLM 的幻觉。基本 RAG 的不同组件在我们深入研究本文的高级部分之前,让我们回顾一下基础知识。通常,RAG 由两个管道组成——预处理和推理。推理就是使用您现有的数据
来源:走向数据科学2。数据转换
接下来,我们来到数据转换阶段。请注意,无论我们用来在预处理过程中转换文档的策略,我们都需要使用它来搜索以后的相似性,因此这两个组件紧密耦合。
在此空间中出现的两种最常见的方法是基于嵌入的方法和基于关键字频率的方法,例如TF-IDF或BM-25。
基于嵌入的方法 基于关键字的方法基于嵌入的方法
我们将从基于嵌入的方法开始。在这里,我们使用验证的变压器模型将文本转换为高维矢量表示形式,从而捕获有关文本的语义含义。嵌入非常适合捕获语义关系,处理同义词和理解与上下文相关的含义。但是,嵌入可以是计算密集型的,有时可以忽略更简单的方法很容易捕获的精确匹配。
语义搜索何时失败?
例如,假设您有一个手册数据库,其中包含有关特定冰箱的信息。当您提出提及非常特定的利基模型或序列号的查询时,嵌入将获取类似于您的查询的文档,但可能无法完全匹配它。这使我们成为了嵌入式检索的替代方法 - 基于关键字的检索。
基于关键字的方法
两种流行的基于关键字的方法是TF-IDF和BM25。这些算法着重于文档和查询中的术语之间的统计关系。
BM25,TF-IDF的演变,结合了文档的长度归一化和期限饱和。这意味着它根据文档本身比集合中的平均文档长度更长或更短,可以调整TF-IDF分数。术语饱和意味着作为一个特定的单词在数据库中频繁出现,其重要性会降低。