RAGFlow 是一个开源的 RAG(检索增强生成)引擎,旨在实现深度文档理解和智能问答。该系统提供从文档摄取和处理到会话式 AI 接口的完整工作流程,支持多种文件格式、语言和部署场景。
本概述涵盖了系统的核心架构、主要子系统和技术栈。有关特定组件的详细信息,请参阅组件参考。有关部署过程,请参阅Docker 部署。有关 API 集成,请参阅HTTP API和Python SDK。
RAGFlow 将非结构化文档转换为智能可搜索的知识库,为会话式 AI 应用提供支持。该系统结合了高级文档解析、向量搜索、知识图谱和大型语言模型集成,以提供准确、有引证依据的回复。
主要功能包括:
来源: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
| 服务 | 容器 | 默认端口 | 目的 |
|---|---|---|---|
| RAGFlow API | ragflow-server | 9380 | 主应用程序服务器 |
| Elasticsearch | es01 | 1200 | 文档索引 |
| MySQL | mysql | 5455 | 元数据存储 |
| MinIO | minio | 9000/9001 | 文件存储 |
| Redis | redis | 6379 | 任务队列 |
来源:docker/.env89-95 docker/README.md12-18 docs/quickstart.mdx26-32
RAGFlow 在所有数据层实现了租户隔离,以支持企业级多用户部署
来源:web/src/locales/en.ts42-75 docker/.env74-87
RAGFlow 支持多种部署配置
docker-compose.yml 的完整容器化堆栈docker-compose-base.yml 的依赖项docker-compose-gpu.yml 进行增强处理| 镜像标签 | 大小 | 嵌入式模型 | 用例 |
|---|---|---|---|
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来源:README.md194-206 docs/quickstart.mdx156-177 README.md305-374