支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


理解 RAG 第二部分:经典 RAG 的工作原理

发布日期:2025-04-22 10:28:52 浏览次数: 1553 作者:数据驱动智能
推荐语

深入探索经典RAG的工作机制,揭示其如何结合语言模型与信息检索技术,提升文本生成的准确性和相关性。

核心内容:
1. 预训练语言模型(LLM)在RAG中的作用
2. 向量数据库/知识库的构建与优势
3. 用户查询处理和相关文档检索过程

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

在本系列的第一篇文章中,我们介绍了检索增强生成 (RAG) ,并解释了扩展传统大型语言模型 (LLM)功能的必要性。我们还简要概述了 RAG 的核心思想:从外部知识库中检索上下文相关的信息,以确保 LLM 生成准确且最新的信息,而不会产生幻觉,也无需不断地重新训练模型。

本系列的第二篇文章将揭秘传统 RAG 系统运行的机制。尽管如今随着人工智能的迅猛发展,各种增强版和更复杂的 RAG 版本几乎每天都在涌现,但要理解最新的 RAG 方法,第一步是理解经典的 RAG 工作流程。

经典 RAG 工作流程

Retrieval-Augmented Generation (RAG) 系统是一种创新的架构,它结合了传统的语言模型(LM)和信息检索(IR)技术的优点,以提供更加精准和上下文相关的文本生成能力。下面是对 RAG 系统三个关键组件的详细扩展说明:

1. 预训练的语言模型(LLM)

预训练的语言模型是 RAG 系统的基础,它通常基于深度学习框架,如Transformer架构。这些模型通过在大量的未标注文本文档上进行自我监督学习来获取知识。这些数据集可能包含从数百万到数十亿的文档,覆盖广泛的主题和领域。例如,GPT、BERT等著名模型都是通过这种方式训练得到的。它们能够理解语言的复杂性,包括语法结构、语义关系以及不同文本之间的联系。这使得它们可以执行各种任务,如文本生成、问答、摘要等。

2. 向量数据库/知识库

向量数据库,也称为知识库,在RAG系统中扮演着至关重要的角色。其主要功能是存储经过处理的文本文档,但与传统数据库不同的是,这里的文档是以向量形式存储的。向量化过程涉及到将文本转换成数值表示,即所谓的嵌入向量。每个单词、句子或整个文档都可以被转化为一个高维空间中的点,其中每个维度代表原始文本的一个特征。这种表示方式能够捕捉文本的语义信息,使得相似含义的文本片段在向量空间中彼此接近。

这种方法有几个显著的优势:

  • 高效检索
    :通过计算查询向量与数据库中文档向量之间的相似度(如余弦相似度),可以快速找到最相关的文档。
  • 保持语义关联
    :由于相似的文本内容在向量空间中相互靠近,因此即使查询和目标文本之间没有精确匹配的词语,也可以找到语义相关的结果。
  • 灵活性
    :向量数据库支持动态更新,允许添加新的文档而不必重新训练整个模型。

3. 查询或提示

用户通过自然语言提出查询或提示,这是与RAG系统交互的主要方式。当接收到用户的查询时,系统首先将其转化为向量形式,然后使用上述提到的向量数据库来搜索相关内容。这个过程不仅依赖于语言模型的理解能力,还需要有效地利用向量数据库中的信息。一旦找到了相关的文档或段落,它们就会被用作额外的知识来源,帮助调整或补充由语言模型生成的回答,确保最终输出既准确又具有上下文相关性。

总之,RAG系统通过整合语言模型的强大表达能力和向量数据库的高效检索机制,实现了对复杂查询的更深入理解和响应。这种架构特别适用于那些需要高度定制化和背景感知的应用场景,比如专业领域的问答系统、个性化推荐引擎等。

