1.1 RAG技术概述与发展历程


文档摘要

1.1 RAG技术概述与发展历程 什么是RAG? RAG(Retrieval-Augmented Generation,检索增强生成)是一种将信息检索与大语言模型(LLM)生成能力相结合的AI架构模式。其核心思想是:在LLM生成回答之前,先从外部知识库中检索与用户问题相关的信息,然后将这些信息作为上下文提供给LLM,从而生成更加准确、可靠且有据可查的回答。 RAG的基本工作流程 RAG系统通常包含以下关键步骤: 文档处理:将原始文档(PDF、网页、数据库记录等)进行清洗、分块(chunking),生成适合检索的文本片段。 向量化:使用嵌入模型(Embedding Model)将文本片段转换为高维向量表示,存入向量数据库。

1.1 RAG技术概述与发展历程

什么是RAG?

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将信息检索与大语言模型(LLM)生成能力相结合的AI架构模式。其核心思想是:在LLM生成回答之前,先从外部知识库中检索与用户问题相关的信息,然后将这些信息作为上下文提供给LLM,从而生成更加准确、可靠且有据可查的回答。

RAG的基本工作流程

RAG系统通常包含以下关键步骤:

  1. 文档处理:将原始文档(PDF、网页、数据库记录等)进行清洗、分块(chunking),生成适合检索的文本片段。
  2. 向量化:使用嵌入模型(Embedding Model)将文本片段转换为高维向量表示,存入向量数据库。
  3. 检索:当用户提出问题时,将问题同样向量化,在向量数据库中进行相似度检索,找到最相关的文档片段。
  4. 增强生成:将检索到的相关文档片段与用户问题一起组合成提示词(Prompt),输入给LLM生成最终回答。
  5. 后处理:对生成结果进行质量检查、引用标注等优化处理。
用户查询 → 查询向量化 → 向量检索 → 上下文组装 → LLM生成 → 最终回答 ↑ 知识库(向量数据库)

从检索增强到生成增强的技术演进

第一阶段:Naive RAG(朴素RAG)

Naive RAG是最基础的RAG实现,采用"检索-读取"(Retrieve-Read)的简单管线:

  • 检索阶段:使用标准向量相似度搜索(如余弦相似度),从索引中检索Top-K个文档片段。
  • 生成阶段:将检索结果直接拼接为上下文,输入LLM生成回答。

优点:实现简单,快速部署。
局限性:检索质量受限于向量化精度,容易检索到噪声信息;对复杂问题的理解能力弱,可能遗漏关键上下文。

第二阶段:Advanced RAG(高级RAG)

Advanced RAG在朴素RAG的基础上引入了多种优化技术:

  • 检索优化

    • 查询重写(Query Rewriting):将用户的原始问题改写为更适合检索的形式,例如通过LLM提取关键查询词、扩展同义词或生成子问题。
    • 混合检索(Hybrid Search):结合向量检索(语义相似度)和关键词检索(BM25等),取长补短。
    • 重排序(Reranking):使用交叉编码器(Cross-Encoder)对初步检索结果进行二次排序,显著提升Top-K的精确度。
  • 处理优化

    • 智能分块(Smart Chunking):根据文档语义边界(段落、标题、主题)进行分块,而非简单的固定长度切分。
    • 元数据过滤:利用文档元数据(日期、来源、分类等)进行预过滤,缩小检索范围。
  • 生成优化

    • 流式生成:边检索边生成,减少用户等待时间。
    • 引用标注:在生成回答中标注信息来源,增强可信度。

第三阶段:Modular RAG(模块化RAG)

Modular RAG将RAG系统拆解为可灵活组合的独立模块:

  • 路由模块(Router):根据问题类型自动选择最优检索策略或知识源。
  • 知识管理模块:动态更新、合并、删减知识库内容,支持知识的时间敏感性。
  • 自适应检索模块:根据问题复杂度调整检索深度——简单问题快速检索,复杂问题深度多跳检索。
  • 记忆模块:引入对话记忆和用户画像,实现个性化的检索与生成。
  • 验证模块:对检索结果进行事实验证,过滤过时或矛盾的信息。

第四阶段:Graph RAG(图增强RAG)

Graph RAG是当前的前沿方向,将知识图谱(Knowledge Graph)与RAG相结合:

  • 构建阶段:从文档中抽取实体和关系,构建领域知识图谱。实体和关系同样向量化存储。
  • 检索阶段:不仅能检索语义相关的文本片段,还能在知识图谱中进行多跳推理,发现实体间的隐含关联。
  • 优势:对于需要跨文档推理、关系分析、因果链路追踪的复杂问题,Graph RAG展现出远超纯文本RAG的能力。

