RAGFlow RAG模块架构分析

RAGFlow 是一个基于深度文档理解的开源RAG引擎。本文重点分析 rag/ 目录下的核心架构,特别是传统RAG与GraphRAG的融合机制。

概述

RAGFlow 是一个基于深度文档理解的开源RAG引擎。本文重点分析 rag/ 目录下的核心架构,特别是传统RAG与GraphRAG的融合机制。

一、核心RAG管道架构

1.1 模块化管道设计

RAG管道采用基于组件的DAG工作流架构,位于 ragflow/rag/flow/

File → Parser → Splitter → Tokenizer → Extractor → Storage

1.2 核心组件

  • Pipeline

    flow/pipeline.py — 工作流编排器,管理组件执行顺序和进度追踪

  • File

    flow/file.py — 文档获取入口,处理元数据

  • Parser

    flow/parser/parser.py — 多格式文档解析(PDF、Word、Excel、PPT等)

  • Splitter

    flow/splitter/splitter.py — 文档切分,支持重叠和层次化

  • Tokenizer

    flow/tokenizer/tokenizer.py — 全文+向量双路索引

  • Extractor

    flow/extractor/extractor.py — LLM提取元数据(摘要、关键词、问题)

  • HierarchicalMerger

    flow/hierarchical_merger/hierarchical_merger.py — 树状文档结构组织

1.3 文档解析策略

解析器支持多种方法和格式:

  • DeepDoc

    — 自定义布局感知解析

  • MinerU

    — 高级OCR解析

  • PaddleOCR

    — PaddleOCR引擎

  • TCADP

    — 腾讯云API解析

  • Vision

    — VLM模型解析

1.4 文档切分策略

位于 ragflow/rag/nlp/__init__.py

策略 描述
naive_merge 基于token的简单切分,支持重叠
带图片切分 保留图片关联的切分
层次切分 结构感知的层次化切分
树状切分 基于树结构的内容组织

1.5 索引与检索

  • 全文索引

    (Full-text) — BM25/关键词匹配

  • 向量索引

    (Embedding) — 语义相似度搜索

→ 融合 → 最终检索结果

二、检索机制详解

2.1 Dealer检索框架

位于 ragflow/rag/nlp/search.py

  1. 混合搜索

    — 结合全文和向量搜索

  2. 加权融合

    — 5% 文本相似度 + 95% 向量相似度

  3. 重排序

    (可选) — 使用 rerank_id 指定的模型

  4. TOC引导检索

    — 目录引导的上下文检索

  5. 父子块检索

    — 展开父块包含子块

2.2 数据库引擎差异

引擎 融合实现
Elasticsearch Boost-based fusion
Infinity Atan标准化融合

三、GraphRAG架构

3.1 整体架构

位于 ragflow/rag/graphrag/

文档 → 实体关系提取 → NetworkX图构建 → 图合并 → 实体消解 → 社区检测

3.2 知识图谱构建

步骤1:子图生成

从文档存储获取chunks,使用 GeneralKGExt 或 LightKGExt 提取器,创建NetworkX图

步骤2:图合并

使用 graph_merge() 合并新旧图,更新所有节点的PageRank分数

步骤3:实体消解

(可选) 使用LLM判断是否合并重复实体

步骤4:社区检测

(可选) 使用Leiden算法进行社区发现,生成社区报告

3.3 实体关系提取

  • General

    — Microsoft GraphRAG提示词,多轮提取

  • Light

    — 简化提示词,token高效

3.4 图查询与检索

  1. 查询重写

    — LLM提取实体和类型

  2. 多路径检索

  • 关键词实体向量搜索
  • 按类型过滤 + PageRank排序
  • 关系向量搜索
  • N跳邻居探索
  1. 评分排序

    — P(E|Q) = P(E) × P(Q|E) = PageRank × Similarity

  2. 社区检索

四、RAG + GraphRAG融合机制

4.1 双检索器架构

向量检索器 (Dealer) 和 图检索器 (KGSearch) 并行工作,结果合并时图结果优先

4.2 融合策略

  • 向量检索内部融合

    — Elasticsearch (Boost-based) / Infinity (Atan标准化)

  • 图检索内部评分

    — 概率评分公式

  • 跨模态融合

    — 图结果前置插入到位置0

4.3 配置参数

  • use_kg

    — 启用图检索

  • vector_similarity_weight

    — 关键词vs向量权重

  • similarity_threshold

    — 最小相似度阈值

  • rerank_id

    — 重排序模型

  • top_n

    — 返回结果数量

五、架构优势与特性

核心优势

  1. 模块化设计

    — 每个处理阶段是独立组件,易于扩展

  2. 异步执行

    — 完整的async/await支持,并发处理

  3. 多格式支持

    — 15+文档类型,专用解析器

  4. 混合搜索

    — 关键词+向量搜索最优结合

  5. 可扩展存储

    — 可插拔存储后端 (ES, Infinity等)

  6. 双RAG融合

    — 向量RAG + 图RAG互补增强

  7. 进度追踪

    — 实时进度更新回调

  8. 多租户

    — 租户隔离和资源管理

高级特性

  • RAPTOR

    — 递归抽象处理树

  • Query Decomposition

    — 复杂查询分解

  • Multi-source Retrieval

    — KB + Web + Graph

  • Entity Resolution

    — 实体消解

  • Community Detection

    — Leiden社区发现

  • N-hop Traversal

    — 多跳关系推理

总结

RAGFlow的RAG架构通过以下方式实现高质量融合图谱的RAG能力:

  1. 双检索器并行

    — 向量检索和图检索独立执行,各司其职

  2. 互补增强

    — 向量检索提供语义匹配,图检索提供结构化关系推理

  3. 位置优先融合

    — 图结果优先展示,确保关键实体关系信息不被淹没

  4. 多层次检索

    — 支持实体、关系、社区多维度检索

  5. 可配置融合

    — 通过权重和阈值灵活调整检索策略

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