LLM RAG 技术剖析与演进
创作时间:
作者:
@小白创作中心
LLM RAG 技术剖析与演进
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2504070
什么是RAG
RAG(Retrieval-Augmented Generation,检索增强生成)是一种将大语言模型(LLM)与模型外知识库检索相结合的技术架构。
RAG = LLM + 知识检索
为什么会出现 RAG | LLM的三个痛点
幻觉问题
- 本质缺陷:LLM基于概率预测生成文本,可能导致“一本正经的胡说八道”(如声称“美国成立于1997年”)。
- 数据局限性:LLM的训练数据存在噪声、过时或覆盖范围不足,而微调(SFT)无法高频更新知识
时效性与专业瓶颈
- 知识滞后:LLM训练完成后知识库即固化,难以应对实时信息。
- 领域知识缺失:通用LLM对垂直领域(如医疗、法律)的专业术语和内部数据理解不足。
安全与成本权衡
- 数据隐私:企业不愿将敏感数据上传至公有云训练模型,RAG通过本地化知识库实现数据隔离。
- 经济性:微调LLM需高昂算力与数据标注成本,RAG仅需轻量级向量化与检索流程,成本降低90%以上。
基于 LLM 存在的上述问题,RAG诞生了。它通过在生成文本之前或过程中检索相关的文档或信息,从而生成更为准确和上下文相关的回答
RAG的基本原理与核心步骤
RAG 的基本原理
RAG的基本原理是将知识库检索与 LLM 生成相结合,包括两个阶段流程:
- 检索阶段:将用户查询向量化,从向量数据库中召回语义最相关的文档片段(如Top-K结果);
- 生成阶段:将检索结果与用户问题合并为增强Prompt,输入LLM生成最终回答。
RAG的核心步骤
RAG 的核心步骤如下图所示(图片来自网络)
知识库预处理(索引)
在 RAG 提供服务之前,需要先将知识库落库、简历索引。具体而言,同样有以下内容:
- 数据提取:从各种数据源中提取文本数据。
- 分块(Chunking):将文本数据分成较小的块,以便于后续处理。
- 向量化(Embedding):将文本块转换为向量表示。
- 数据入库:将向量化后的数据存储到向量数据库中。
用户输入(Query优化)
用户输入环节,主要目标是解析用户输入并生成检索信号。
- 意图识别:解析用户问题中的关键词、实体和意图(如分类或命名实体识别)。
- 查询扩展:通过同义词替换、上下文联想等方式扩展查询(如
tsn_enable="yes"
可能启用术语相似性网络扩展查询)。 - 向量化查询:使用与数据库相同的嵌入模型(如 BGE)将用户问题转换为向量。
检索
检索环节会从知识库中召回与用户问题相关的文档。
- 混合检索:
- 向量检索:计算用户查询向量与知识库向量的相似度(如余弦相似度),返回 Top-K 结果。
- 关键词检索:若
search_engine="sogou"
,可能结合搜狗搜索引擎的关键词匹配能力补充结果。 - 结果排序:使用
rank_model_type="bge"
指定的排序模型(如 BGE 的交叉编码器)对召回结果重排序,提升相关性。 - 截断:按
num="10"
返回 Top-10 最相关文档。
生成
生成环节将检索环节得到的结果以对话上下文的方式,传递给 LLM,生成结果
- 上下文构造:将用户问题与检索到的 Top-10 文档拼接为输入上下文。
- 生成模型推理:使用预训练语言模型(如 GPT、ChatGLM)生成连贯且准确的回答。
- 可控性:通过提示工程(Prompt Engineering)约束生成内容与检索结果的一致性。
后处理(结果优化 )
优化生成结果的可用性与可解释性。
- 去重与过滤:移除重复内容或低置信度片段。
- 格式化:将回答转换为易读格式(如 Markdown、列表)。
- 引用标注:标注回答中关键信息的来源文档(如引用检索到的 Top-10 文档片段)。
- 反馈学习:记录用户对生成结果的反馈,用于优化检索或生成模型(可选)。
RAG的演进路径:从基础检索到智能代理
1. Naive RAG(基础检索增强生成)
- 核心思想:将检索与生成简单串联,直接利用检索结果生成回答。
- 流程:
- 检索:基于用户输入的关键词或向量,从数据库召回固定数量(如
num="10"
)的文档片段。 - 生成:将检索结果拼接为上下文,输入生成模型(如 GPT)生成回答。
- 局限性:
- 检索质量依赖关键词匹配或简单向量相似度。
- 上下文拼接可能引入噪声,生成结果易偏离用户意图。
2. Advanced RAG(高级检索增强生成)
- 核心改进:优化检索质量与上下文构造,提升生成可控性。
- 关键技术:
- 混合检索:结合向量检索(如
rank_model_type="bge"
的 BGE 模型)与关键词检索(如
search_engine="sogou"
),提升召回多样性。 - 查询扩展:通过
tsn_enable="yes"
启用术语相似性网络(TSN),扩展用户问题的语义表达。 - 重排序:使用交叉编码器(如 BGE 的排序能力)对召回结果重排序,筛选 Top-K(如
num="10"
)最相关文档。 - 上下文压缩:动态裁剪冗余内容,保留核心信息输入生成模型。
- 优势:
- 检索精度更高,生成结果更相关。
- 支持复杂查询(如多跳推理)。
3. Modular RAG(模块化 RAG)
- 核心思想:将 RAG 流程拆解为独立模块,支持灵活替换与组合。
- 优势:
- 系统可扩展性强,易于迭代优化。
4. Graph RAG(图增强 RAG)
- 核心改进:引入图结构(如知识图谱)增强知识表示与推理能力。
- 关键技术:
- 图化知识库:将文档中的实体、关系构建为图结构,支持多跳推理。
- 图检索:基于用户问题在图上游走(如路径查询、社区发现),补充传统向量检索。
- 图上下文生成:将图结构信息(如实体关系、路径)注入生成模型。
- 参数关联:
- tsn_enable="yes"
可扩展为图谱术语相似性扩展。 - rank_model_type="bge"
可能结合图嵌入(如 TransE)优化排序。 - 优势:
- 解决长尾问题,提升复杂推理能力(如因果链、事件推演)。
5. Agentic RAG(智能体化 RAG)
- 核心思想:引入自主智能体(Agent)动态控制 RAG 流程。
- 关键技术:
- 调用
search_engine="sogou"
或向量检索。 - 动态调整
num
(如从 10 扩展至 20)或重排序策略(
rank_model_type
)。 - 启用/禁用
tsn_enable
等扩展功能。 - 流程自治:Agent 根据问题复杂度自主决策:
- 多轮交互:支持追问、澄清、反馈闭环(如用户修正检索结果)。
- 工具调用:整合外部 API、数据库等工具补充检索内容。
- 优势:
- 实现端到端自适应,应对开放域复杂问题。
热门推荐
适当晒太阳的好处有哪些?
分布式光伏发电电费怎么计算?
冈田武彦:王阳明的“知行合一”说
周易预测的准确性:支持与质疑
古代中国冤案的昭雪机制与历史教训
云南十大特色早餐
摩托车保险如何赔偿?赔偿标准是怎样的?
伤残军人贷款指南:申请步骤、政策及所需材料详解
钢卷究竟有多危险?运输时为啥非得横着放?
满五唯一过户所需资料及流程详解
感冒发烧引起腰痛千万别大意
了解1度电与瓦特的关系,科学合理用电节省开支
老白茶制作工艺流程图详解
离职从事自由职业,社保怎么办?
亚洲巨龟:东南亚特有大型水龟的饲养指南
乌金木好还是黑胡桃木好?一文详解两种高档木材的优劣
离职潮下,面露难色的不止员工……
减肥期间如何应对蛋白质摄入不足的问题
医生解答:走路和打羽毛球真的能减肥吗?
市场营销专业就业方向及前景!附2024大学排名及分数线
撤销指定交易全攻略:条件限制与操作流程详解
词曲作者的最大难题,竟然不是写歌
桃树盆景造型指南:从选材到养护的全方位解析
湖北推出ETC畅行卡:节假日前后两天高速通行费享五折优惠
得了脂肪肝该怎么办?
汽车自动变速器故障码的读取和消除
国产C919大飞机新突破,2024年交付达10架,明年或会翻倍
深入解析“smart”:发音、含义与日常应用指南
冯刚:人工智能生成内容的著作权问题研究
如何判断是否符合接种条件?