菜单

概述

相关源文件

RAGFlow 是一个开源的 RAG(检索增强生成)引擎,旨在实现深度文档理解和智能问答。该系统提供从文档摄取和处理到会话式 AI 接口的完整工作流程,支持多种文件格式、语言和部署场景。

本概述涵盖了系统的核心架构、主要子系统和技术栈。有关特定组件的详细信息,请参阅组件参考。有关部署过程,请参阅Docker 部署。有关 API 集成,请参阅HTTP APIPython SDK

系统目的与能力

RAGFlow 将非结构化文档转换为智能可搜索的知识库,为会话式 AI 应用提供支持。该系统结合了高级文档解析、向量搜索、知识图谱和大型语言模型集成,以提供准确、有引证依据的回复。

主要功能包括:

  • 多格式文档处理:PDF、DOCX、Excel、图片、网页和结构化数据
  • 基于模板的分块:针对不同文档类型可配置的解析策略
  • 混合搜索:向量相似度结合关键词匹配和重排
  • 可视化工作流构建器:通过自定义组件拖放创建代理
  • 多语言支持:支持 9 种以上语言的界面本地化
  • 企业部署:基于 Docker 的容器化,支持可扩展基础设施

来源:README.md72-77 web/src/locales/en.ts1-50 docs/quickstart.mdx11-18

高层架构

该系统采用分层架构,清晰分离了表示层、API 层、处理层和数据层

来源:README.md135-139 docker/.env56-91 docker/README.md14-18

核心处理流程

文档处理工作流通过多个阶段将原始文件转换为可搜索的知识块

来源:web/src/locales/en.ts95-202 docs/quickstart.mdx26-36 docker/.env15-55

代理工作流系统

代理系统提供了一个可视化画布,用于使用相互连接的组件构建复杂的 AI 工作流

来源:web/src/locales/en.ts776-850 docs/release_notes.md33-40

技术栈与依赖

前端技术

  • React 18 搭配 UmiJS 框架,用于组件架构
  • Ant Design 组件库,用于 UI 一致性
  • TypeScript,用于类型安全的前端开发
  • i18next,用于跨 9 种语言的国际化支持

后端基础设施

  • Python 3.10+ 搭配 FastAPI/Flask,用于 REST API 服务
  • Docker Compose,用于容器化服务编排
  • Redis,用于任务队列和会话管理
  • MySQL 8.0,用于关系型元数据存储

文档处理

  • Elasticsearch 8.11.3Infinity,用于向量和全文搜索
  • MinIO,用于对象存储和文件管理
  • DeepDoc,用于高级 PDF 布局分析
  • 多个 LLM 提供商(OpenAI、Azure、本地模型)

部署配置

服务容器默认端口目的
RAGFlow APIragflow-server9380主应用程序服务器
Elasticsearches011200文档索引
MySQLmysql5455元数据存储
MinIOminio9000/9001文件存储
Redisredis6379任务队列

来源:docker/.env89-95 docker/README.md12-18 docs/quickstart.mdx26-32

多租户数据架构

RAGFlow 在所有数据层实现了租户隔离,以支持企业级多用户部署

来源:web/src/locales/en.ts42-75 docker/.env74-87

开发与部署模式

RAGFlow 支持多种部署配置

Docker Compose 部署

  • 生产环境:使用 docker-compose.yml 的完整容器化堆栈
  • 开发环境:仅使用 docker-compose-base.yml 的依赖项
  • GPU 加速:使用 docker-compose-gpu.yml 进行增强处理

Docker 镜像变体

镜像标签大小嵌入式模型用例
v0.19.0~9GB✅ BAAI/bge-large-zh-v1.5, maidalun1020/bce-embedding-base_v1自包含部署
v0.19.0-slim~2GB外部模型服务
nightly~9GB最新功能(不稳定)
nightly-slim~2GB最新功能(不稳定)

源代码开发设置

对于本地开发,系统可以通过源代码运行,方式为

  • 后端:使用 uv sync 的 Python 虚拟环境
  • 前端:使用 npm run dev 的 Node.js
  • 依赖项:用于数据持久化的 Docker 服务

来源:README.md194-206 docs/quickstart.mdx156-177 README.md305-374