开源精选 RAGFlowRAG文档理解Agent知识库

RAGFlow深度解析:领先开源RAG引擎的Agent化之路

大多数RAG系统只能”找到相关段落然后喂给LLM”。RAGFlow说:“让我们真正理解文档——表格、图表、结构、层次——然后让Agent基于真正的理解来回答问题。“

项目速览

维度详情
GitHubinfiniflow/ragflow
Stars~82K
语言Python
许可证Apache 2.0
定位深度文档理解的RAG引擎 + Agent平台

为什么需要”深度文档理解”

普通RAG vs RAGFlow

普通RAG Pipeline:
PDF → 提取文本 → 切块 → 向量化 → 关键词搜索 → 喂给LLM
问题:表格变乱码、图丢失、文档结构丢失

RAGFlow Pipeline:
PDF → 版面分析 → 表格结构识别 → 图表理解 → 语义分块
        ↓              ↓              ↓           ↓
    保留阅读顺序   保留行列关系   生成图描述   基于语义而非字数

    多模态Chunk → DeepDoc理解 → 混合索引 → Agent推理

RAGFlow能处理的文档

支持格式:
├── PDF(含扫描件OCR)
├── Word / Excel / PPT
├── Markdown / HTML
├── 图片(含表格和图表识别)
├── 网页
└── CSV / JSON 数据文件

特色能力:
├── 表格结构保留(不是读成纯文本)
├── 图表理解(自动生成图表描述)
├── 版面分析(多栏、图文混排)
├── 手写体OCR
└── 公式识别(LaTeX)

核心架构

DeepDoc引擎

文档进入

版面分析(Layout Detection)
├── 识别段落、标题、表格、图片、公式区域
└── 建立阅读顺序

表格结构识别(Table Structure Recognition)
├── 识别行列结构
├── 有合并单元格的复杂表格
└── 输出结构化JSON(非纯文本)

内容提取
├── 文字 → OCR/提取
├── 图片 → 多模态理解(生成描述文本)
├── 公式 → LaTeX转换
└── 表格 → 结构化数据

智能分块(Semantic Chunking)
├── 基于语义边界而非固定字数
├── 保持表格完整性
├── 保留上下文重叠
└── 生成Chunk摘要

多向量索引
├── 全文向量(用于语义搜索)
├── 关键词索引(用于精确匹配)
├── 表格索引(独立的结构化查询通道)
└── 知识图谱索引(实体关系)

混合检索

# RAGFlow的检索是多种模式的组合
class HybridRetrieval:
    def retrieve(self, query, top_k=10):
        # 1. 语义向量检索
        semantic_results = self.vector_search(query, top_k)

        # 2. 关键词精确匹配(BM25)
        keyword_results = self.keyword_search(query, top_k)

        # 3. 表格查询(如果问题涉及表格)
        if self.is_table_query(query):
            table_results = self.table_search(query, top_k)

        # 4. 知识图谱检索(实体关系)
        if self.has_entity(query):
            kg_results = self.knowledge_graph_search(query, top_k)

        # 5. RRF(倒数排名融合)合并
        final_results = self.reciprocal_rank_fusion([
            semantic_results,
            keyword_results,
            table_results,
            kg_results
        ])

        # 6. 重排序
        reranked = self.reranker.rerank(query, final_results)

        return reranked[:top_k]

Agent能力

2026年RAGFlow的Agent化演进

RAGFlow不再只是”搜索+回答”,而是演进为Agent驱动的知识工作平台

# RAGFlow Agent = DeepDoc检索 + 多步推理 + 工具调用

from ragflow import RAGFlowAgent

agent = RAGFlowAgent(
    knowledge_base="企业合规文档库",
    tools=[
        "deep_doc_search",     # 深度文档检索
        "cross_document_compare",  # 跨文档对比
        "table_query",         # 结构化表格查询
        "timeline_extract",    # 时间线提取
        "citation_generator",  # 引文生成
    ]
)

result = agent.query("""
    对比2025年和2026年数据隐私法规的变化,
    列出所有新增的合规要求,按行业分类。
    每种要求标注法规来源(章节号)。
""")

多知识库联邦查询

# Agent可以同时查询多个知识库并交叉验证
agent = RAGFlowAgent(
    knowledge_bases=[
        "内部产品文档",
        "行业标准库",
        "竞品公开文档"
    ]
)

result = agent.query("""
    我们的产品在数据加密方案上与行业标准的差距?
    参考竞品做法,给出改进建议。
""")
# Agent自动:
# 1. 从内部文档提取当前加密方案
# 2. 从行业标准库提取合规要求
# 3. 从竞品文档提取行业做法
# 4. 交叉对比
# 5. 生成差距分析和建议

部署

Docker Compose

# 核心服务
services:
  ragflow-server:
    image: infiniflow/ragflow:latest
    ports: ["9380:9380"]
    depends_on:
      - mysql
      - es
      - redis
      - minio

  mysql:       # 元数据存储
  es:          # Elasticsearch(全文检索)
  redis:       # 缓存和消息队列
  minio:       # 对象存储(文档和向量)

资源规划

场景文档量推荐配置月成本
个人/小团队<1万份4C8G x1~$50
中型企业1-10万份8C16G x2 + GPU~$500
大型企业>10万份集群部署咨询商务

RAGFlow vs 其他RAG方案

维度RAGFlowDify RAGLlamaIndexLangChain RAG
文档理解深度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
表格处理⭐⭐⭐⭐⭐⭐⭐⭐⭐
多模态⭐⭐⭐⭐⭐⭐
Agent能力⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
可视化⭐⭐⭐⭐⭐⭐⭐⭐
检索质量⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习曲线⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

最佳适用场景

✅ RAGFlow最适合:
├── 大量PDF/扫描件需要处理
├── 文档含复杂表格(财报、医疗报告)
├── 需要精确引用(法律、合规)
├── 多语言文档场景(中英文支持好)
└── 图表密集型文档(论文、研报)

RAGFlow的差异化定位很清晰——“真正理解文档,而不仅仅是搜索文档”。在表格理解、排版分析、多模态处理这些硬核能力上,它明显领先于通用Agent平台的RAG模块。如果你需要的是一个”能读懂复杂文档的AI”,而非一个”能聊天的知识库”,RAGFlow是最佳选择。

GitHub: https://github.com/infiniflow/ragflow