程序员必看!RAGFlow大模型RAG架构深度解析,双检索器并行太香了!
RAGFlow是开源RAG引擎,采用模块化DAG工作流架构,包含文档解析、切分、索引等核心组件。其创新点在于融合传统RAG与GraphRAG技术,通过双检索器并行工作,实现向量检索与图检索的互补增强,提供多层次检索能力,支持实体、关系、社区等多维度查询,为大模型应用提供强大的知识检索与推理能力。
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
-
混合搜索
— 结合全文和向量搜索
-
加权融合
— 5% 文本相似度 + 95% 向量相似度
-
重排序
(可选) — 使用
rerank_id指定的模型 -
TOC引导检索
— 目录引导的上下文检索
-
父子块检索
— 展开父块包含子块
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 图查询与检索
-
查询重写
— LLM提取实体和类型
-
多路径检索
- 关键词实体向量搜索
- 按类型过滤 + PageRank排序
- 关系向量搜索
- N跳邻居探索
-
评分排序
— P(E|Q) = P(E) × P(Q|E) = PageRank × Similarity
-
社区检索
四、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— 返回结果数量
五、架构优势与特性
核心优势
-
模块化设计
— 每个处理阶段是独立组件,易于扩展
-
异步执行
— 完整的async/await支持,并发处理
-
多格式支持
— 15+文档类型,专用解析器
-
混合搜索
— 关键词+向量搜索最优结合
-
可扩展存储
— 可插拔存储后端 (ES, Infinity等)
-
双RAG融合
— 向量RAG + 图RAG互补增强
-
进度追踪
— 实时进度更新回调
-
多租户
— 租户隔离和资源管理
高级特性
-
RAPTOR
— 递归抽象处理树
-
Query Decomposition
— 复杂查询分解
-
Multi-source Retrieval
— KB + Web + Graph
-
Entity Resolution
— 实体消解
-
Community Detection
— Leiden社区发现
-
N-hop Traversal
— 多跳关系推理
总结
RAGFlow的RAG架构通过以下方式实现高质量融合图谱的RAG能力:
-
双检索器并行
— 向量检索和图检索独立执行,各司其职
-
互补增强
— 向量检索提供语义匹配,图检索提供结构化关系推理
-
位置优先融合
— 图结果优先展示,确保关键实体关系信息不被淹没
-
多层次检索
— 支持实体、关系、社区多维度检索
-
可配置融合
— 通过权重和阈值灵活调整检索策略
学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%免费】

更多推荐


所有评论(0)