一、RAG 整体概述
1. 核心概念
RAG(检索增强生成)是搭建Agent共享知识库的核心技术
核心逻辑:结合大语言模型的理解、文本生成能力 + 外部知识库海量、可实时更新的内容
解决痛点:LLM训练数据存在时间截止,无法获取最新资讯、企业内部私有文档,无需重新训练模型即可扩充知识边界。
2. 标准工作四步流程
- 用户输入问题
- 检索:稠密+稀疏检索并行,召回Top-K相关文本块
- 增强:将用户问题 + 检索到的知识片段拼接,构造完整Prompt
- 生成:LLM依托参考资料输出最终答案
示例:查询故意杀人罪量刑
检索片段:《刑法》第232条法条内容
拼接Prompt:依据法条回答问题,附上法条原文+用户提问
输出结果:结合法条给出清晰量刑说明
二、前置离线处理:文档分块 Chunking
正式检索前必须对长文档预处理拆分,拆分必要性:
- 嵌入模型有输入长度上限;整文档向量混杂多个主题,语义模糊
- 整块文本过长会带入大量无关内容,占用上下文窗口,稀释有效信息
三种主流分块方案
固定大小切分
按固定token长度切割(常用512token),块间设置重叠(50~100token),避免语句被截断
优点:实现简单、效果稳定;缺点:无视文档结构,段落、代码、表格容易被生硬切断递归结构感知切分(生产环境首选)
顺着章节标题、段落、换行等文档天然边界逐层拆分,Markdown、HTML结构化文档适配性极强语义切分
计算相邻句子嵌入相似度,语义差距大的位置进行切割,保证单个文本块主题统一
优点:拆分质量最优;缺点:需要额外嵌入计算,资源开销更高
调参权衡经验
常规配置:单块 256~1024 token,块重叠占比10%~20%
- 块过小:信息残缺,指代不明,语义不完整
- 块过大:多主题混杂,向量精度下降,冗余内容过多
固有缺陷:分块会割裂原文上下文指代关系,该问题后续通过上下文感知检索优化
三、稠密嵌入检索:语义匹配路线
1. 嵌入 Embedding 原理
把文字转化为高维数字向量;语义相近的文本,向量空间距离更近
稠密向量:向量绝大多数维度均存在数值;依靠余弦相似度判定语义相似度
余弦相似度越趋近于1,文本语义越接近;只关注向量方向,不受文本长短影响
经典语义规律:国王 - 男性 + 女性 ≈ 女王,向量运算可承载语义逻辑
2. 稠密嵌入技术演进
- Word2Vec(2013):静态词向量,一词固定一个向量,无法区分一词多义
- BERT:上下文感知向量,依靠自注意力机制,一词多语境生成不同向量,上限512token
- Sentence-BERT:专为句子相似度设计,适配检索场景
- BGE-M3:新一代多模态嵌入模型,同时输出稠密、稀疏向量,支持长文本、多语言
3. 海量向量快速检索:ANN近似最近邻
数据量巨大时无法逐句计算相似度,依靠索引算法快速近似查找
主流两类算法对比:
| 特性 | ANNOY | HNSW |
|---|---|---|
| 构建速度 | 更快 | 偏慢 |
| 内存占用 | 更低 | 较高 |
| 增量更新 | 不支持,需全量重建 | 支持实时新增数据 |
| 检索精度 | 较好 | 极高 |
| 适用场景 | 静态不变知识库 | 动态持续更新知识库 |
四、稀疏嵌入检索:关键词精准匹配路线
核心:基于词袋模型,依靠关键词字面匹配,向量绝大部分维度数值为0
主流算法:TF-IDF → BM25(工业通用标准)
1. 核心计算逻辑
- TF词频:词汇在单篇文档内出现次数
- IDF逆文档频率:词汇在全部知识库的稀有程度,生僻专业词汇权重远高于通用助词
- BM25新增两项修正:
- k1:词频饱和系数,词汇重复多次不会无限拉高分数,规避长文档堆砌关键词占便宜
- b:文档长度归一化,平衡长短文档打分公平性
2. 底层存储:倒排索引
存储结构:词汇 → 所有包含该词的文档列表
优势:输入关键词可瞬间定位全部相关文档,是搜索引擎底层基础
3. 优劣与进阶
优点:专业术语、代码、人名检索精准,结果可解释
缺点:无法识别同义词、同义句式
进阶:SPLADE、BGE-M3稀疏分支(学习型稀疏检索),结合神经网络赋予词汇语义权重
五、混合检索:稠密+稀疏融合方案
两种检索各自短板
- 稠密检索:擅长语义同义匹配,容易遗漏专业关键词、编号
- 稀疏BM25:关键词精准命中,无法理解同义表达
完整流水线三阶段
- 并行召回:稠密、稀疏检索分别独立召回一批候选文档
- 结果融合
- RRF倒数排名融合(最常用):抛弃原始分值,仅依据排名计算综合分数,简单稳定
- 分值归一化加权融合:保留相似度、BM25原始分值,调参复杂度更高
- 神经重排序(Rerank)
架构区分:- 检索阶段:双编码器,文本分开编码,速度快、精度一般
- 重排序阶段:跨编码器,查询与文档拼接共同输入模型,深度语义交互打分,精度大幅提升,速度偏慢
作用:对融合后的候选文档精细二次排序,是生产RAG提升效果的关键环节
检索效果三大评估指标
- Recall@k 召回率:相关文档是否进入前k条结果,RAG核心指标
- MRR平均倒数排名:衡量首个有效结果的靠前程度
- nDCG:综合全部文档相关性与排序位置,评估整体列表质量
六、多模态信息摄取(PDF/图片/语音)
知识库不止纯文本,三类处理方案取舍:
- 原生多模态编码(效果最优)
ViT视觉编码器将图像转为视觉token,和文本纳入统一语义空间;完整保留图表、版式、空间位置信息,适合复杂报表、图文PDF - OCR转录提取文本(低成本通用)
图片、PDF、语音全部转纯文本,兼容整套RAG链路;缺陷:丢失版式、图表视觉信息 - 工具按需调用(折中方案)
基础检索依靠文本摘要,遇到图表、复杂版式时,调用图像/PDF解析工具深度读取,兼顾成本与灵活性