RAGFlow 项目介绍
RAGFlow 项目介绍
项目定位
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,通过融合深度文档理解与 Agent 能力,为 LLM 提供高质量的上下文层。它解决的核心问题是:从复杂非结构化文档中提取高保真知识,并以可控、可追溯的方式喂给大语言模型,从而减少幻觉、提升答案质量。
核心能力
- 深度文档理解(DeepDoc):基于视觉模型的 OCR、布局识别、表格结构识别(TSR),能从 PDF、DOCX、Excel、PPT、图片、扫描件等复杂格式中精准提取文本、表格、图片和结构信息
- 模板化文本切分:提供多种可配置的切分模板(通用、论文、简历、法律、手册等),切分过程可视化、可控、可干预
- 多路召回 + 融合重排:支持全文检索与向量检索混合召回,配合重排序模型提升召回质量
- GraphRAG:内置知识图谱构建能力,包括实体识别、实体消歧与图谱检索
- RAPTOR 递归摘要:通过树状聚类与递归摘要实现层次化知识组织,支持”大海捞针”级别的长上下文检索
- Agent 工作流编排:基于 DSL 的可视化 Agent 编排,内置 20+ 组件(LLM、检索、分类、迭代、循环、浏览器、代码执行等)与 20+ 预置模板
- MCP 集成:同时支持 MCP 客户端(调用外部 MCP 服务)与服务端(对外暴露 RAGFlow 能力)
- 多模型适配:支持 50+ 模型提供商,覆盖 Chat、Embedding、Rerank、OCR、TTS、语音识别等多模态模型
- 沙箱代码执行:基于 gVisor 的安全沙箱,支持 Agent 在隔离环境中执行 Python/JavaScript 代码
技术栈
| 层面 | 技术 |
|---|---|
| 后端 API | Python 3.13,Flask/Quart(异步 Web 框架) |
| RAG 核心 | 纯 Python,异步流水线(asyncio) |
| 文档解析 | 自研视觉模型(PyTorch)+ 第三方解析器(MinerU、Docling、PaddleOCR) |
| Agent 系统 | 自定义 DAG 编排引擎,JSON DSL 定义工作流 |
| 前端 | React + TypeScript + Vite + shadcn/ui + Zustand |
| 存储层 | MySQL(元数据)、Elasticsearch/Infinity(全文+向量)、Redis(缓存+会话)、MinIO(对象存储) |
| 部署 | Docker Compose 微服务架构 |
| SDK | Python + JavaScript/TypeScript |
架构概览
快速体验
Docker 一键启动
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/docker# 确保 vm.max_map_count >= 262144docker compose -f docker-compose.yml up -d启动后访问 http://IP_OF_YOUR_MACHINE 即可使用 Web UI。
源码开发模式
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/uv sync --python 3.13uv run python3 download_deps.pydocker compose -f docker/docker-compose-base.yml up -dsource .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.shcd web && npm install && npm run dev教程导读
本教程基于 RAGFlow v0.25.6(commit 8f0632c),从源码出发,分为两条主线:
AI 应用知识线(/tutorials/ragflow/ai/)
聚焦 RAGFlow 作为 RAG 引擎和 Agent 平台的通用知识,包括:
- RAG 流水线的整体架构与数据流
- 深度文档理解的视觉模型原理
- 模板化文本切分的设计与实践
- 多路召回与重排序策略
- GraphRAG 知识图谱构建
- RAPTOR 层次化知识组织
- Agent 工作流编排与组件设计
- MCP 协议集成
编程开发知识线(/tutorials/ragflow/dev/)
聚焦 RAGFlow 的工程实践与架构决策,包括:
- 微服务架构与部署拓扑
- 异步流水线设计(asyncio)
- DSL 驱动的 Agent 编排引擎
- 多模型统一适配层
- 安全沙箱(gVisor)集成
- 前后端工程与构建流程
本教程涉及的部分通用知识已收录于 公共知识库,建议先阅读相关章节以获得更系统的理解。