什么是RAG
检索增强生成(Retrieval-Augmented Generation),这是一种将大型语言模型(LLM) 与 外部知识库 相结合的技术框架。
- 核心定义:凡是能有效进行知识检索的技术都可称为RAG(检索增强生成)
- 技术本质:通过双向赋能实现智能增强
- 大模型帮助人类做信息检索
- 人类帮助大模型做有效生成
- 关键突破:解决大模型知识更新的瓶颈问题,避免频繁微调或重新训练
- 典型场景:当用户查询《黑神话:悟空》发售时间时,传统大模型可能回答”不知道”,而RAG系统能结合最新资料给出准确答复
AI时代的应用开发

- 三大模式:
- 检索模式:信息存取/查找/计算(如RAG)
- 生成模式:文本/图像生成(如AIGC)
- 行动模式:智能体自主操作(如Devin、Minimax)
- 发展现状:
- 智能体(Agent)发展迅速但存在垄断风险
- RAG更适合中小企业及个人效率需求
- 实际项目中RAG落地需求最为旺盛
- 未来趋势:RAG与Agent技术将深度融合,共同推动智能化发展
RAG整体流程

- 完整链路:
- 用户输入问题(如游戏发售时间查询)
- 知识库预处理:文档切片→向量化→索引存储
- 查询处理:问题向量化→相似度匹配
- 结果生成:相关片段+问题+提示词→大模型生成回答
- 对比实验:
- 无RAG时:大模型可能回答”没有相关信息”
- 有RAG时:能结合文档A/B/C给出准确答复
- 关键设计:提示词框架(如”请基于以下资料回答…”)可标准化配置
另一个视角的系统框架

- 人脑类比:
- 知识嵌入+向量存储→长期记忆形成
- 检索器→回忆机制
- 生成器→推理响应
- 核心组件:
- 知识嵌入:文本→向量表示(如使用Embedding模型)
- 向量数据库:存储和组织向量化知识
- 检索器:实现相似度匹配的”回忆”功能
- 生成器:基于上下文生成最终回答
RAG的四大核心组件
根据上图的技术架构,我们可以清晰的看到需要的核心组件

- 知识嵌入(Embedding):负责将文本知识转化为向量表示,捕捉语义信息。
- 向量数据库(Vector DB):存储由知识嵌入模块生成的向量表示。
- 检索器(Retriever):接收用户查询并将其转化为向量,然后从向量数据库中检索相似的文档。
- 生成器(Generator):基于检索到的相关上下文信息生成流程且可信的回答。
具体说明:
- 质量决定因素:
- Embedding模型:影响语义捕捉能力(如文本→向量转换效果)
- 向量数据库:决定数据承载量和检索速度
- 检索器:影响召回率和排序质量
- 生成器:现代大模型已足够强大,非主要瓶颈
- 优化重点:当前系统性能瓶颈主要在检索环节而非生成环节
RAG关键环节
索引

- 四步流程:
- 加载(Load):支持JSON/URL等多种格式的原始数据
- 分割(Split):按语义或固定大小切分文档
- 嵌入(Embed):转化为向量表示(如[0.8,0.4,…])
- 存储(Store):存入向量数据库
- 质量守则:”垃圾进垃圾出”原则,数据清洗至关重要
- 高级技巧:
- 分层索引设计
- 父子文档关系构建
- 兼顾检索精度与上下文连续性
检索和生成

- 三阶段优化:
- 检索前处理:
- 问题重写(如纠正错别字)
- 假设文档生成
- 问题分解(将复合问题拆解为子问题)
- 检索过程:
- 多路召回策略
- 混合检索技术
- 检索后处理:
- 结果重排序
- 信息去重
- 相关性过滤
- 检索前处理:
- 生成策略:控制上下文窗口大小,避免信息过载