the resources about the application based on LLM with RAG pattern
1,659
88 commits
updated Mar 10, 2026
Awesome LLM RAG Application is a curated list of application resources based on LLM with RAG pattern. (latest update: 2025-12-19)
论文顺序由近及远
2025.08.19 基于大模型的Deep Search智能体综述
2025.08.18 Deep Research: 自治型研究智能体综述
2025.08.13 Open Deep Research的优化和演进
2025.07.03 从网页搜索到智能体特性的深度研究功能:通过推理智能体优化搜索
2025.06.22 Deep Research Agents 总结
《Deep Research Agents: A Systematic Examination And Roadmap》
2025.06.14 Deep Research 总结
https://arxiv.org/abs/2506.18096
2025.02.04 Agentic RAG 总结
《Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG》
https://arxiv.org/abs/2501.09136

2024.12.23 RAG中的查询优化技术总结
2024.10.23 RAG技术演进的回顾总结
全面研究检索增强生成(RAG)技术,追溯其从基础概念到当前状态的演变过程
2024.09.23 综述RAG数据利用方案
2024.08.15 综述GraphRAG方案
《Graph Retrieval-Augmented Generation: A Survey》
2024.07.18 综述RAG用于NLP自然语言处理
《Retrieval-Augmented Generation for Natural Language Processing: A Survey》
2024.05.13 综述RAG的评估
2024.05.10 综述RAG与LLM的结合范式
《A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models》
2024.04.30 综述检索增强语言模型(RALMs)
《RAG and RAU: A Survey on Retrieval-Augmented Language Model in Natural Language Processing》
全面综述检索增强语言模型(RALMs),包括检索增强生成(RAG)和检索增强理解(RAU),并探讨其在自然语言处理(NLP)中的应用和发展,不仅关注RAG,还涵盖了RAU,详细描述了检索器和语言模型的不同交互模式,并提供了RALMs的工作时间表和应用总结。
2024.04.17 综述面向检索的核心技术
《A Survey on Retrieval-Augmented Text Generation for Large Language Models》
地址:https://arxiv.org/abs/2404.10981
主要回顾当前RAG在各个阶段的核心技术。例如,对于检索,分成了基本检索策略:线性工作流程,适用于简单任务;迭代检索策略:多次检索,逐步优化结果;递归检索策略:处理层次化或分层信息,适用于复杂查询;条件检索策略:根据特定条件或规则进行检索;以及自适应检索策略:动态调整检索策略以优化结果。

