从Java转行大模型应用,Advanced-RAG 学习
一、RAG 进阶概述Advanced-RAG基础RAG检索增强生成核心是“检索生成”的两阶段流程解决大模型“幻觉”和知识时效性问题但在复杂场景长文档、模糊查询、高精准需求中存在检索效率低、相关性不足、上下文冗余等痛点。Advanced-RAG进阶RAG通过对“检索前Pre-Retrieval、检索中Retrieval、检索后Post-Retrieval”全流程的优化提升检索精准度、效率和生成质量让RAG更适配复杂业务场景核心目标是“更准、更快、更贴合需求”。核心优化链路Pre-Retrieval预检索优化→ 检索策略优化 → Post-Retrieval后检索优化三者环环相扣共同提升RAG整体性能。二、Pre-Retrieval 预检索优化检索前准备Pre-Retrieval是检索前的“铺垫工作”核心是通过优化索引结构、预处理查询/文档让后续检索更高效、更精准减少无效检索和冗余信息相当于“提前整理好知识库让检索能快速找到目标”。核心优化方向优化索引结构、预处理查询。2.1 索引优化核心重点索引是RAG检索的“导航地图”基础RAG多使用单一向量索引进阶场景下需设计更精细的索引结构适配不同检索需求以下是4种核心进阶索引2.1.1 摘要索引Summary Index定义对长文档进行分层处理先提取文档的核心摘要如段落摘要、全文摘要将摘要构建为索引原始文档作为“详细备份”。作用解决长文档检索效率低、向量表征不精准的问题——检索时先匹配摘要索引快速定位到相关文档/段落再调取原始文档的细节内容兼顾效率和精准度。实操要点摘要需保留文档核心信息关键观点、核心数据避免摘要过于简略导致检索偏差可结合大模型自动生成摘要减少人工成本。2.1.2 父子索引Parent-Child Index定义将文档按“父子关系”拆分父文档整体概览/章节标题子文档具体段落/细节内容分别构建索引父索引关联子索引形成层级结构。作用适配“先找整体、再找细节”的检索场景如长文档、多章节文档检索时先通过父索引定位到相关章节父文档再通过父索引关联的子索引精准提取章节内的细节避免检索到无关章节的内容。示例将一本技术手册拆分为“章节标题父文档”和“章节内知识点子文档”检索时先匹配章节标题再获取对应章节的细节。2.1.3 假设性问题索引Hypothetical Question Index, HQI定义基于文档内容自动生成该文档能回答的“假设性问题”即“如果用户问XX这篇文档能解答”将这些问题作为索引替代传统的文档向量索引。作用解决“用户查询与文档表述不一致”的问题——用户的查询可能比较口语化、模糊而假设性问题更贴近用户可能的提问方式能提升检索的相关性。实操要点假设性问题需覆盖文档的核心知识点每个文档生成3-5个即可避免过多问题导致索引冗余可通过大模型批量生成再人工筛选优化。2.1.4 元数据索引Metadata Index定义给文档添加结构化元数据如文档类型、发布时间、作者、领域、关键词、标签等单独构建元数据索引与向量索引结合使用混合索引的基础。作用实现“精准过滤”减少无关检索结果。例如用户需要“2024年发布的AI领域技术文档”可先通过元数据索引筛选出“发布时间2024、领域AI”的文档再进行向量检索提升检索效率和精准度。关键元数据需结构化、标准化如时间格式统一为“YYYY-MM-DD”领域标签统一为“AI、大数据、云计算”等避免元数据混乱导致过滤失效。2.2 查询预处理辅助优化检索前对用户的原始查询进行预处理让查询更贴合索引结构减少检索偏差核心操作包括查询清洗去除冗余词汇、修正语法错误、查询归一化统一表述方式。三、检索策略优化检索中核心在Pre-Retrieval的基础上优化检索过程中的策略核心目标是“提升检索相关性、兼顾效率”核心方向包括混合检索、查询扩展查询优化的核心。3.1 混合检索Hybrid Retrieval定义结合多种检索方式向量检索、关键词检索、元数据检索等弥补单一检索方式的不足实现“优势互补”。核心逻辑单一检索的局限——向量检索擅长语义匹配如模糊查询、同义查询但对关键词精准匹配不足关键词检索擅长精准匹配但无法理解语义元数据检索擅长过滤无法进行内容匹配。混合检索将三者结合提升检索全面性。常见组合方式向量检索 关键词检索先通过关键词检索筛选出候选文档再通过向量检索排序提升精准度向量检索 元数据检索先通过元数据检索过滤无关文档如时间、领域再通过向量检索匹配语义三者结合元数据过滤 → 关键词筛选 → 向量排序最大化提升检索效率和相关性。3.2 查询优化——查询扩展Query Expansion, QE定义对用户的原始查询进行“扩展”生成更多与原始查询语义相关的查询词/句子扩大检索范围避免因查询过于简略、表述模糊导致的检索遗漏。核心目的解决“用户查询词少、语义不明确”的问题让检索能覆盖更多相关文档提升召回率避免漏检。常见扩展方式按优先级排序同义词扩展替换查询中的核心词为同义词/近义词如“人工智能”→“AI”“机器学习”语义扩展通过大模型生成与原始查询语义相关的句子如原始查询“RAG如何优化”扩展为“RAG检索效率优化方法”“RAG相关性提升技巧”上下文扩展结合用户的历史查询、对话上下文补充查询信息如用户先问“RAG是什么”再问“如何优化”扩展为“如何优化RAG检索流程”否定扩展补充“不相关”的关键词过滤无关结果如查询“AI技术”扩展为“AI技术 - 医疗AI”避免检索到医疗AI相关内容。注意扩展需适度避免过度扩展导致检索范围过大反而降低精准度。四、Post-Retrieval 后检索优化检索后处理Post-Retrieval是对检索到的候选文档进行“二次处理”筛选出最相关、最有价值的信息减少冗余为后续生成提供高质量的上下文核心优化方向上下文压缩、RAG-Fusion。4.1 上下文压缩Context Compression定义检索到的候选文档可能包含大量冗余信息如重复内容、与查询无关的段落上下文压缩就是对这些文档进行精简提取出与查询最相关的核心内容形成“精简版上下文”。作用减少大模型的输入负担大模型有上下文窗口限制避免冗余信息干扰大模型生成提升生成内容的精准度缩短生成时间提升整体响应效率。实操方式基于大模型压缩将候选文档和用户查询一起输入大模型让大模型提取与查询相关的核心内容基于关键词压缩筛选出包含查询核心词的句子/段落删除不包含核心词的冗余内容分层压缩先压缩单篇文档再对多篇文档的压缩结果进行二次筛选保留最相关的内容。4.2 RAG-Fusion检索结果融合定义对多次检索如不同检索方式、不同查询扩展后的检索得到的候选文档进行“融合排序”结合各检索结果的相关性分数输出最终的、最相关的上下文。核心逻辑单一检索可能存在偏差多次检索的结果各有侧重RAG-Fusion通过融合多源检索结果弥补单一检索的不足提升检索的全面性和精准度。核心步骤多轮检索通过不同的检索方式如向量检索、关键词检索或不同的查询扩展词进行多次检索得到多组候选文档及相关性分数分数归一化将不同检索方式的相关性分数统一到同一区间如0-1避免因分数尺度不同导致融合偏差融合排序根据归一化后的分数对所有候选文档进行排序保留分数最高的前N篇如前5篇作为最终的上下文输入大模型。优势相比单一检索能覆盖更多相关文档减少漏检同时提升检索结果的相关性排序让后续生成的内容更贴合用户需求。五、核心总结Advanced-RAG的核心是“全流程优化”从Pre-Retrieval的索引优化、查询预处理到检索中的混合检索、查询扩展再到Post-Retrieval的上下文压缩、RAG-Fusion每一步都围绕“提升检索精准度、效率减少冗余”展开。关键逻辑Pre-Retrieval做好“准备工作”让检索有明确的“导航”和“目标”检索优化做好“执行工作”让检索更高效、更全面Post-Retrieval做好“收尾工作”让输入大模型的上下文更优质。实际应用中需根据业务场景如长文档、模糊查询、高精准需求灵活组合不同的优化策略而非机械套用所有方法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2465381.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!