完整题目
在检索增强生成(RAG)系统中,除了基本的向量相似性检索外,还有哪些关键技术可以提升检索结果的相关性、准确性和整体质量?请列举主要方法(如查询扩展、重排序、混合检索、上下文压缩、动态检索等),并简要说明其原理及适用场景。
本文目录
RAG 检索优化应按检索前、检索中和检索后三个阶段设计,并用独立评测判断每一步是否真的带来增益。
1. 检索前:查询理解与扩展
- 查询改写:消除指代、纠错或补全约束,使 query 自包含。
- 多查询/子问题分解:从不同表述或子任务召回候选,再去重融合。
- HyDE:先生成假设文档表示再检索,适合原查询与目标文档表述差异较大的场景,但假设内容偏差也可能带来噪声。
- 伪相关反馈:利用首轮结果扩展词项,需防止错误结果造成 query drift。
2. 检索中:多路召回与排序
BM25 擅长字面、实体和编号匹配,稠密向量擅长语义近似,可用 RRF、归一化加权或学习排序融合。随后只对有限候选使用 Cross-Encoder 等重排模型。具体候选数由 Recall、nDCG、吞吐和延迟预算决定,不使用固定通用值。
3. 检索后:上下文选择
对候选做权限和元数据过滤、去重、证据片段抽取、上下文压缩与排序,保留引用关系。块大小和压缩策略取决于文档结构、查询类型与模型窗口,不能用统一的 256/1024 token 规则。压缩还可能丢失限定条件,需单独评测证据保留率。