2024.02.29 面向AIGC生成做全面综述
2023.11.18 首个全面RAG综述
2023.03.20 多模态RAG综述
https://arxiv.org/abs/2303.10868 探讨了通过检索多模态知识来增强生成模型的方法,特别是如何利用图像、代码、结构化知识、音频和视频等多模态信息来提升大型语言模型(LLMs)的生成能力。
2022.02.02近三年首个综述
Microsoft-Retrieval Augmented Generation (RAG) in Azure AI Search
Cohere-Introducing Chat with Retrieval-Augmented Generation (RAG)
Milvus-Build AI Apps with Retrieval Augmented Generation (RAG)
一个开源的、基于 RAG (Retrieval-Augmented Generation) 的文档问答工具,支持多用户登录、本地和云端 LLM 及 Embedding 模型、图表多模态文档解析和问答、混合检索带文档预览的高级引用功能、持复杂推理方法,如问题分解、基于 agent 的推理(如 ReAct、ReWOO)等。
一款低代码构建多Agent大模型应用的开发工具,协助开发者用极低的成本构建复杂的AI应用,并可以持续的迭代优化效果。使用LazyLLM搭建RAG应用非常便捷和灵活,可以任意字定义多路检索和召回策略。除此之外,LazyLLM的AI应用构建流程是原型搭建 -> 数据回流 -> 迭代优化,用户可以先基于LazyLLM快速搭建RAG应用的,再结合场景任务数据进行bad-case分析,然后对应用中的关键环节进行算法迭代和模型微调,进而逐步提升整个RAG应用的效果。
MarkItDown 是一个轻量级的 Python 工具,用于将各种文件转换为 Markdown 格式,以便与 LLMs 和相关文本分析流程一起使用。为此,它与 textract 最相似,但更注重保留重要的文档结构和内容作为 Markdown(包括:标题、列表、表格、链接等)。虽然输出通常相当可读且适合人类阅读,但其目的是供文本分析工具使用——可能不是为人类消费进行高保真文档转换的最佳选择。
MarkItDown 目前支持以下格式的转换:
PDF PowerPoint Word Excel Images (EXIF metadata and OCR) Audio (EXIF metadata and speech transcription) HTML 基于文本的格式(CSV、JSON、XML) ZIP 文件(遍历内容) Youtube URLs EPubs 等
该库提供了用于摄取和预处理图像和文本文档(如 PDF、HTML、WORD 文档等)的开源组件。 unstructured的使用场景围绕着简化和优化LLM数据处理工作流程, unstructured模块化功能和连接器形成了一个有内聚性的系统,简化了数据摄取和预处理,使其能够适应不同的平台,并有效地将非结构化数据转换为结构化输出。
Firecrawl 是一个强大的 API 服务,可以从任何网站抓取数据并转换为干净的 Markdown 或结构化数据。它具有高级的抓取、爬取和数据提取功能,可以帮助您的 AI 应用程序获取干净的数据。
主要功能点
NeMo Guardrails 是一个开源工具包,用于为基于 LLM 的对话应用程序轻松添加可编程的保护轨。Guardrails(简称 "轨")是控制大型语言模型输出的特定方式,例如不谈论政治、以特定方式响应特定用户请求、遵循预定义对话路径、使用特定语言风格、提取结构化数据等。
• 查询构建——将自然语言转换为结构化查询(SQL、Cypher 或基于向量的检索) . (文本到 SQL、文本到 Cypher、自查询检索器
• 查询翻译——分解并重新表述输入,以实现更佳的检索效果。(多查询、RAG 融合、假设文档)
• 路由——动态选择正确的数据库或嵌入查询上下文以获得更相关的答案。
• 检索——使用 Re-Rank、RankGPT、RAG-Fusion、CRAG 对检索到的数据进行排名和优化,甚至从外部来源提取实时更新。
• 索引——利用多表示嵌入、分层摘要和结构化搜索优化。(RAPTOR、CoLBERT、微调)
• 生成——使用 Self-RAG 和 RRR 生成和完善响应,在需要时实现迭代推理和检索循环。RAG最佳实践《Searching for Best Practices in Retrieval-Augmented Generation》

Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents
Zero-Shot Listwise Document Reranking with a Large Language Model
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
这里列出了一些重要的研究论文,它们揭示了 RAG 领域的关键洞察和最新进展。
| 洞见 | 参考来源 | 发布日期 |
|---|---|---|
| 提出一种名为纠正检索增强生成(CRAG, Corrective Retrieval Augmented Generation)的方法,旨在提升 RAG 系统生成内容的稳定性和准确性。其核心在于增加一个能够自我修正的组件至检索器中,并优化检索文档的使用,以促进更优质的内容生成。此外,引入了一种检索评估机制,用于评价针对特定查询检索到的文档的整体品质。通过网络搜索和知识的优化利用,能够有效提升文档自我修正和利用的效率。 | 纠正检索增强生成 | 2024年1月 |
| RAPTOR 模型通过递归方式嵌入、聚类并总结文本信息,自底向上构建出层次化的总结树。在使用时,该模型能够从这棵树中检索信息,实现对长文档在不同抽象层面上信息的综合利用。 | RAPTOR:递归抽象处理用于树组织检索 | 2024年1月 |
| 开发了一个通用框架,通过大语言模型(LLM)与检索器之间的多步骤互动,有效处理多标签分类难题。 | 在上下文中学习用于极端多标签分类 | 2024年1月 |
| 研究表明,通过提取高资源语言中语义相似的提示,可以显著提升多语言预训练语言模型在多种任务上的零样本学习能力。 | 从分类到生成:洞察跨语言检索增强的 ICL | 2023年11月 |
| 针对 RAGs 模型在处理噪声较多、不相关文档以及未知情境时的稳健性进行了改善,通过为检索文档生成序列化阅读笔记,深入评估其与提问的相关性,并整合信息以构建最终答案。 | 链式笔记:增强检索增强语言模型的鲁棒性 | 2023年11月 |
| 通过去除可能不会对答案生成贡献关键信息的标记,优化了检索增强阅读模型的处理流程,实现了高达 62.2% 的运行时间缩减,同时保持性能仅降低了2%。 | 通过标记消除优化检索增强阅读器模型 | |
| 通过对小型语言模型 (LM) 进行指令式微调,我们开发了一个独立的验证器,以验证知识增强语言模型 (knowledge-augmented LMs) 的输出及其知识准确性。这种方法特别有助于解决模型在面对特定查询时未能检索相关知识,或在生成文本中未能准确反映检索到的知识的情况。 | 知识增强语言模型验证 | 2023年10月 |
| 我们设立了一个基准测试,以分析不同大型语言模型 (LLMs) 在检索增强生成 (RAG) 所需的四项核心能力——噪声容忍、排除不相关信息、信息融合和对反事实情境的适应性——的表现。 | 大型语言模型在检索增强生成中的基准测试 | 2023年10月 |
| 介绍了一种自我反思的检索增强生成 (Self-RAG) 框架,旨在通过检索和自我反思来提升语言模型的质量和事实性。该框架利用语言模型动态检索信息,并通过反思标记来生成和评估检索到的内容及其自生成内容。 | 自我反思检索增强生成: 通过自我反思学习检索、生成及自我批判 | 2023年10月 |
| 通过生成增强检索 (GAR) 和检索增强生成 (RAG) 的迭代改善,提高了零样本信息检索的能力。该过程中的改写-检索阶段有效提升了召回率,而重排阶段则显著提高了精度。 | 零样本信息检索中的GAR与RAG相结合的新范式 | 2023年10月 |
| 通过使用基于 43B GPT 模型的预训练和从 1.2 万亿 Token 中检索信息,我们预训练了一个 48B 的检索模型。进一步通过指令式微调,该模型在多种零样本任务上相比经过指令式微调的 GPT 模型显示出显著的性能提升。 | InstructRetro: 检索增强预训练后的指令式微调 | 2023年10月 |
| 通过两步精细调整,我们为大型语言模型增加了检索功能:一步是优化预训练的语言模型以更有效利用检索到的信息,另一步则是改进检索器以返回更符合语言模型偏好的相关结果。这种分阶段的微调方法,在要求知识利用和上下文感知的任务中,显著提升了性能。 | 检索增强的双重指令微调 (RA-DIT) | 2023年10月 |
| 介绍了一种提升 RAGs 在面对不相关内容时鲁棒性的方法。该方法通过在训练期间混合使用相关与不相关的上下文,自动产生数据以微调语言模型,从而有效利用检索到的文段。 | 让基于检索增强的语言模型对无关上下文更加鲁棒 | 2023年10月 |
| 研究表明,采用简单检索增强技术的 4K 上下文窗口的大语言模型在生成过程中,其表现与通过位置插值对长上下文任务进行微调的 16K 上下文窗口的大语言模型相媲美。 | 当检索遇上长上下文的大语言模型 | 2023年10月 |
| 在上下文融合前将检索文档压缩为文本摘要,既降低了计算成本,也减轻了模型从长文档中识别关键信息的难度。 | RECOMP: 用压缩和选择性增强提升检索增强语言模型 | 2023年10月 |
| 提出了一个迭代式的检索与生成协同工作框架,它结合了参数化和非参数化知识,通过检索与生成的互动来寻找正确的推理路径。这一框架特别适合需要多步推理的任务,能够显著提高大语言模型的推理能力。 | 检索与生成的协同作用加强了大语言模型的推理能力 | 2023年10月 |
| 提出“澄清树”框架,该框架通过少样本提示并借助外部知识,为含糊问题递归构建一个消歧树。然后利用这棵树产生详细的答案。 | 利用检索增强大语言模型回答含糊问题的“澄清树”方法 | 2023年10月 |
| 介绍了一种使大语言模型能够参考其之前遇到的问题,并在面对新问题时动态调用外部资源的方法。 | 借助自我知识的大语言模型检索增强策略 | 2023年10月 |
| 提供了一组评估指标,用于从多个维度(如检索系统识别相关及集中上下文段落的能力、大语言模型忠实利用这些段落的能力,以及生成内容本身的质量)评价不同方面,而无需依赖人工注释的真实数据。 | RAGAS: 对检索增强生成进行自动化评估的指标体系 | 2023年9月 |
| 提出了一种创新方法——生成后阅读(GenRead),它让大型语言模型先根据提问生成相关文档,再从这些文档中提取答案。 | 生成而非检索:大型语言模型作为强大的上下文生成器 | 2023年9月 |
| 展示了在 RAG 系统中如何使用特定排名器(比如 DiversityRanker 和 LostInTheMiddleRanker)来挑选信息,从而更好地利用大型语言模型的上下文窗口。 | 提升 Haystack 中 RAG 系统的能力:DiversityRanker 和 LostInTheMiddleRanker 的引入 | 2023年8月 |
| 描述了如何将大型语言模型与不同的知识库结合,以便于知识的检索和储存。通过编程思维的提示来生成知识库的搜索代码,此外,还能够根据用户的需要,将知识储存在个性化的知识库中。 | KnowledGPT: 利用知识库检索和存储功能增强大型语言模型 | 2023年8月 |
| 提出一种模型,通过结合检索增强掩码语言建模和前缀语言建模,引入上下文融合学习,以此提高少样本学习的效果,使模型能够在不增加训练负担的情况下使用更多上下文示例。 | RAVEN: 借助检索增强编解码器语言模型实现的上下文学习 | 2023年8月 |
| RaLLe 是一款开源工具,专门用于开发、评估和提升针对知识密集型任务的 RAG 系统的性能。 | RaLLe: 针对检索增强大型语言模型的开发和评估框架 | 2023年8月 |
| 研究发现,当相关信息的位置发生变化时,大型语言模型的性能会明显受影响,这揭示了大型语言模型在处理长篇上下文信息时的局限性。 | 中途迷失:大型语言模型处理长篇上下文的方式 | 2023年7月 |
| 通过迭代的方式,模型能够将检索和生成过程相互协同。模型的输出不仅展示了完成任务所需的内容,还为检索更多相关知识提供了丰富的上下文,从而在下一轮迭代中帮助产生更优的结果。 | 通过迭代检索-生成协同增强检索增强的大语言模型 | 2023年5月 |
| 介绍了一种新的视角,即在文本生成过程中,系统能够主动决定何时以及检索什么信息。接着,提出了一种名为FLARE的方法,通过预测下一句话来预见未来的内容,利用此内容作为关键词检索相关文档,并在发现不确定的表达时重新生成句子。 | 主动检索增强生成 | 2023年5月 |
| 提出了一个能够通用应用于各种大语言模型的检索插件,即使在模型未知或不能共同微调的情况下也能提升模型性能。 | 适应增强型检索器改善大语言模型的泛化作为通用插件 | 2023年5月 |
| 通过两种创新的预训练方法,提高了对结构化数据的密集检索效果。首先,通过对结构化数据和非结构化数据之间的关联进行预训练来提升模型的结构感知能力;其次,通过实现遮蔽实体预测来更好地捕捉结构语义。 | 结构感知的语言模型预训练改善结构化数据上的密集检索 | 2023年5月 |
| 该框架能够动态地融合来自不同领域的多样化信息源,以提高大语言模型的事实准确性。通过一个自适应的查询生成器,根据不同知识源定制查询,确保信息的准确性逐步得到修正,避免错误信息的累积和传播。 | 知识链:通过动态知识适应异质来源来基础大语言模型 | 2023年5月 |
| 此框架通过首先检索知识图谱中的相关子图,并通过调整检索到的子图的词嵌入来确保事实的一致性,然后利用对比学习确保生成的对话与知识图谱高度一致,为生成与上下文相关且基于知识的对话提供了新方法。 | 用于知识基础对话生成的知识图谱增强大语言模型 | 2023年5月 |
| 通过采用小型语言模型作为可训练重写器,以适应黑盒式大语言模型(LLM)的需求。重写器通过强化学习(RL)根据 LLM 的反馈进行训练,从而构建了一个名为“重写-检索-阅读”的新框架,专注于查询优化。 | 为检索增强的大语言模型重写查询 | 2023年5月 |
| 利用检索增强生成器迭代创建无限记忆池,并通过记忆选择器挑选出适合下一轮生成的记忆。此方法允许模型利用自身产出的记忆,称为“自我记忆”,以提升内容生成质量。 | 自我提升:带有自我记忆的检索增强文本生成 | 2023年5月 |
| 通过为大语言模型(LLM)装配知识引导模块,让它们在不改变内部参数的情况下,获取相关知识。这一策略显著提高了模型在需要丰富知识的领域任务(如事实知识增加7.9%,表格知识增加11.9%,医学知识增加3.0%,多模态知识增加8.1%)的表现。 | 用参数知识引导增强大语言模型 | 2023年5月 |
| 为大语言模型(LLM)引入了一个通用的读写记忆单元,允许它们根据任务需要从文本中提取、存储并回忆知识。 | RET-LLM:朝向大语言模型的通用读写记忆 | 2023年5月 |
| 通过使用任务不可知检索器,构建了一个共享静态索引,有效选出候选证据。随后,设计了一个基于提示的重排机制,根据任务的特定相关性重新排序最相关的证据,为读者提供精准信息。 | 针对非知识密集型任务的提示引导检索增强 | 2023年5月 |
| 提出了UPRISE(通用提示检索以改善零样本评估),通过调整一个轻量级且多功能的检索器,它能自动为给定零样本任务的输入检索出最合适的提示,以此来改善评估效果。 | UPRISE:改进零样本评估的通用提示检索 | 2023年3月 |
| 结合了 SLMs 作为过滤器和 LLMs 作为重排器的优势,提出了一个适应性的“过滤-再重排”范式,有效提升了难样本的信息提取与重排效果。 | 大语言模型不是一个理想的少样本信息提取器,但它在重排难样本方面表现出色! | 2023年3月 |
| 零样本学习指导一款能够遵循指令的大语言模型,创建一个虚拟文档来抓住重要的联系模式。接着,一个名为Contriever的工具会将这份文档转化成嵌入向量,利用这个向量在大数据集的嵌入空间中找到相似文档的聚集地,通过向量的相似度来检索真实文档。 | 无需相关标签的精确零样本密集检索 | 2022年12月 |
| 提出了一个名为展示-搜索-预测(DSP)的新框架,通过这个框架可以编写高级程序,这些程序能够先展示流程,然后搜索相关信息,并基于这些信息做出预测。它能够将复杂问题分解成小的、更易于解决的步骤。 | 通过检索和语言模型组合,为复杂的自然语言处理任务提供解决方案 | 2022年12月 |
| 采用了一种新的多步骤问答策略,通过在思维链条的每一步中穿插检索信息,使用检索到的信息来丰富和改善思维链条。这种方法显著提升了解决知识密集型多步问题的效果。 | 结合思维链条推理和信息检索解决复杂多步骤问题 | 2022年12月 |
| 研究发现,增加检索环节可以有效减轻对已有训练信息的依赖,使得RAG变成一个有效捕捉信息长尾的策略。 | 大语言模型在学习长尾知识方面的挑战 | 2022年11月 |
| 通过抽样方式,从大语言模型的记忆中提取相关信息段落,进而生成最终答案。 | 通过回忆增强语言模型的能力 | 2022年10月 |
| 将大语言模型用作少量示例的查询生成器,根据这些生成的数据构建针对特定任务的检索系统。 | Promptagator: 基于少量示例实现密集检索 | 2022年9月 |
| 介绍了Atlas,这是一个经过预训练的检索增强型语言模型,它能够通过极少数的示例学习掌握知识密集任务。 | Atlas: 借助检索增强型语言模型进行少样本学习 | 2022年8月 |
| 通过从训练数据中进行智能检索,实现了在多个自然语言生成和理解任务上的性能提升。 | 重新认识训练数据的价值:通过训练数据检索的简单有效方法 | 2022年3月 |
| 通过在连续的数据存储条目之间建立指针关联,并将这些条目分组成不同的状态,我们近似模拟了数据存储搜索过程。这种方法创造了一个加权有限自动机,在推理时能够在不降低模型预测准确性(困惑度)的情况下,节约高达 83% 的查找最近邻居的计算量。 | 通过自动机增强检索的神经符号语言建模 | 2022 年 1 月 |
| 通过将自回归语言模型与从大规模文本库中检索的文档块相结合,基于这些文档与前文 Token 的局部相似性,我们实现了模型的显著改进。该策略利用了一个庞大的数据库(2 万亿 Token),大大增强了语言模型的能力。 | 通过从数万亿 Token 中检索来改善语言模型 | 2021 年 12 月 |
| 我们采用了一种创新的零样本任务处理方法,通过为检索增强生成模型引入严格的负样本和强化训练流程,提升了密集段落检索的效果,用于零样本槽填充任务。 | 用于零样本槽填充的鲁棒检索增强生成 | 2021 年 8 月 |
| 介绍了 RAG 模型,这是一种结合了预训练的 seq2seq 模型(作为参数记忆)和基于密集向量索引的 Wikipedia(作为非参数记忆)的模型。此模型通过预训练的神经网络检索器访问信息,比较了两种 RAG 设计:一种是在生成过程中始终依赖相同检索的段落,另一种则是每个 Token 都使用不同的段落。 | 用于知识密集型 NLP 任务的检索增强生成 | 2020 年 5 月 |
| 展示了一种仅通过密集表示实现信息检索的方法,该方法通过简单的双编码框架从少量问题和文本段落中学习嵌入。这种方法为开放域问答提供了一种高效的密集段落检索方案。 | 用于开放域问答的密集段落检索 | 2020 年 4 月 |





the resources about the application based on LLM with RAG pattern
1,659
88 commits
updated Mar 10, 2026
Awesome LLM RAG Application is a curated list of application resources based on LLM with RAG pattern. (latest update: 2025-12-19)
论文顺序由近及远
2025.08.19 基于大模型的Deep Search智能体综述
2025.08.18 Deep Research: 自治型研究智能体综述
2025.08.13 Open Deep Research的优化和演进
2025.07.03 从网页搜索到智能体特性的深度研究功能:通过推理智能体优化搜索
2025.06.22 Deep Research Agents 总结
《Deep Research Agents: A Systematic Examination And Roadmap》
2025.06.14 Deep Research 总结
https://arxiv.org/abs/2506.18096
2025.02.04 Agentic RAG 总结
《Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG》
https://arxiv.org/abs/2501.09136

2024.12.23 RAG中的查询优化技术总结
2024.10.23 RAG技术演进的回顾总结
全面研究检索增强生成(RAG)技术,追溯其从基础概念到当前状态的演变过程
2024.09.23 综述RAG数据利用方案
2024.08.15 综述GraphRAG方案
《Graph Retrieval-Augmented Generation: A Survey》
2024.07.18 综述RAG用于NLP自然语言处理
《Retrieval-Augmented Generation for Natural Language Processing: A Survey》
2024.05.13 综述RAG的评估
2024.05.10 综述RAG与LLM的结合范式
《A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models》
2024.04.30 综述检索增强语言模型(RALMs)
《RAG and RAU: A Survey on Retrieval-Augmented Language Model in Natural Language Processing》
全面综述检索增强语言模型(RALMs),包括检索增强生成(RAG)和检索增强理解(RAU),并探讨其在自然语言处理(NLP)中的应用和发展,不仅关注RAG,还涵盖了RAU,详细描述了检索器和语言模型的不同交互模式,并提供了RALMs的工作时间表和应用总结。
2024.04.17 综述面向检索的核心技术
《A Survey on Retrieval-Augmented Text Generation for Large Language Models》
地址:https://arxiv.org/abs/2404.10981
主要回顾当前RAG在各个阶段的核心技术。例如,对于检索,分成了基本检索策略:线性工作流程,适用于简单任务;迭代检索策略:多次检索,逐步优化结果;递归检索策略:处理层次化或分层信息,适用于复杂查询;条件检索策略:根据特定条件或规则进行检索;以及自适应检索策略:动态调整检索策略以优化结果。

2024.02.29 面向AIGC生成做全面综述
2023.11.18 首个全面RAG综述
2023.03.20 多模态RAG综述
https://arxiv.org/abs/2303.10868 探讨了通过检索多模态知识来增强生成模型的方法,特别是如何利用图像、代码、结构化知识、音频和视频等多模态信息来提升大型语言模型(LLMs)的生成能力。
2022.02.02近三年首个综述
Microsoft-Retrieval Augmented Generation (RAG) in Azure AI Search
Cohere-Introducing Chat with Retrieval-Augmented Generation (RAG)
Milvus-Build AI Apps with Retrieval Augmented Generation (RAG)
一个开源的、基于 RAG (Retrieval-Augmented Generation) 的文档问答工具,支持多用户登录、本地和云端 LLM 及 Embedding 模型、图表多模态文档解析和问答、混合检索带文档预览的高级引用功能、持复杂推理方法,如问题分解、基于 agent 的推理(如 ReAct、ReWOO)等。
一款低代码构建多Agent大模型应用的开发工具,协助开发者用极低的成本构建复杂的AI应用,并可以持续的迭代优化效果。使用LazyLLM搭建RAG应用非常便捷和灵活,可以任意字定义多路检索和召回策略。除此之外,LazyLLM的AI应用构建流程是原型搭建 -> 数据回流 -> 迭代优化,用户可以先基于LazyLLM快速搭建RAG应用的,再结合场景任务数据进行bad-case分析,然后对应用中的关键环节进行算法迭代和模型微调,进而逐步提升整个RAG应用的效果。
MarkItDown 是一个轻量级的 Python 工具,用于将各种文件转换为 Markdown 格式,以便与 LLMs 和相关文本分析流程一起使用。为此,它与 textract 最相似,但更注重保留重要的文档结构和内容作为 Markdown(包括:标题、列表、表格、链接等)。虽然输出通常相当可读且适合人类阅读,但其目的是供文本分析工具使用——可能不是为人类消费进行高保真文档转换的最佳选择。
MarkItDown 目前支持以下格式的转换:
PDF PowerPoint Word Excel Images (EXIF metadata and OCR) Audio (EXIF metadata and speech transcription) HTML 基于文本的格式(CSV、JSON、XML) ZIP 文件(遍历内容) Youtube URLs EPubs 等
该库提供了用于摄取和预处理图像和文本文档(如 PDF、HTML、WORD 文档等)的开源组件。 unstructured的使用场景围绕着简化和优化LLM数据处理工作流程, unstructured模块化功能和连接器形成了一个有内聚性的系统,简化了数据摄取和预处理,使其能够适应不同的平台,并有效地将非结构化数据转换为结构化输出。
Firecrawl 是一个强大的 API 服务,可以从任何网站抓取数据并转换为干净的 Markdown 或结构化数据。它具有高级的抓取、爬取和数据提取功能,可以帮助您的 AI 应用程序获取干净的数据。
主要功能点
NeMo Guardrails 是一个开源工具包,用于为基于 LLM 的对话应用程序轻松添加可编程的保护轨。Guardrails(简称 "轨")是控制大型语言模型输出的特定方式,例如不谈论政治、以特定方式响应特定用户请求、遵循预定义对话路径、使用特定语言风格、提取结构化数据等。
• 查询构建——将自然语言转换为结构化查询(SQL、Cypher 或基于向量的检索) . (文本到 SQL、文本到 Cypher、自查询检索器
• 查询翻译——分解并重新表述输入,以实现更佳的检索效果。(多查询、RAG 融合、假设文档)
• 路由——动态选择正确的数据库或嵌入查询上下文以获得更相关的答案。
• 检索——使用 Re-Rank、RankGPT、RAG-Fusion、CRAG 对检索到的数据进行排名和优化,甚至从外部来源提取实时更新。
• 索引——利用多表示嵌入、分层摘要和结构化搜索优化。(RAPTOR、CoLBERT、微调)
• 生成——使用 Self-RAG 和 RRR 生成和完善响应,在需要时实现迭代推理和检索循环。RAG最佳实践《Searching for Best Practices in Retrieval-Augmented Generation》

Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents
Zero-Shot Listwise Document Reranking with a Large Language Model
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
这里列出了一些重要的研究论文,它们揭示了 RAG 领域的关键洞察和最新进展。
| 洞见 | 参考来源 | 发布日期 |
|---|---|---|
| 提出一种名为纠正检索增强生成(CRAG, Corrective Retrieval Augmented Generation)的方法,旨在提升 RAG 系统生成内容的稳定性和准确性。其核心在于增加一个能够自我修正的组件至检索器中,并优化检索文档的使用,以促进更优质的内容生成。此外,引入了一种检索评估机制,用于评价针对特定查询检索到的文档的整体品质。通过网络搜索和知识的优化利用,能够有效提升文档自我修正和利用的效率。 | 纠正检索增强生成 | 2024年1月 |
| RAPTOR 模型通过递归方式嵌入、聚类并总结文本信息,自底向上构建出层次化的总结树。在使用时,该模型能够从这棵树中检索信息,实现对长文档在不同抽象层面上信息的综合利用。 | RAPTOR:递归抽象处理用于树组织检索 | 2024年1月 |
| 开发了一个通用框架,通过大语言模型(LLM)与检索器之间的多步骤互动,有效处理多标签分类难题。 | 在上下文中学习用于极端多标签分类 | 2024年1月 |
| 研究表明,通过提取高资源语言中语义相似的提示,可以显著提升多语言预训练语言模型在多种任务上的零样本学习能力。 | 从分类到生成:洞察跨语言检索增强的 ICL | 2023年11月 |
| 针对 RAGs 模型在处理噪声较多、不相关文档以及未知情境时的稳健性进行了改善,通过为检索文档生成序列化阅读笔记,深入评估其与提问的相关性,并整合信息以构建最终答案。 | 链式笔记:增强检索增强语言模型的鲁棒性 | 2023年11月 |
| 通过去除可能不会对答案生成贡献关键信息的标记,优化了检索增强阅读模型的处理流程,实现了高达 62.2% 的运行时间缩减,同时保持性能仅降低了2%。 | 通过标记消除优化检索增强阅读器模型 | |
| 通过对小型语言模型 (LM) 进行指令式微调,我们开发了一个独立的验证器,以验证知识增强语言模型 (knowledge-augmented LMs) 的输出及其知识准确性。这种方法特别有助于解决模型在面对特定查询时未能检索相关知识,或在生成文本中未能准确反映检索到的知识的情况。 | 知识增强语言模型验证 | 2023年10月 |
| 我们设立了一个基准测试,以分析不同大型语言模型 (LLMs) 在检索增强生成 (RAG) 所需的四项核心能力——噪声容忍、排除不相关信息、信息融合和对反事实情境的适应性——的表现。 | 大型语言模型在检索增强生成中的基准测试 | 2023年10月 |
| 介绍了一种自我反思的检索增强生成 (Self-RAG) 框架,旨在通过检索和自我反思来提升语言模型的质量和事实性。该框架利用语言模型动态检索信息,并通过反思标记来生成和评估检索到的内容及其自生成内容。 | 自我反思检索增强生成: 通过自我反思学习检索、生成及自我批判 | 2023年10月 |
| 通过生成增强检索 (GAR) 和检索增强生成 (RAG) 的迭代改善,提高了零样本信息检索的能力。该过程中的改写-检索阶段有效提升了召回率,而重排阶段则显著提高了精度。 | 零样本信息检索中的GAR与RAG相结合的新范式 | 2023年10月 |
| 通过使用基于 43B GPT 模型的预训练和从 1.2 万亿 Token 中检索信息,我们预训练了一个 48B 的检索模型。进一步通过指令式微调,该模型在多种零样本任务上相比经过指令式微调的 GPT 模型显示出显著的性能提升。 | InstructRetro: 检索增强预训练后的指令式微调 | 2023年10月 |
| 通过两步精细调整,我们为大型语言模型增加了检索功能:一步是优化预训练的语言模型以更有效利用检索到的信息,另一步则是改进检索器以返回更符合语言模型偏好的相关结果。这种分阶段的微调方法,在要求知识利用和上下文感知的任务中,显著提升了性能。 | 检索增强的双重指令微调 (RA-DIT) | 2023年10月 |
| 介绍了一种提升 RAGs 在面对不相关内容时鲁棒性的方法。该方法通过在训练期间混合使用相关与不相关的上下文,自动产生数据以微调语言模型,从而有效利用检索到的文段。 | 让基于检索增强的语言模型对无关上下文更加鲁棒 | 2023年10月 |
| 研究表明,采用简单检索增强技术的 4K 上下文窗口的大语言模型在生成过程中,其表现与通过位置插值对长上下文任务进行微调的 16K 上下文窗口的大语言模型相媲美。 | 当检索遇上长上下文的大语言模型 | 2023年10月 |
| 在上下文融合前将检索文档压缩为文本摘要,既降低了计算成本,也减轻了模型从长文档中识别关键信息的难度。 | RECOMP: 用压缩和选择性增强提升检索增强语言模型 | 2023年10月 |
| 提出了一个迭代式的检索与生成协同工作框架,它结合了参数化和非参数化知识,通过检索与生成的互动来寻找正确的推理路径。这一框架特别适合需要多步推理的任务,能够显著提高大语言模型的推理能力。 | 检索与生成的协同作用加强了大语言模型的推理能力 | 2023年10月 |
| 提出“澄清树”框架,该框架通过少样本提示并借助外部知识,为含糊问题递归构建一个消歧树。然后利用这棵树产生详细的答案。 | 利用检索增强大语言模型回答含糊问题的“澄清树”方法 | 2023年10月 |
| 介绍了一种使大语言模型能够参考其之前遇到的问题,并在面对新问题时动态调用外部资源的方法。 | 借助自我知识的大语言模型检索增强策略 | 2023年10月 |
| 提供了一组评估指标,用于从多个维度(如检索系统识别相关及集中上下文段落的能力、大语言模型忠实利用这些段落的能力,以及生成内容本身的质量)评价不同方面,而无需依赖人工注释的真实数据。 | RAGAS: 对检索增强生成进行自动化评估的指标体系 | 2023年9月 |
| 提出了一种创新方法——生成后阅读(GenRead),它让大型语言模型先根据提问生成相关文档,再从这些文档中提取答案。 | 生成而非检索:大型语言模型作为强大的上下文生成器 | 2023年9月 |
| 展示了在 RAG 系统中如何使用特定排名器(比如 DiversityRanker 和 LostInTheMiddleRanker)来挑选信息,从而更好地利用大型语言模型的上下文窗口。 | 提升 Haystack 中 RAG 系统的能力:DiversityRanker 和 LostInTheMiddleRanker 的引入 | 2023年8月 |
| 描述了如何将大型语言模型与不同的知识库结合,以便于知识的检索和储存。通过编程思维的提示来生成知识库的搜索代码,此外,还能够根据用户的需要,将知识储存在个性化的知识库中。 | KnowledGPT: 利用知识库检索和存储功能增强大型语言模型 | 2023年8月 |
| 提出一种模型,通过结合检索增强掩码语言建模和前缀语言建模,引入上下文融合学习,以此提高少样本学习的效果,使模型能够在不增加训练负担的情况下使用更多上下文示例。 | RAVEN: 借助检索增强编解码器语言模型实现的上下文学习 | 2023年8月 |
| RaLLe 是一款开源工具,专门用于开发、评估和提升针对知识密集型任务的 RAG 系统的性能。 | RaLLe: 针对检索增强大型语言模型的开发和评估框架 | 2023年8月 |
| 研究发现,当相关信息的位置发生变化时,大型语言模型的性能会明显受影响,这揭示了大型语言模型在处理长篇上下文信息时的局限性。 | 中途迷失:大型语言模型处理长篇上下文的方式 | 2023年7月 |
| 通过迭代的方式,模型能够将检索和生成过程相互协同。模型的输出不仅展示了完成任务所需的内容,还为检索更多相关知识提供了丰富的上下文,从而在下一轮迭代中帮助产生更优的结果。 | 通过迭代检索-生成协同增强检索增强的大语言模型 | 2023年5月 |
| 介绍了一种新的视角,即在文本生成过程中,系统能够主动决定何时以及检索什么信息。接着,提出了一种名为FLARE的方法,通过预测下一句话来预见未来的内容,利用此内容作为关键词检索相关文档,并在发现不确定的表达时重新生成句子。 | 主动检索增强生成 | 2023年5月 |
| 提出了一个能够通用应用于各种大语言模型的检索插件,即使在模型未知或不能共同微调的情况下也能提升模型性能。 | 适应增强型检索器改善大语言模型的泛化作为通用插件 | 2023年5月 |
| 通过两种创新的预训练方法,提高了对结构化数据的密集检索效果。首先,通过对结构化数据和非结构化数据之间的关联进行预训练来提升模型的结构感知能力;其次,通过实现遮蔽实体预测来更好地捕捉结构语义。 | 结构感知的语言模型预训练改善结构化数据上的密集检索 | 2023年5月 |
| 该框架能够动态地融合来自不同领域的多样化信息源,以提高大语言模型的事实准确性。通过一个自适应的查询生成器,根据不同知识源定制查询,确保信息的准确性逐步得到修正,避免错误信息的累积和传播。 | 知识链:通过动态知识适应异质来源来基础大语言模型 | 2023年5月 |
| 此框架通过首先检索知识图谱中的相关子图,并通过调整检索到的子图的词嵌入来确保事实的一致性,然后利用对比学习确保生成的对话与知识图谱高度一致,为生成与上下文相关且基于知识的对话提供了新方法。 | 用于知识基础对话生成的知识图谱增强大语言模型 | 2023年5月 |
| 通过采用小型语言模型作为可训练重写器,以适应黑盒式大语言模型(LLM)的需求。重写器通过强化学习(RL)根据 LLM 的反馈进行训练,从而构建了一个名为“重写-检索-阅读”的新框架,专注于查询优化。 | 为检索增强的大语言模型重写查询 | 2023年5月 |
| 利用检索增强生成器迭代创建无限记忆池,并通过记忆选择器挑选出适合下一轮生成的记忆。此方法允许模型利用自身产出的记忆,称为“自我记忆”,以提升内容生成质量。 | 自我提升:带有自我记忆的检索增强文本生成 | 2023年5月 |
| 通过为大语言模型(LLM)装配知识引导模块,让它们在不改变内部参数的情况下,获取相关知识。这一策略显著提高了模型在需要丰富知识的领域任务(如事实知识增加7.9%,表格知识增加11.9%,医学知识增加3.0%,多模态知识增加8.1%)的表现。 | 用参数知识引导增强大语言模型 | 2023年5月 |
| 为大语言模型(LLM)引入了一个通用的读写记忆单元,允许它们根据任务需要从文本中提取、存储并回忆知识。 | RET-LLM:朝向大语言模型的通用读写记忆 | 2023年5月 |
| 通过使用任务不可知检索器,构建了一个共享静态索引,有效选出候选证据。随后,设计了一个基于提示的重排机制,根据任务的特定相关性重新排序最相关的证据,为读者提供精准信息。 | 针对非知识密集型任务的提示引导检索增强 | 2023年5月 |
| 提出了UPRISE(通用提示检索以改善零样本评估),通过调整一个轻量级且多功能的检索器,它能自动为给定零样本任务的输入检索出最合适的提示,以此来改善评估效果。 | UPRISE:改进零样本评估的通用提示检索 | 2023年3月 |
| 结合了 SLMs 作为过滤器和 LLMs 作为重排器的优势,提出了一个适应性的“过滤-再重排”范式,有效提升了难样本的信息提取与重排效果。 | 大语言模型不是一个理想的少样本信息提取器,但它在重排难样本方面表现出色! | 2023年3月 |
| 零样本学习指导一款能够遵循指令的大语言模型,创建一个虚拟文档来抓住重要的联系模式。接着,一个名为Contriever的工具会将这份文档转化成嵌入向量,利用这个向量在大数据集的嵌入空间中找到相似文档的聚集地,通过向量的相似度来检索真实文档。 | 无需相关标签的精确零样本密集检索 | 2022年12月 |
| 提出了一个名为展示-搜索-预测(DSP)的新框架,通过这个框架可以编写高级程序,这些程序能够先展示流程,然后搜索相关信息,并基于这些信息做出预测。它能够将复杂问题分解成小的、更易于解决的步骤。 | 通过检索和语言模型组合,为复杂的自然语言处理任务提供解决方案 | 2022年12月 |
| 采用了一种新的多步骤问答策略,通过在思维链条的每一步中穿插检索信息,使用检索到的信息来丰富和改善思维链条。这种方法显著提升了解决知识密集型多步问题的效果。 | 结合思维链条推理和信息检索解决复杂多步骤问题 | 2022年12月 |
| 研究发现,增加检索环节可以有效减轻对已有训练信息的依赖,使得RAG变成一个有效捕捉信息长尾的策略。 | 大语言模型在学习长尾知识方面的挑战 | 2022年11月 |
| 通过抽样方式,从大语言模型的记忆中提取相关信息段落,进而生成最终答案。 | 通过回忆增强语言模型的能力 | 2022年10月 |
| 将大语言模型用作少量示例的查询生成器,根据这些生成的数据构建针对特定任务的检索系统。 | Promptagator: 基于少量示例实现密集检索 | 2022年9月 |
| 介绍了Atlas,这是一个经过预训练的检索增强型语言模型,它能够通过极少数的示例学习掌握知识密集任务。 | Atlas: 借助检索增强型语言模型进行少样本学习 | 2022年8月 |
| 通过从训练数据中进行智能检索,实现了在多个自然语言生成和理解任务上的性能提升。 | 重新认识训练数据的价值:通过训练数据检索的简单有效方法 | 2022年3月 |
| 通过在连续的数据存储条目之间建立指针关联,并将这些条目分组成不同的状态,我们近似模拟了数据存储搜索过程。这种方法创造了一个加权有限自动机,在推理时能够在不降低模型预测准确性(困惑度)的情况下,节约高达 83% 的查找最近邻居的计算量。 | 通过自动机增强检索的神经符号语言建模 | 2022 年 1 月 |
| 通过将自回归语言模型与从大规模文本库中检索的文档块相结合,基于这些文档与前文 Token 的局部相似性,我们实现了模型的显著改进。该策略利用了一个庞大的数据库(2 万亿 Token),大大增强了语言模型的能力。 | 通过从数万亿 Token 中检索来改善语言模型 | 2021 年 12 月 |
| 我们采用了一种创新的零样本任务处理方法,通过为检索增强生成模型引入严格的负样本和强化训练流程,提升了密集段落检索的效果,用于零样本槽填充任务。 | 用于零样本槽填充的鲁棒检索增强生成 | 2021 年 8 月 |
| 介绍了 RAG 模型,这是一种结合了预训练的 seq2seq 模型(作为参数记忆)和基于密集向量索引的 Wikipedia(作为非参数记忆)的模型。此模型通过预训练的神经网络检索器访问信息,比较了两种 RAG 设计:一种是在生成过程中始终依赖相同检索的段落,另一种则是每个 Token 都使用不同的段落。 | 用于知识密集型 NLP 任务的检索增强生成 | 2020 年 5 月 |
| 展示了一种仅通过密集表示实现信息检索的方法,该方法通过简单的双编码框架从少量问题和文本段落中学习嵌入。这种方法为开放域问答提供了一种高效的密集段落检索方案。 | 用于开放域问答的密集段落检索 | 2020 年 4 月 |