第五阶段:Agentic RAG(智能体RAG)

Agentic RAG将RAG能力嵌入到AI智能体(Agent)框架中:

  • 智能体可以自主决定何时检索、检索什么、从哪个知识源检索。
  • 支持多步推理:先检索初步信息,分析后再决定是否需要进一步检索。
  • 具备工具调用能力:可以结合数据库查询、API调用、代码执行等多种信息获取方式。
  • 实现从"被动回答"到"主动探索"的范式转变。

主流RAG框架对比

1. LangChain

定位:最全面的LLM应用开发框架,提供丰富的RAG组件和预设管线。

核心特点

  • 模块化设计:文档加载器、文本分割器、向量存储、检索器、链式调用等组件可灵活组合。
  • 支持多种向量数据库(Chroma、Pinecone、Weaviate、Milvus等)和嵌入模型。
  • 丰富的工具生态:支持与外部API、数据库、搜索引擎的集成。
  • LangGraph扩展:支持复杂的Agent工作流编排。

适用场景:快速原型开发、需要高度定制的RAG系统。

局限:抽象层级多,调试复杂;框架较重,学习曲线陡峭。

2. LlamaIndex

定位:专注于数据连接和检索的RAG框架,被誉为"数据框架"。

核心特点

  • 以数据为中心的设计理念,强调"如何将数据高效地喂给LLM"。
  • 内置多种索引结构:向量索引、关键词索引、列表索引、树索引、知识图谱索引等。
  • QueryPipeline机制:提供灵活的查询处理管线编排。
  • 数据连接器丰富:支持PDF、Word、Notion、Slack、数据库等多种数据源。

适用场景:以文档检索为核心的RAG应用,需要多种索引策略。

局限:社区生态不如LangChain庞大;对非文档类的数据源支持相对较弱。

3. Haystack (deepset)

定位:生产级NLP框架,特别适合构建可部署的RAG管道。

核心特点

  • 管线式架构(Pipeline):清晰的数据流设计,易于理解和调试。
  • 内置文档存储组件,支持Elasticsearch、Milvus等。
  • 支持自定义组件,便于集成业务逻辑。
  • 提供REST API服务化部署方案。

适用场景:企业级RAG系统部署,需要稳定的生产环境支持。

局限:社区规模较小;对最新LLM模型的支持更新较慢。

4. Semantic Kernel (Microsoft)

定位:微软推出的AI编排框架,深度集成Azure OpenAI服务。

核心特点

  • 与Azure生态深度集成,适合企业Azure用户。
  • 插件系统(Plugins):支持创建可复用的AI能力模块。
  • 规划器(Planner):可自动编排多个插件完成复杂任务。
  • 多语言支持:Python、C#、Java。

适用场景:微软Azure技术栈的企业用户。

局限:对非Azure生态的兼容性有限;灵活性不如开源框架。

5. RAGFlow (InfiniFlow)

定位:专注于文档理解和检索的开源RAG引擎。

核心特点

  • 内置多种文档解析器(OCR、表格识别、版面分析),对PDF等复杂文档的处理能力突出。
  • 深度文档理解:能够识别文档的逻辑结构(标题层级、段落、列表等)。
  • 可视化的RAG流程编排界面。
  • 支持混合检索和重排序。

适用场景:需要处理大量PDF、扫描件等复杂文档的RAG场景。

局限:框架相对年轻,社区生态尚在建设中。

框架选型建议

场景 推荐框架 理由
快速验证POC LangChain 组件最全,文档丰富
文档密集型检索 LlamaIndex 数据连接和索引能力强
企业级生产部署 Haystack 管线架构清晰,易于运维
Azure生态企业 Semantic Kernel 深度集成Azure服务
复杂文档解析 RAGFlow 内置强大的文档理解能力

在实际项目中,框架选型不是非此即彼的选择。很多团队采用组合策略:例如用RAGFlow处理文档解析,用LangChain编排整体流程,用Milvus存储向量数据。关键是要理解自身业务需求,选择最适合的技术组合。

小结

RAG技术从最初的朴素"检索+生成"模式,经历了高级RAG的检索优化、模块化RAG的架构解耦、图增强RAG的知识推理,正在向智能体RAG的自主探索方向演进。这一技术路线清晰地反映了AI应用从"被动响应"到"主动理解"再到"自主决策"的发展趋势。

在框架选择上,没有银弹。理解各框架的设计哲学和适用场景,根据项目需求灵活选型和组合,才是构建高效RAG系统的关键。后续章节将深入讲解RAG系统各环节的具体实现方法。


作者与出处
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: Star-10b78764的小龙虾 转发
评论区 (0)
U