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、数据库等工具补充检索内容。
- 优势:
- 实现端到端自适应,应对开放域复杂问题。
热门推荐
基于深度学习方法下的产品订单数据分析与需求预测
如何仅使用加法减法和取倒数三种运算计算乘法
黄疸看眼睛哪个部位?如何通过眼部观察判断黄疸的严重程度?
棉花知识详解:从种植到应用的全面解析
新房交房验收:这些要点一定要注意
伦理厨房:如何通过烹饪传递家庭伦理与责任感,打造和谐的家庭关系
深蹲后大腿酸痛怎么办?原因、过程与缓解方法全解析
数据挖掘及其近年来研究热点介绍
用色彩管理备忘录正确设置达芬奇
全球最强坦克盘点:M1A2、T-14、豹2A7、99A谁与争锋?
柱、锥、台、球
吃鸡必看!《绝地求生》中吃鸡最稳的5把枪推荐!
如何正确使用氨茶碱?有哪些注意事项?
OpenAI转型营利惹众怒?马斯克、Meta和非营利组织Encode齐声反对
解锁编程奥秘:深入浅出带你了解函数
就餐时如何说话?这些餐桌礼仪你需要注意
公务员考试时事政治热点聚焦:申论热点解读与备考策略
全新治疗方法正在兴起,视网膜色素变性患者带来新希望
健身不受伤,科学是关键!五招教你如何安全高效地进行力量训练!
基于收益影响因素的REITs投资策略分析
新能源汽车VS传统燃油车:多角度对比助你选出最优车型
转让合伙企业份额,交个税时原值怎么确认?
不存在劳动关系举证如何证明
《朱同在三年级丢失了超能力》:给大人看的儿童片
寓意不错的肖姓男宝名字大全
单细胞流式双剑合璧|解码肝转移性结直肠癌的细胞异质性
网页字体选择指南:提升阅读体验的关键
北京东城区房价贵吗?探析区域价值和未来趋势
六偏磷酸钠是什么?有什么作用和用途?
长沙地铁5号线南延路线调整,配合奥体中心发展建设