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、数据库等工具补充检索内容。
- 优势:
- 实现端到端自适应,应对开放域复杂问题。
热门推荐
羽生结弦为何以4A为目标?4A到底有多难?
未激活的信用卡需要注销吗?这些风险需要了解!
《浮沉的兄弟》:探索兄弟情谊的深度与复杂性
如何将食物转化为艺术创作的灵感源泉?
不会出错的“老钱风配色公式”,只要搭配到位,穿什么都是顶配
从松弛感到优雅老钱风:低调奢华的时尚哲学
露营要防晒遮荫,露营天幕选购指南
初春露营装备清单Top5:帐篷天幕怎么搭?新手避坑指南全在这篇!
宝鸡民宿如何更好地追逐“诗和远方”?
小狗狗的社会化训练(让宠物成为社交达人,让你更放心出行)
为什么有人坚持使用半画幅相机而不升级全画幅?这些原因值得深思
Vitality横扫Spirit夺冠IEM卡托维兹,ZywOo荣膺MVP
腿上肌肉一跳一跳的是什么原因
如何有效进行自我评估并找到理想的工作?
如何让你的内容型产品避免同质化
掌握爆款短视频创作秘籍:技巧与策略一览
养松鼠之前,先来看看这篇
眼健康科普:引发热议的阿托品真的那么神吗?看看专家怎么说!
股票VR指标的设置方法及其效果评估
黄金檀简述
大专院校毕业生就业情况调查报告🔍
长期喝咖啡和长期喝茶,哪个会严重影响你的健康?医生告诉你答案
三言二拍中的节妇形象探析
日语第一人称代词完全指南:わたくし、わたし、自分、ぼく、おれ的使用场景
广州二日游攻略:本地人推荐的早茶地图+珠江夜游新玩法
小米和华为的本质区别:从品牌理念到企业文化
加拿大华人聚集最多的城市大揭秘:生活便利性全面调查
现代人力资源管理引入中国20多年了,现状如何?面临什么挑战?未来趋势如何?
什么是克己复礼?
每10人就有7人有腸息肉!小心腺瘤型息肉有癌變風險,4招腸保健康