基本 RAG 系统的总体方案
当用户用自然语言向配备 RAG(Retrieval-Augmented Generation)引擎的 LLM 助手提出问题时,整个过程可以分为以下三个关键阶段:

    1. 检索(Retrieval)

    在这个阶段,RAG 系统中的一个核心组件——检索器(Retriever)——开始工作。检索器的任务是从矢量数据库中查找与用户查询相关的文档或片段。

    • 如何实现?

      • 用户的自然语言查询首先被转化为一个数值表示(向量),通常是通过一个预训练的嵌入模型(如 Sentence-BERT 或其他文本编码器)完成。
      • 这个查询向量随后与矢量数据库中的文档向量进行比较,寻找语义上最接近的匹配项。
      • 最终,检索器会返回一组与查询高度相关的文档或段落。
    • 为什么重要?

      • 检索器确保了系统能够从外部知识库中获取最新的、相关的上下文信息,而不仅仅是依赖于 LLM 训练数据中可能过时的知识。
      • 这种机制特别适合需要实时更新或专业知识的场景。

    2. 增强(Augmentation)

    在检索到相关文档后,RAG 系统会将这些文档的内容与用户的原始查询结合起来,形成一个增强版的查询

    • 如何实现?

      • 检索到的相关文档会被整合到用户的输入中,通常是以附加上下文的形式呈现。
      • 例如,如果用户问“什么是量子计算?”检索到的相关文档可能会包含关于量子计算的基本定义和原理,这些内容会被加入到查询中,作为生成器的输入。
    • 为什么重要?

      • 增强后的查询为 LLM 提供了额外的背景信息,帮助它更好地理解问题的语境和需求。
      • 这一步显著提高了生成内容的相关性和准确性,尤其是在处理复杂或专业领域的问题时。

    3. 生成(Generation)

    最后,增强后的查询被传递给 LLM(也称为生成器),由它生成最终的答案。

    • 如何实现?

      • LLM 接收到带有上下文信息的增强查询后,利用其强大的语言生成能力,基于提供的相关信息生成响应。
      • 生成的文本不仅反映了用户问题的核心,还融入了从外部知识库中检索到的事实性内容。
    • 为什么重要?

      • 生成器结合了 LLM 的语言表达能力和外部知识库的事实性信息,从而生成更精确、更真实、更符合用户需求的回答。
      • 这种机制避免了纯 LLM 可能产生的“幻觉”问题(即生成的内容虽然流畅但与事实不符)。

    实际应用场景示例

    假设用户提问:“为什么天空是蓝色的?”

    1. 检索

    • 检索器将查询转化为向量,并从矢量数据库中找到与“天空颜色”相关的科学解释文档。
    • 增强

      • 将检索到的文档内容(如光散射原理)与用户查询结合起来,形成增强版查询:“为什么天空是蓝色的?因为光散射现象导致蓝光更容易被大气层散射。”
    • 生成

      • LLM 根据增强版查询生成答案:“天空看起来是蓝色的,是因为阳光进入地球大气层时,短波长的蓝光比其他颜色的光更容易被空气分子散射。这种现象被称为瑞利散射。”

      通过这三个阶段,RAG 系统不仅提供了准确的答案,还确保了答案的科学性和可信度。


      检索器工作原理

      检索器是RAG系统中负责查找与用户查询相关的信息的关键部分。它不仅仅是简单的关键词匹配工具,而是一个能够理解查询语义的高级搜索引擎。

      • 相似性搜索:这是检索器工作的核心机制。首先,用户的查询被转换成一个向量(通常是通过嵌入模型实现)。然后,这个向量会与矢量数据库中的所有文档向量进行比较。常用的相似度计算方法包括余弦相似度、欧几里得距离等。通过这些数学计算,可以找到与查询向量最接近的文档向量,从而确定哪些文档最有可能包含用户寻找的答案。

      • 上下文感知:除了基本的相似性搜索外,现代检索器还能够理解查询背后的上下文。这意味着即使查询中没有直接提及某些关键字,如果它们在语义上相关,检索器仍然可以找到合适的文档。这极大地提高了检索结果的相关性和准确性。

      生成器工作原理

      生成器通常指的是基于Transformer架构的大规模语言模型(LLM),其任务是在接收到来自检索器的增强输入后,生成高质量的回答。

      • 编码与解码:在Transformer架构中,输入首先通过编码器转化为一系列隐藏表示。这些隐藏表示捕捉了输入文本的深层语义信息。接着,解码器使用这些隐藏表示逐字生成输出文本。在每个步骤中,解码器不仅依赖于之前的隐藏状态,还要预测下一个单词是什么,确保生成的文本连贯且符合逻辑。

      • 下一个单词预测:这是生成过程的核心问题。给定前面的所有单词,模型需要预测出最可能的下一个单词。这个过程涉及复杂的概率计算,旨在选择那些既合乎语法又保持内容一致性的单词。随着每次预测的完成,新生成的单词会被添加到已有的序列中,作为下一次预测的基础,直到满足停止条件(如达到最大长度或生成了特定的结束标记)。

      总的来说,检索器通过高效的相似性搜索技术来识别最相关的文档片段,并为生成器提供必要的上下文信息;而生成器则利用这些信息以及自身的语言理解能力来产生精确、流畅且上下文相关的回答。这种组合使得RAG系统能够在各种应用场景中表现出色,特别是在需要准确知识理解和复杂语言处理的任务中。


      小结

      在本系列关于理解 RAG 的下一篇文章中,我们将揭示RAG 的融合方法,其特点是使用专门的方法组合来自多个检索到的文档的信息,从而增强生成响应的上下文。

      RAG 中融合方法的一个常见示例是重新排序,它根据用户相关性对检索到的多个文档进行评分和优先级排序,然后将最相关的文档传递给生成器。这有助于进一步提升增强上下文的质量,以及语言模型最终生成的响应。

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询