真实面经题目 · 原创解析
RAG 可以做哪些优化?
RAG 优化要覆盖切分、索引、召回、重排、上下文组装、生成约束和评估闭环,不能只停留在换 embedding 模型。
出现于:蚂蚁集团 · 算法
真实面经题目 · 原创解析
RAG 优化要覆盖切分、索引、召回、重排、上下文组装、生成约束和评估闭环,不能只停留在换 embedding 模型。
RAG 可以从检索和生成两端优化。检索侧包括文档清洗、合理 chunk、标题和元数据增强、向量和关键词混合召回、查询改写、多路召回、重排和去重;生成侧包括上下文压缩、引用约束、答案格式控制、拒答策略和减少幻觉。工程侧要处理索引增量更新、权限过滤、缓存、延迟和监控。评估要看召回命中、上下文相关性、答案正确率、引用准确性和用户反馈。
RAG 效果很大程度取决于知识库质量。要清洗重复、过期和低质量文档,按语义边界切 chunk,并保留标题、层级、来源、时间和权限等元数据。
单纯向量召回可能漏掉精确术语,关键词检索又不懂语义。常见做法是 BM25、向量检索、多路召回和 query rewrite 结合,提高召回覆盖。
召回结果需要用 cross-encoder、学习排序模型或规则重排,过滤重复、过旧、低权限和弱相关 chunk,保证送给模型的上下文更集中。
提示词要要求基于上下文回答,必要时引用来源,缺证据时拒答。还可以做上下文压缩、答案校验、格式约束和敏感内容过滤。
RAG 优化要用问题集评估召回命中率、重排相关性、答案正确率、引用准确率、延迟和成本,并结合线上反馈持续迭代。
BM25 对专有名词、编号、错误码和精确关键词更稳,向量召回擅长语义相似,混合后覆盖更好。
太大容易引入噪声并占上下文,太小会丢失语义和上下文关系,需要按文档结构调参。
索引和检索阶段都要携带权限元数据,检索结果必须按用户权限过滤,不能只在生成后处理。