【2025版】如何 提高RAG 检索准确率,从零基础到精通,精通收藏这篇就够了!

在讨论了 RAG 的 chunking、embedding、评估指标、评估流程等技术后,我们进一步探讨 RAG 系统的实际应用。在实际项目中,RAG(Retrieval-Augmented Generation)系统的检索阶段往往是影响生成效果的核心环节。RAG 系统的工作流程包括数据摄取(Data Ingestion)和数据查询(Data Querying),其中检索是至关重要的一步。本文介绍了在一个案例中,团队如何通过2个关键技巧把 RAG 检索准确率从 50% 提高到 95 %


1. 什么是 RAG 检索准确率?为什么它很重要?

RAG 检索准确率(Recall)是衡量检索系统能否找到与用户查询相关的所有文档的指标。它在 RAG 系统中尤为重要,因为如果检索阶段无法提供足够的上下文,即使生成模型再强大,也难以输出高质量结果。高检索准确率是确保生成内容相关性的基础。

检索准确率(Recall)公式如下:

示例:

  • 用户查询 “Swedish massage in Helsinki”。

  • 数据库中有 10 条相关文档,检索系统返回 9 条相关文档和 1 条不相关文档。

  • 检索准确率计算:


2. 案例背景

在这个案例中,我们通过两个关键改进,使系统的检索准确率从 50-60% 提升至 95% 以上。此项目的背景是为客户服务团队构建一个内部聊天机器人,以帮助客服人员更快地访问信息。

项目初始阶段包括:

  • 从各种系统中获取数据。

  • 预处理、chunking 和 embedding 数据。

  • 在 Azure AI Search 中构建搜索索引。

  • 将聊天机器人连接到搜索索引。

数据包括有关地点(如水疗中心和健身房)和专家(如按摩治疗师和私人教练)的信息。数据通过将文本字段(描述、城市、地区)合并为一个内容字段,并为向量搜索创建 embeddings 来准备。

最初的搜索查询要么作为向量搜索,要么作为全文 BM25 搜索对内容字段运行。然而,系统仅在 50-60% 的时间内检索到正确的文档。

向量搜索不适合这个应用,因为它优先考虑模糊匹配和语义相似性,而我们的应用需要精确匹配。BM25 搜索也不够,因为它基于术语频率,导致包含更多匹配查询术语的文档优先显示,而不是匹配相关术语的文档。BM25 还存在芬兰语词形变化的问题,稍微的词形变化会阻止文档检索。


3. 初始方案的问题

系统采用了向量搜索BM25 全文搜索 的组合,然而:

  1. 向量搜索:基于语义相似性,但无法精确匹配具体的服务或位置。

  2. BM25 搜索:依赖关键字频率,但会优先返回包含高频关键词但相关性低的文档。对于芬兰语等具有词形变化的语言,BM25 的效果进一步降低。

这些问题导致检索结果相关性不足,严重影响了用户体验。


4. 检索准确率从 50-60% 提升至 95% 的两个技巧

通过以下两项关键改进,系统的检索准确率得以显著提升:

1.利用 LLM 改写用户查询

  • 解决方案:在查询阶段,借助 LLM 将用户输入改写为结构化查询。例如,将 “Swedish massage in Helsinki” 改写为服务字段包含 “Swedish massage” 且城市字段为 “Helsinki” 的查询。

  • 实际效果:精准的查询改写显著提高了检索相关性,减少了 BM25 依赖于关键词频率的问题。

  • 成本与问题

  • 性能开销:查询改写需要实时处理,在高并发场景中可能增加响应时间。

  • 维护复杂度:需持续优化查询改写逻辑,以适应不断变化的用户需求。

2.利用 LLM 改进索引

  • 解决方案:在索引阶段,使用大语言模型(LLM)从自由文本中提取服务信息,生成结构化服务列表作为索引字段。例如,从描述 “This spa offers Swedish massage and aromatherapy” 中提取 “Swedish massage” 和 “aromatherapy”。

  • 处理非标准化输入:预处理步骤清洗拼写错误、语言变体等噪声,提升模型一致性。

  • 实际效果:索引信息更加精确,解决了向量搜索中模糊匹配导致的相关性不足问题。

  • 成本与问题

  • 计算成本:索引构建需要显著的计算资源,特别是在大规模数据场景中。

  • 维护复杂度:动态服务信息需要持续更新,确保索引的准确性和实用性。

2个技巧把 RAG 检索准确率从 50% 提高到 95 %


6. 总结

本案例的关键收获如下:

  1. 核心在于检索阶段的优化:生成效果的提升离不开高质量的检索结果。

  2. 简单且有效的改进:通过 LLM 改进索引和查询改写,显著提升了系统性能。

  3. 成本与收益的权衡:虽然增加了部分计算和维护成本,但带来的用户体验提升是值得的。

高效的检索不仅为生成阶段提供了坚实基础,也证明了技术优化应聚焦于用户需求,避免盲目追求复杂性。

## AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

四、AI大模型商业化落地方案

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

