跳到主要内容

Docker 安装指南

本指南将帮助您完成 KnowFlow docker 部署的完整部署过程,包括环境准备、服务配置和系统启动。 请按照步骤操作,确保每一步都成功完成。


部署步骤概览


💻 环境要求

硬件配置

组件最低要求推荐配置说明
CPU≥ 4 cores (x86)≥ 8 cores影响并发处理能力
内存≥ 16 GB RAM≥ 32 GB大文档处理需要更多内存
存储≥ 50 GB≥ 100 GB包含系统、数据和日志
GPU可选NVIDIA GPU显著提升 OCR 性能

软件依赖

软件版本要求用途必需性
Docker≥ 24.0.0容器运行时✅ 必需
Docker Compose≥ v2.26.1多容器编排✅ 必需
nvidia-container-toolkit最新版本GPU 加速🔶 可选
GPU 加速配置

如需使用 GPU 加速,请确保已正确安装 nvidia-container-toolkit


部署架构

┌─────────────────────────────────────────────────────────────┐
│ KnowFlow 主服务 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ RAGFlow │ │ KnowFlow │ │ Gotenberg │ │
│ │ (端口 9380) │ │ Backend │ │ (PDF转换) │ │
│ │ │ │ (端口 5000) │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MySQL │ │ mivlus │ │ MinIO │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ PDF 解析服务(二选一) │
│ ┌────────────────────┐ ┌────────────────────┐ │
│ │ MinerU │ 或 │ PaddleOCR │ │
│ │ (高精度,学术论文) │ │ (快速,通用文档) │ │
│ │ 端口 8000 │ │ 端口 8080 │ │
│ └────────────────────┘ └────────────────────┘ │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ 可选服务 │
│ ┌────────────────────┐ │
│ │ Whisper ASR │ ← 视频解析需要 │
│ │ (语音识别) │ │
│ └────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

开始部署

第一步:获取部署文件

由 knowflow 团队提供部署文件,包含 Docker Compose 配置和环境变量配置。

第二步:部署 PDF 解析服务

PDF 解析服务用于将 PDF 文档转换为结构化文本,是智能分块的基础。提供两种选择:

特性MinerUPaddleOCR
精度高(行级坐标)中(块级坐标)
速度较慢较快
公式识别✅ 支持✅ 支持
显存需求pipline: 2GB+ vlm: 24GB+12GB+

方案一:部署 MinerU(推荐)

MinerU 是高精度 PDF OCR 解析服务,支持公式识别和精确的版面分析。

# 1. 进入 MinerU 目录
cd docker/mineru

# 2. 启动服务(Pipeline 模式,基础 8000 端口)
docker compose --profile api up -d

# 3. 启动 vlm 模式服务(vlm 模式, 可选,30000 端口)需要更高显存 GPU 24GB+
docker compose --profile openai-server up -d

# 4. 验证服务(等待约 2 分钟启动完成)
curl http://主机ip:8000/health

GPU 配置(编辑 docker-compose.yml):

deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: ["0"] # 单卡
# device_ids: ["0", "1"] # 多卡
capabilities: [gpu]

显存不足时的优化

command:
# 降低 GPU 显存使用率
--gpu-memory-utilization 0.5 # 默认 0.9,可降低到 0.4

方案二:部署 PaddleOCR

PaddleOCR 是百度开源的 OCR 服务,速度快,适合通用文档。

# 1. 进入 PaddleOCR 目录
cd docker/paddleocr

# 2. 启动服务(PaddleOCR 8080 端口)
docker compose up -d

# 3. 查看启动日志(VLM 服务启动约需 5 分钟)
docker compose logs -f

# 4. 验证服务
curl http://主机ip:8080/health

注意事项

  • PaddleOCR 包含 API 服务和 VLM 后端两个容器
  • VLM 后端首次启动需要约 5 分钟加载模型
  • 建议至少 12GB GPU 显存

第三步:部署 KnowFlow 主服务

适合大多数场景,使用传统文本 Embedding:

cd docker

# 启动服务
docker compose up -d

第四步:验证部署

# 检查所有服务状态
docker compose ps

# 检查 RAGFlow 健康状态
curl http://主机ip:9380/health

# 检查 KnowFlow 后端
curl http://主机ip:5000/health

# 访问 Web 界面
打开浏览器访问 http://主机ip:80

默认端口

服务端口说明
RAGFlow Web80Web 界面
RAGFlow API9380API 服务
KnowFlow Backend5000企业功能 API
MySQL5455数据库
MinIO Console9001对象存储控制台
Milvus19530向量数据库(ColPali)
ColPali API9100视觉 Embedding(ColPali)

注意:其中 80 端口为 RAGFlow Web 界面,需要映射到主机端口并开放网络访问。

恭喜你,服务部署全部完成。


环境配置

部署完成后,需要在 RAGFlow 中配置解析服务地址和聊天模型。

1. 登录系统

访问前端 web 界面 http://主机ip:80,使用超级管理员账号登录。

账号:admin@gmail.com 密码:admin

访问后台管理界面 http://主机ip:80/admin,使用超级管理员账号登录。

账号:admin@gmail.com 密码:admin

后台管理界面主要是操作 RBAC 团队用户权限和知识库管理。

2. 进入模型设置

在前端 web 界面,点击右上角头像 → 系统模型设置

3. 添加 MinerU(如已部署)

  1. 在可选模型中找到 MinerU
  2. 点击添加,填写配置:
    • 模型名称:自定义,如 mineru-local
    • API 服务器地址http://你的服务器IP:8000
    • 后端类型pipeline(基础版)或 vlm-http-client(VLM 版)
  3. 点击保存

4. 添加 PaddleOCR(如已部署)

  1. 在可选模型中找到 PaddleOCR
  2. 点击添加,填写配置:
    • 模型名称:自定义,如 paddleocr-local
    • 服务地址http://你的服务器IP:8080
  3. 点击保存

5. 配置聊天模型

  1. 在可选模型中找到自己使用的 LLM 模型选择并配置

恭喜你,环境配置完成。


基本使用

创建知识库

  1. 登录后点击「知识库」→「创建知识库」
  2. 填写名称和描述
  3. 选择分块方法:
    • Smart:智能分块,自动识别文档结构
    • Title:按标题层级分块
    • Regex:按正则表达式分块
    • Parent-Child:父子分块,支持精确检索+丰富上下文
  4. 选择 PDF 解析器(MinerU 或 PaddleOCR)
  5. 点击创建

上传文档

  1. 进入知识库
  2. 点击「上传文件」
  3. 支持的格式:PDF、Word、Excel、PPT、Markdown、TXT、图片、视频等
  4. 等待解析完成

创建对话

  1. 点击「对话」→「创建对话」
  2. 选择知识库
  3. 配置 LLM 模型
  4. 开始对话

恭喜你,所有部署配置基本使用都已完成,可以开始体验 KnowFlow 的强大功能了。


更多信息