让你的RAG检索精度飙升,秒杀90%的人!

让你的RAG检索精度飙升,秒杀90%的人! 本文详细介绍了提升RAG检索精度的五种关键方法包括数据清洗预处理、查询扩展、自查询和提示压缩。文章首先阐述了数据清洗的重要性如去除冗余模板内容、消除额外空白和格式不一致、去除脚注和页眉页脚等。接着文章探讨了查询扩展如何通过大模型生成多个语义相关查询提高检索的全面性和准确性。自查询策略则通过大语言模型自动提取查询中的关键元数据提升检索的精确性。最后文章介绍了提示压缩如何减少上下文噪声突出最相关信息从而提高检索精度和生成质量。此外还讨论了RAG效果评估的方式、指标和打分标准为RAG系统的开发和优化提供了参考依据。 目录一、优化检索精度的方法1.1、数据清洗和预处理1.2、查询扩展1.3、自查询1.4、提示压缩二、RAG 效果评估2.1、评估方式2.2、评估指标2.3、打分标准一、优化检索精度的方法1.1、数据清洗和预处理在 RAG 索引流程中文档解析之后、文本块切分之前进行数据清洗和预处理能够有效减少脏数据和噪声提升文本的整体质量和信息密度。通过清除冗余信息、统一格式、处理异常字符等手段数据清洗和预处理过程确保文档更加规范和高质量从而提高 RAG 系统的检索效果和信息准确性。1.1.1、处理冗余的模板内容在企业内部文档中特别是合同或报告等类型的文档通常会出现大量的重复段落例如多个合同中包含相同的法律条款或说明性文字。这类重复内容会增加向量数据库的存储负担并影响检索效率。通过去除冗余内容能够减少不必要的干扰提升检索速度和相关性。处理前1.…… 2.第一条责任条款 3.第二条服务条款 4.第一条责任条款 # 重复的内容 5.第二条服务条款 # 重复的内容 6.……处理后1.…… 2.第一条责任条款 3.第二条服务条款 4.……1.1.2、消除文档中的额外空白和格式不一致文档中可能存在多余的空行、缩进或其他格式不一致的情况这些多余的空白和格式会影响文本块的切分和向量化过程。通过清理这些格式化问题能够确保文本块的划分更加精准减少分块过程中的误差。处理前产品介绍 我们的产品……1.产品介绍 2. 3. 我们的产品……处理后1.产品介绍我们的产品……1.1.3、去除文档脚注、页眉页脚、版权信息在文档解析时可能会从网页或 PDF 中提取出脚注、版权声明、页眉页脚等无关信息。这些内容会增加数据的噪声影响向量生成的精度。去除这些无关的页脚和版权信息有助于提升文本块的语义密度。处理前1.版权所有 © 2024 公司名称处理后1.2、查询扩展在 RAG 系统的典型检索步骤中用户的查询会转化为向量后进行检索但单个向量查询只能覆盖向量空间中的一个有限区域。如果查询中的嵌入向量未能包含所有关键信息那么检索到的文档块可能不相关或缺乏必要的上下文。因此单点查询的局限性会限制系统在庞大文档库中的搜索范围导致错失与查询语义相关的内容。查询扩展策略通过大模型从原始查询语句生成多个语义相关的查询可以覆盖向量空间中的不同区域从而提高检索的全面性和准确性。这些查询在嵌入后能够击中不同的语义区域确保系统能够从更广泛的文档中检索到与用户需求相关的有用信息。以下是查询扩展的指令模版你是一个AI语言模型助手。 你的任务是生成五个不同版本的用户问题以便从向量数据库中检索相关文档。 通过从多个角度生成用户问题你的目标是帮助用户克服基于距离的相似性搜索的一些局限性。 请将这些替代问题用换行符分隔。原始问题{查询原文}假设原始查询问题为“下面报告中涉及了哪几个行业的案例以及总结各自面临的挑战”通过查询扩展指令GPT-4o 生成如下结果请问报告中提到的案例涉及了哪些行业这些行业各自面临的挑战有哪些 报告中有哪些行业的案例被讨论每个行业在报告中描述的挑战是什么 这个报告中具体提到了哪些行业的案例能否总结一下这些行业当前面临的主要挑战 该报告中涵盖了哪些行业案例并对各行业的挑战进行了哪些讨论 在报告中提到的行业案例有哪些这些行业分别遇到的主要问题和挑战是什么通过这种查询扩展策略原始问题被分解为多个子查询每个子查询独立检索相关文档并生成相应的结果。随后系统将所有子查询的检索结果进行合并和重新排序。此方法能够有效扩展用户的查询意图确保在复杂信息库中进行更全面的文档检索从而避免遗漏与查询语义密切相关的重要内容。1.3、自查询在将用户查询转化为向量的过程中无法确保查询中的所有关键信息都被充分捕捉到向量中。例如若希望检索结果依赖于查询中的标签直接通过嵌入向量进行检索并不能确保这些标签在向量表示中被完整表达或者在与其他向量的距离计算中占有足够的权重。这种不足可能会导致检索结果缺乏相关性和准确性。自查询策略通过大语言模型自动提取查询中对业务场景至关重要的元数据字段如标签、作者 ID、评论数量等关键信息并将这些信息结合到嵌入检索过程中。通过这种方式可以确保嵌入向量中包含这些关键信息从而提高检索的全面性与精确性。以下是自查询的指令模版你是一个AI语言模型助手。你的任务是从用户问题中提取关键信息你的回复应仅包含提取的关键信息。用户问题{查询原文}假设原始查询问题为“下面报告中涉及了哪几个行业的案例以及总结各自面临的挑战”通过自查询指令GPT-4o 生成如下结果行业案例挑战通过这种自查询策略系统能够精准提取查询中的关键信息结合关键词检索及向量检索确保这些元数据在向量检索中得以充分利用从而提高检索结果的相关性和准确性。1.4、提示压缩提示压缩旨在减少上下文中的噪声并突出最相关的信息从而提高检索精度和生成质量。在 RAG 系统中检索到的文档通常包含大量无关的文本这些无关内容可能会掩盖与查询高度相关的信息导致生成结果的相关性下降。提示压缩通过精简上下文、过滤掉不相关的信息确保系统只处理与查询最相关、最重要的内容。以下是提示压缩的指令模版你是一个AI语言模型助手负责对检索到的文档进行上下文压缩。 你的目标是从文档中提取与用户查询高度相关的段落并删除与查询无关或噪声较大的部分。 你应确保保留所有能够直接回答用户查询的问题核心信息。输入 用户查询{用户的原始查询} 检索到的文档{检索到的文档内容}输出要求 提取与用户查询最相关的段落和信息。 删除所有与查询无关的内容包括噪声、背景信息或扩展讨论。 压缩后的内容应简洁清晰直指用户的核心问题。输出格式 {压缩段落1} {压缩段落2} {压缩段落3}通过提示压缩系统能够准确提取出与查询高度相关的核心信息去除冗余内容并返回简洁的压缩结果。组合成为新的指令输入大模型获得回复提高 RAG 系统答案准确度。二、RAG 效果评估在 RAG 系统的开发、优化与应用过程中RAG 效果评估是其中不可或缺的一环。通过建立统一的评估标准能够公平、客观地比较不同 RAG 系统及其优化方法从而识别出最佳实践。这套评估体系不仅帮助开发者发现系统的优劣亦为后续的改进提供了有力的参考依据。下面我介绍一种在真实应用场景中采用的 RAG 效果评估标准与方法。2.1、评估方式模型打分通过使用大语言模型对 RAG 的输出进行自动评分。这类评估方式效率高能够快速处理大规模的评估任务但在准确性上可能受到模型本身偏差的影响。人工打分由人类评审员对 RAG 的输出进行逐一打分。人工评估方式可以提供更为精确、细致的反馈特别是在检测生成答案中的细微错误和幻觉时但其耗时较长成本较高。2.2、评估指标CR 检索相关性Context Relevancy该指标用于测量检索到的信息与查询上下文的相关性。如果检索到的信息偏离了原始查询后续的生成任务就会受到负面影响。AR 答案相关性Answer Relevancy衡量生成答案与原始问题之间的相关性。该指标主要评估生成的答案是否能够解决用户的问题且内容是否逻辑连贯。F 可信度Faithfulness评估生成的答案中是否存在幻觉hallucination或不准确之处。这一指标尤为重要因为虚假的答案会极大影响用户对 RAG 系统的信任度。在这里插入图片描述2.3、打分标准完美Perfect1.0 分可接受Acceptable0.75 分缺失Missing0.5 分错误Incorrect0 分RAG 效果评估是 RAG 系统完成搭建后的一个持续优化流程。通过设定打分标准和评估指标综合评分能够准确反映 RAG 系统的整体性能。针对不同的应用场景还可以引入更多评估指标如Top5 召回率、Top3 召回率、Top1 召回率以及其他常用的 NLP 评估指标。通过灵活组合这些评估方式与指标可以更加精确地衡量 RAG 系统在特定场景中的表现并为后续优化提供方向。最近两年大模型发展很迅速在理论研究方面得到很大的拓展基础模型的能力也取得重大突破大模型现在正在积极探索落地的方向如果与各行各业结合起来是未来落地的一个重大研究方向大模型应用工程师年包50w属于中等水平如果想要入门大模型那现在正是最佳时机2025年Agent的元年2026年将会百花齐放相应的应用将覆盖文本视频语音图像等全模态如果你对AI大模型入门感兴趣那么你需要的话可以点击这里大模型重磅福利入门进阶全套104G学习资源包免费分享扫描下方csdn官方合作二维码获取哦给大家推荐一个大模型应用学习路线这个学习路线的具体内容如下第一节提示词工程提示词是用于与AI模型沟通交流的这一部分主要介绍基本概念和相应的实践高级的提示词工程来实现模型最佳效果以现实案例为基础进行案例讲解在企业中除了微调之外最喜欢的就是用提示词工程技术来实现模型性能的提升第二节检索增强生成RAG可能大家经常会看见RAG这个名词这个就是将向量数据库与大模型结合的技术通过外部知识来增强改进提升大模型的回答结果这一部分主要介绍RAG架构与组件从零开始搭建RAG系统生成部署RAG性能优化等第三节微调预训练之后的模型想要在具体任务上进行适配那就需要通过微调来提升模型的性能能满足定制化的需求这一部分主要介绍微调的基础模型适配技术最佳实践的案例以及资源优化等内容第四节模型部署想要把预训练或者微调之后的模型应用于生产实践那就需要部署模型部署分为云端部署和本地部署部署的过程中需要考虑硬件支持服务器性能以及对性能进行优化使用过程中的监控维护等第五节人工智能系统和项目这一部分主要介绍自主人工智能系统包括代理框架决策框架多智能体系统以及实际应用然后通过实践项目应用前面学习到的知识包括端到端的实现行业相关情景等学完上面的大模型应用技术就可以去做一些开源的项目大模型领域现在非常注重项目的落地后续可以学习一些Agent框架等内容上面的资料做了一些整理有需要的同学可以下方添加二维码获取仅供学习使用