<think>嗯,用户问的是如何写算法工程师的技术栈。首先,我需要明确用户的需求。可能他们正在准备简历或者面试,需要展示自己的技能。技术栈部分对于算法工程师来说确实很关键,因为要突出专业能力和项目经验。 接下来,我应该考虑技术栈的结构。通常分为几个部分,比如编程语言、算法基础、机器学习框架、数据处理、模型部署等等。用户可能希望有一个清晰的分类,让招聘方一目了然。 然后,我需要想想每个部分应该包含哪些具体的技术。比如编程语言里Python肯定是必须的,还有C++或Java可能在某些场景下需要。算法基础部分要包括数据结构、常用算法以及机器学习的基础知识,比如分类、回归、聚类这些。 机器学习框架方面,TensorFlow、PyTorch是主流,可能还要提到Keras或者Scikit-learn。数据处理工具比如Pandas、NumPy、Spark这些。深度学习部分可能要分CV、NLP或者其他领域,比如CV会用到OpenCV,NLP可能涉及Transformer、BERT等。 模型部署和优化也是重点,比如Docker、Kubernetes、TensorRT、ONNX这些工具。大数据和分布式计算可能需要Hadoop、Spark、Flink。云计算平台像AWS、Azure、阿里云也是常见的加分项。 另外,用户可能希望知道如何根据岗位调整技术栈。比如应聘CV工程师应该突出相关的框架和项目,而NLP岗位则需要Transformer、BERT等技术。同时,强调项目经验和量化成果也很重要,比如优化模型后准确率提升了多少,或者处理了多少数据量。 还要注意避免的问题,比如堆砌技术名词,不熟悉的技术不要写。排要清晰,分类明确。可能用户希望技术栈既全面又有重点,所以需要分层次,核心技能放前面,相关技能简要提及。 最后,总结一下结构,给出一个模板,帮助用户组织自己的技术栈。可能还需要提醒用户结合自己的实际经验,真实展示技能,避免夸大。这样用户就能更有针对性地准备他们的技术栈部分,提升简历的效果了。</think>算法工程师的技术栈是简历和职业能力展示的核心部分,需要清晰、结构化地体现你的技术深度和岗位匹配度。以下是撰写建议和常见内容方向: --- ### **一、技术栈撰写原则** 1. **分类清晰**:按技术模块分层,避免杂乱堆砌。 2. **突出核心能力**:岗位相关的核心技能靠前,次要技能简写。 3. **量化成果**:结合项目说明技术落地效果(如准确率提升、耗时降低等)。 4. **避免冗余**:只写熟悉且有实践经历的技术,切忌堆砌名词。 --- ### **二、技术栈内容框架** #### **1. 编程语言** - **必写**:Python(算法岗核心语言)、SQL(数据处理) - **选写**:C++(高性能计算/部署)、Java/Scala(大数据场景)、Shell(脚本) - **示例**: ```markdown - 编程语言:Python(熟练使用NumPy/Pandas/Scikit-learn生态)、C++(熟悉STL及性能优化)、SQL(复杂查询与调优) ``` #### **2. 算法基础** - **数据结构与算法**:动态规划、图算法、排序/搜索优化 - **机器学习基础**:分类/回归/聚类算法(如XGBoost、SVM、K-Means)、特征工程、评估指标(AUC/F1等) - **深度学习**:CNN/RNN/Transformer、预训练模型(BERT、ResNet等)、损失函数设计 - **示例**: ```markdown - 算法基础:熟悉统计机器学习与深度学习模型,精通XGBoost调优与Transformer架构,复现过YOLOv5改进模型(mAP提升3%) ``` #### **3. 框架与工具** - **机器学习框架**:PyTorch(研究常用)、TensorFlow(工业部署)、LightGBM/CatBoost - **数据处理工具**:Pandas/NumPy、Spark(分布式计算)、Hive/Hadoop(大数据场景) - **部署与工程化**:Docker/Kubernetes、ONNX/TensorRT(模型压缩)、Flask/FastAPI(API开发) - **示例**: ```markdown - 框架工具:PyTorch(3年项目经验)、TensorFlow Serving(模型部署)、Airflow(流水线搭建)、Prometheus(服务监控) ``` #### **4. 领域细分技能(按岗位调整)** - **CV方向**:OpenCV、目标检测/图像分割、MMDetection/PaddleSeg - **NLP方向**:HuggingFace、文本分类/实体识别、LangChain/RAG - **推荐系统**:召回/排序策略、Faiss(向量检索)、CTR预估(DeepFM等) - **示例**: ```markdown - 计算机视觉:熟悉SAM/YOLO系列模型,实现过工业缺陷检测系统(漏检率<0.5%) ``` #### **5. 附加能力(加分项)** - **数学基础**:线性代数、概率统计、最优化理论 - **软技能**:技术文档写作、跨团队协作、技术调研与复现能力 - **工具链**:Git/GitLab CI/CD、Linux环境、LaTeX(论文写作) --- ### **三、技术栈模板示例** ```markdown **技术栈** - 编程语言:Python(主导5个算法项目)、C++(高性能计算)、SQL(亿级数据ETL) - 算法能力:精通推荐系统(召回/排序)、熟悉多模态对齐技术,复现CLIP改进模型(召回率+8%) - 深度学习框架:PyTorch(3年)、TensorRT(模型量化部署)、HuggingFace Transformers - 工程化:Docker/Kubernetes、Redis(缓存优化)、Prometheus+ELK(监控日志) - 领域工具:Faiss(亿级向量检索)、Airflow(任务调度)、Trino(跨库查询) - 数学基础:矩阵分解、概率图模型、最优化方法(SGD/Adam) ``` --- ### **四、注意事项** 1. **避免夸大**:不熟悉的技术注明「了解」而非「精通」。 2. **匹配岗位**:投递CV岗时弱化NLP相关技术,突出OpenCV/目标检测等。 3. **项目联动**:技术栈需与项目经历呼应(如写TensorRT则应有部署优化案例)。 通过清晰的技术栈展示,招聘方能快速判断你的能力与岗位需求的匹配度,建议结合自身经历灵活调整!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值