链载Ai

标题: RAG的进化之路:从DrQA流水线到LLM的即时上下文服务 [打印本页]

作者: 链载Ai    时间: 前天 22:40
标题: RAG的进化之路:从DrQA流水线到LLM的即时上下文服务

ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">一、RAG的本质:参数记忆与外部知识的协同艺术

ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">检索增强生成(RAG)看似简单——“给定问题,获取相关文档,让模型基于文档作答”,但这背后藏着近十年自然语言处理(NLP)领域在检索、知识表示与模型注入上的持续迭代。其核心是打通两种记忆:

ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">从技术逻辑来看,RAG系统的核心流程可概括为三步:

    ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1">
  1. 语料索引
    :将文档拆分片段,转化为向量嵌入(如768维数值数组),存储到相似度检索引擎(FAISS、Milvus、pgvector等);
  2. 查询检索
    :将用户问题转化为嵌入向量,通过余弦相似度/点积计算,召回最相关的Top-K文档片段;
  3. 生成回答
    :将召回文档作为上下文注入提示词,引导模型基于给定信息生成准确响应。

ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">用伪代码可简化为:

def rag_answer(question):
q_vec = 嵌入模型(question) # 问题转向量
docs = 向量索引.检索(q_vec, top_k=5) # 召回相关文档
prompt = 构建提示词(question, docs) # 注入上下文
return 大语言模型.生成(prompt) # 生成答案

ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">而这一切的基础,是嵌入技术构建的“语义坐标系”——语义相似的文本对应空间中邻近的向量,不同语义则相距较远。RAG本质就是“嵌入空间的近邻检索 + 基于检索结果的条件生成”,但其实现方式在不同时代有着天翻地覆的变化。

ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">二、第一时代(2017-2019):检索-阅读器分离的DrQA范式

ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">在RAG成为热词前,开放域问答(open-QA)是核心应用场景,斯坦福大学提出的DrQA(2017年)是该时代的标志性系统,确立了“检索器+阅读器”的分离式流水线架构。

ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">1. 核心流程:两步走的问答逻辑

2. 典型案例:从检索到提取的完整链路

问题:《自私的基因》是谁写的?

3. 时代特征与局限

三、第二时代(2020-2021):密集检索与端到端RAG的崛起

2020年前后,三项关键技术突破共同推动RAG进入“密集检索+端到端训练”的成熟阶段,彻底摆脱了对关键词匹配的依赖:

1. 密集段落检索(DPR):语义检索的革命

DPR(Dense Passage Retrieval)用“双编码器”架构替代BM25:

2. REALM:预训练阶段融入检索能力

REALM(Retrieval-Augmented Language Model)首次将检索融入模型预训练过程:

3. RAG与FiD:检索-生成的端到端融合

4. 时代飞跃:与DrQA的核心差异

四、第三时代(2022-至今):提示驱动的LLM即时RAG

GPT-3、GPT-4、Claude等大模型的出现,彻底重构了RAG的实现逻辑——凭借海量参数记忆、强大的上下文学习能力与超大上下文窗口,无需再训练专门的RAG模型,只需“检索文档+注入提示”即可实现高效问答。

1. 现代RAG的核心架构:轻量化编排层+通用LLM

(1)索引阶段

(2)查询与生成阶段

2. 典型应用:2025年企业内部支持机器人

某公司Slack HR助手的工作流程:

3. 可选增强功能

4. 时代特征:RAG的“去模型化”与普及化

五、嵌入匹配的底层逻辑:语义相似性的数学实现

RAG的核心竞争力源于嵌入技术的语义匹配能力,其底层工作原理可拆解为三步:

1. 语料嵌入:构建语义向量库

对每个文档片段d_i,通过嵌入模型生成向量d_vec[i](如768维),并存储到向量索引中,同时关联元数据(如文档ID、原文内容)。这些向量在高维空间中自然聚类,语义相似的片段(如“密码重置”与“找回密码”)会形成密集簇。

2. 问题嵌入与检索:寻找近邻向量

对用户问题q,生成向量q_vec后,向量索引通过以下公式寻找最相关的Top-K片段:
neighbors(q) = argmax sim(q_vec, d_vec[i])
其中sim为相似度计算函数(常用余弦相似度或点积),本质是在高维空间中寻找与问题向量距离最近的文档向量。

3. 语义匹配的优势

六、RAG进化脉络总结:从学术模型到工业标配

时代
时间范围
核心技术
代表系统
核心特点
应用场景
第一时代
2017-2019
稀疏检索+跨度提取
DrQA
检索(BM25/TF-IDF)与阅读分离,输出固定片段
开放域QA学术研究
第二时代
2020-2021
密集检索+端到端训练
DPR、REALM、RAG、FiD
语义嵌入检索,检索-生成协同训练,自由文本输出
知识密集型学术任务
第三时代
2022-至今
提示驱动+通用LLM
LangChain+GPT-4、LlamaIndex+Claude
无需微调,检索结果注入上下文,轻量化编排
企业文档问答、内部助手、代码辅助等生产场景

RAG的核心思想始终未变——“检索补充知识,生成优化表达”,但实现路径已从“复杂模型训练”转向“简单流程编排”。这一进化让RAG从少数实验室的尖端技术,成为企业数字化转型的“标配工具”,真正实现了“让模型即时获取外部知识,摆脱参数记忆的局限”。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5