RAG pipeline 优化策略概述

RAG pipeline优化策略概述

编者按:随着GPT-4等大模型的出现,检索增强生成(RAG)技术备受关注。然而,我们是否已经找到了最佳的RAG策略呢?

我们今天为大家带来的这篇文章,作者认为目前还没有单一的RAG流程或策略是最优的。文章详细归纳了当前开发者们正在尝试的多种RAG性能优化策略。

文章首先指出RAG可以解决LLM的一些关键问题,如利用私有数据、扩展上下文窗口等。接着,作者列出了如何优化RAG流程的多种策略:将文档分块以提高搜索精确度、建立多个索引进行查询路由、微调嵌入模型适应特定文档集、混合使用多种检索方式、使用重排序算法、扩展或压缩提示语等。

每种策略都有其适用场景,开发者们还需要不断尝试探索,才能找到最佳RAG方案。但文章提供了当前改进RAG性能的多种切入点,让我们对RAG技术发展方向有了更清晰的认识。期待后续更多优秀成果的诞生!

原文链接:Improving RAG: Strategies

作者:Matt Rickard

译者:丘山子

检索增强生成(Retrieval Augmented Generation,RAG)解决了大语言模型(LLM)的几个问题:

  1. 不需要进行微调,即可实现将私有数据放入上下文。
  2. 能够有效地扩展 LLM 的信息上下文窗口(the context window of information)。
  3. 通过学习真实的文档(ground truth documents)来对抗大模型的"幻觉"问题。
  4. 此外,通过RAG技术,还可以在输出中"引用"这些文档,使模型更具可解释性(explainable)。

但是,并没有单一的RAG流程或策略(RAG pipeline or strategy)。大多数 RAG pipeline or strategy 都涉及到使用向量数据库(目前来看是这样)。不过,目前开发者们正在采用大量策略来改进RAG流程的性能。(在下文列举这些策略~)

  • 将文档分割成较小的片段(Chunking data)。将文档分块可以使语义搜索(semantic search)更加精确。如果文档本身将要被添加到提示语(prompt)中,并且其大小需要在上下文窗口的限制之内,这也是一种自然的限制。您可能需要匹配的是某个页面、章节或段落,而不是与用户查询匹配的整个文档。由于不同的文档类型在逻辑上可以以不同的方式进行分块,因此可能没有一种适用于所有情况的方法。
  • 建立多个索引(Multiple indices)。将文档语料库分割成多个索引,然后根据某些标准进行路由查询(routing queries)。这样做的话,搜索范围只会是一组较小的文档,而不是整个数据集。同样,这种方法并不总是有用,但对于某些数据集来说可能是有帮助的。相同的方法也适用于 LLM 本身。
  • 微调嵌入模型(Custom embedding model)。微调嵌入模型可以帮助检索。如果您的文档集合的相似性概念与其他集合有明显的差异,那么这种方法将是有用的。(译者注:不同的文档集合可能具有不同的相似性概念。例如,对于某些特定领域的文档集合,相似性可能基于特定的主题、关键词或上下文。在这种情况下,通过微调嵌入模型或自定义相似性度量方法,可以更好地适应您的文档集合的特定相似性概念,从而提高检索的准确性和效果。)
  • 混合多种检索方式(Hybrid search)。向量检索往往(或通常情况下)并不足够。通常需要将其与传统关系数据库和其他文档过滤方式相结合。
  • 重排序算法(Re-rank)。首先,使用初始检索方法获得了一个近似的候选检索结果列表。然后,使用重排序算法按相关性对结果进行排序。
  • 扩展或压缩提示语(Upscaling or downscaling prompts)。需要优化用户查询,使其能够在检索系统中发挥更好的作用。可以通过在进行语义搜索之前添加更多上下文信息来扩展用户查询,也可以通过删除可能分散模型注意力和不必要的部分来压缩查询语句。
相关推荐
AI纪元故事会几秒前
《目标检测全解析:从R-CNN到DETR,六大经典模型深度对比与实战指南》
人工智能·yolo·目标检测·r语言·cnn
Shang1809893572624 分钟前
T41LQ 一款高性能、低功耗的系统级芯片(SoC) 适用于各种AIoT应用智能安防、智能家居方案优选T41L
人工智能·驱动开发·嵌入式硬件·fpga开发·信息与通信·信号处理·t41lq
Bony-35 分钟前
用于糖尿病视网膜病变图像生成的GAN
人工智能·神经网络·生成对抗网络
罗西的思考1 小时前
【Agent】 ACE(Agentic Context Engineering)源码阅读笔记---(3)关键创新
人工智能·算法
Elastic 中国社区官方博客1 小时前
通过混合搜索重排序提升多语言嵌入模型的相关性
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
猫头虎1 小时前
昆仑芯 X HAMi X 百度智能云 | 昆仑芯 P800 XPU/vXPU 双模式算力调度方案落地
人工智能·百度·开源·aigc·文心一言·gpu算力·agi
大千AI助手1 小时前
探索LoSA:动态低秩稀疏自适应——大模型高效微调的新突破
人工智能·神经网络·lora·大模型·llm·大千ai助手·稀疏微调
说私域1 小时前
“开源链动2+1模式AI智能名片S2B2C商城小程序”在拉群营销中的应用与效果
人工智能·小程序
XiaoYu20022 小时前
第1章 核心竞争力和职业规划
前端·面试·程序员
PyAIGCMaster2 小时前
钉钉的设计理念方面,我可以学习
人工智能·深度学习·学习·钉钉