张大妈

如何在不微调的情况下提高 RAG 的准确性?

源自知乎:潘锦

02-05 22:27

RAG 效果不佳,问题往往不出在模型,而在检索环节。与其投入成本微调大模型或升级向量库,不如从工程层面优化检索链路。通过五个高 ROI 的策略,可以有效提升检索的稳定性和准确率,从而让生成效果更上一层楼。

如何在不微调的情况下提高 RAG 的准确性?智能速览

  • 采用多向量策略,为不同内容形态提供专属检索入口。

  • 人工补充业务语义和结构标签,为检索打好地基。

  • 利用标量元数据进行过滤和重排,让检索结果更可控。

  • 通过上下文增强,避免因文本切分导致的语义误读。

  • 集成 BM25 算法,补齐关键词精确匹配的能力短板。

如何在不微调的情况下提高 RAG 的准确性?精华内容

检索是 RAG 的命脉,其稳定性决定了最终效果的上限。以下五个策略,从不同维度切入,旨在系统性地加固这道防线。

多向量检索

多向量检索的核心在于将用于检索的表示和用于回答的原文解耦。例如,用内容的摘要进行检索,但用原始材料生成最终答案。这种策略尤其适用于表格和多模态内容(如图片),因为摘要更容易被语义召回,而精确回答则需要原始的字段、数值或视觉信息。

通过为同一份文档生成摘要向量、标题向量、表格向量等,可以创建多个检索入口,显著提升召回的全面性。

人工补充语义

完全自动化的数据处理流程往往难以捕捉深层的业务语义和逻辑结构。在工程实践中,通过人工方式为文档切片添加关键标签、定义元数据,能显著提升检索质量。

这种前置的“人工干预”并非全量处理,而是优先打上最值钱的标签,如业务线、文档类型、核心实体等。这些标签不仅能优化语义,还能后续用于标量过滤和路由,直接提升线上服务的稳定性。

标量增强检索

向量检索追求“语义相似”,但很多场景需要的是“业务精确”。这里的“标量”指时间、版本、来源、权限等级等非向量化字段。将它们与向量检索结合,能让结果从“相似”走向“可控”。

实现方式有两种:一是先过滤后召回,用标量 metadata 快速筛选出候选集,再进行向量搜索,大幅减少干扰;二是先召回后重排,用向量召回 TopK 结果后,再根据标量(如文档质量分、时效性)进行二次打分和排序。

上下文增强

文本切片会切断上下文,导致模型在召回孤立的段落时产生误解。上下文增强旨在为每个检索单元补充必要的背景信息。

常见方法有三种:一是在 Embedding 前,将章节标题、文档路径等信息拼接在文本前;二是 Parent/Window 思路,召回小片段后,再向上获取其父节点内容或前后文本窗口,作为给模型的最终输入;三是构建结构化索引(如树状目录),模拟人类先查目录再翻页的检索方式。

集成 BM25

向量检索在处理编号、专有名词等关键词时表现不佳,而基于词频的 BM25 算法则擅长此类精确匹配。将两者结合,可以取长补短。

工程上常用两种模式:一是并行召回,同时用向量和 BM25 检索,合并结果后进行统一去重和重排序;二是两阶段模式,先用 BM25 这种低成本方式做第一轮粗筛,缩小范围后,再用向量模型进行语义精排,适合超大规模语料库。

这五大策略并非孤立存在,而是相辅相成的系统工程。将它们组合使用,能构建起一个稳定、可控且高效的检索系统,真正释放 RAG 的潜力。评估优化效果时,尤其应关注“无答案率”和“引用可追溯性”,这两项指标最能反映检索链路的健康度。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章