问题: Dify和RAGFlow的搭建过程

👇 点击展开/折叠 面试背诵模板(建议先背这个) Dify与RAGFlow均推荐Docker Compose一键部署。Dify部署核心:克隆仓库→复制.env配置→docker-compose up -d启动9个核心服务→访问localhost:80初始化。RAGFlow部署核心:克隆仓库→检查vm.max_map_count≥262144→配置.env→docker-compose up -d启动→访问http://IP:9380初始化。两者均需准备4核8G以上服务器、安装Docker及Compose。关键差异:RAGFlow对内存要求更高(16G+),且需预先配置vm.max_map_count内核参数。
---

一、Dify 搭建过程

1. 环境准备

部署前需准备一台Linux服务器(推荐Ubuntu 22.04 LTS),最低配置要求4核CPU、8GB内存、20GB磁盘空间。生产环境建议8核CPU、32GB以上内存。需提前安装Docker及Docker Compose。

2. 获取部署文件

从Dify官方GitHub仓库克隆代码并进入docker目录:

1
2
git clone https://github.com/langgenius/dify
cd dify/docker

3. 配置环境变量

复制环境变量模板文件并进行核心配置:

1
cp .env.example .env

编辑.env文件,关键配置项包括:

  • 数据库密码:POSTGRES_PASSWORD=your_strong_password
  • Redis密码:REDIS_PASSWORD=your_strong_password
  • 加密密钥:SECRET_KEY(使用openssl rand -base64 42生成)
  • 模型API Key:根据所用模型配置(如OPENAI_API_KEY)

避坑提示:Windows用户若遇WSL2安装失败,需启用VirtualMachinePlatform功能并安装Ubuntu内核;Linux用户若内存低于8GB,需在~/.wslconfig中设置memory=6GB避免崩溃。

4. 一键启动服务

使用Docker Compose启动所有服务(Web前端、API后端、数据库、Redis、Worker等共9个核心容器):

1
docker-compose up -d

首次启动会自动拉取镜像,可通过以下命令查看启动日志确认服务正常运行:

1
2
docker-compose logs -f
# 出现 "Listening at http://0.0.0.0:80" 即表示成功

5. 访问控制台并初始化

浏览器访问http://localhost(默认80端口,若冲突可修改为8080等)。默认账号:admin@dify.ai,默认密码:difyai.com,登录后务必立即修改密码。

6. 配置模型供应商

进入“设置”→“模型供应商”,添加所需模型的API Key。支持OpenAI、通义千问、DeepSeek等20+主流模型。若需对接本地Ollama模型,在docker-compose.yaml中添加Ollama服务,端点配置为http://ollama:11434/v1。

7. 升级与备份

Dify升级时,需注意备份docker目录下的volumes文件夹,因为所有数据存储于此。升级后还原备份的volumes即可。

二、RAGFlow 搭建过程

1. 环境准备

RAGFlow对硬件要求较高,最低配置4核CPU、16GB内存、50GB磁盘空间。需确保Docker版本≥24.0.0,Docker Compose版本≥v2.26.1。建议使用GPU服务器,否则实际使用效果可能不佳。

2. 检查并配置内核参数

RAGFlow依赖Elasticsearch/Infinity作为检索引擎,需确保系统内核参数vm.max_map_count ≥ 262144。检查与配置命令:

1
2
3
4
5
6
7
8
9
10
# 检查当前值
sysctl vm.max_map_count

# 临时设置(重启失效)
sudo sysctl -w vm.max_map_count=262144

# 永久生效:编辑 /etc/sysctl.conf 添加以下行
vm.max_map_count=262144
# 然后执行
sudo sysctl -p

3. 克隆官方仓库并进入目录

RAGFlow的Docker镜像仅包含可运行环境,需克隆仓库获取docker-compose配置文件和启动脚本:

1
2
git clone https://github.com/infiniflow/ragflow.git
cd ragflow

4. 配置环境变量

复制环境变量模板并进行配置:

1
cp .env.example .env

编辑.env文件,核心配置项包括镜像版本选择。RAGFlow提供多种镜像版本:

  • v0.15.0-slim(≈2GB):轻量版,不包含嵌入模型,适合初学者
  • v0.15.0(≈9GB):完整版,内置嵌入模型
  • nightly系列:每日构建版,稳定性较低

在.env中设置RAGFLOW_IMAGE=infiniflow/ragflow:v0.15.0-slim。

5. 拉取镜像并启动服务

国内用户推荐使用轩辕镜像加速源拉取:

1
2
docker pull docker.xuanyuan.run/infiniflow/ragflow:v0.15.0-slim
docker tag docker.xuanyuan.run/infiniflow/ragflow:v0.15.0-slim infiniflow/ragflow:v0.15.0-slim

启动所有服务:

1
docker-compose up -d

6. 访问控制台并初始化

浏览器访问http://{服务器IP}:9380,按照提示创建管理员账户完成初始化。

7. 对接本地模型

RAGFlow支持通过Ollama、Xinference、vLLM等方式部署本地模型。在RAGFlow控制台的模型配置页面绑定本地模型服务地址即可使用。

三、两者的对比总结

对比维度 Dify RAGFlow
硬件要求 4核8G起,20GB磁盘 4核16G起,50GB磁盘
内存消耗 较低,4c8h即可流畅运行 较高,是主要资源瓶颈
核心定位 LLM应用开发平台(工作流+Agent+RAG) 专注RAG引擎(检索增强生成)
默认端口 80(可修改) 9380
内核参数 无特殊要求 需配置vm.max_map_count≥262144
镜像大小 约9个服务容器 slim版约2GB / full版约9GB
适用场景 企业AI应用开发全流程 企业级知识库问答系统