开源检索增强 RAGFlow 部署教程
使用过 dify 和 fastgpt 的产品大家都知道还有一款增加 RAG 平台 RAGFlow,博主早在 2023 年 AI 盛行的时候就调研过这款产品,现在已经 2025 年,截止目前最新版本已经来到了 0.22.1了,为什么一直没有选用这款产品最大的特点就是吃内存,给人一种非常卡顿,相比 dify 和 fastgpt 平台 4c8h 的配置都能流畅使用来说,劝退大家的还是资源占用问题,但是最近刚好有接到部署 RAGFlow 的活路,机器配置够高,所以记录一下并小试牛刀一下配置几个智能体试试。
介绍
RAGFlow 是一个领先的开源检索增强生成(RAG)引擎,将前沿的 RAG 与代理能力融合,为大型语言模型创建了更优越的上下文层。它提供了一套精简的 RAG 工作流程,适用于任何规模的企业。RAGFlow 依靠融合上下文引擎和预构建的代理模板,使开发者能够高效且精准地将复杂数据转化为高保真、生产准备的 AI 系统。
开源地址
Github 地址:点此跳转
说实话看到这个 2.9k issues 还有很大的进步空间啊。
前置步骤
最低配置要求:4C16G,硬盘 50G+,Docker >= 24.0.0 & Docker Compose >= v2.26.1,最好是使用 GPU 服务器,不然你可以用起来效果很差。
检查命令:
echo "--- CPU 核心数 ---" && nproc; \
echo "--- 内存总量 ---" && free -h | grep Mem: | awk '{print $2}'; \
echo "--- 磁盘可用空间 (`df -h`) ---" && df -h
docker --version
docker-compose --version
# 新版用下面的命令
# docker compose version
lspci | grep -E "VGA|3D|Display"输出:
--- CPU 核心数 ---
48
--- 内存总量 ---
235Gi
--- 磁盘可用空间
(Filesystem Size Used Avail Use% Mounted on)
tmpfs 24G 4.1M 24G 1% /run
/dev/sda1 57G 28G 26G 53% /
tmpfs 118G 0 118G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sdb1 492G 445G 22G 96% /root/data
public 1.0P 0 1.0P 0% /root/public
...
Docker version 28.4.0, build d8eb465
Docker Compose version v5.0.0
00:02.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01)
00:06.0 VGA compatible controller: NVIDIA Corporation Device 2684 (rev a1)
00:07.0 VGA compatible controller: NVIDIA Corporation Device 2684 (rev a1)
00:08.0 VGA compatible controller: NVIDIA Corporation Device 2684 (rev a1)
00:09.0 VGA compatible controller: NVIDIA Corporation Device 2684 (rev a1)查看显卡驱动是否安装:N 卡为例
~# nvidia-smi
Wed Dec 10 20:56:21 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.57.08 Driver Version: 575.57.08 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 On | 00000000:00:06.0 Off | Off |
| 33% 24C P8 19W / 450W | 4212MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA GeForce RTX 4090 On | 00000000:00:07.0 Off | Off |
| 33% 24C P8 19W / 450W | 23978MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 2 NVIDIA GeForce RTX 4090 On | 00000000:00:08.0 Off | Off |
| 33% 23C P8 19W / 450W | 1938MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 3 NVIDIA GeForce RTX 4090 On | 00000000:00:09.0 Off | Off |
| 33% 23C P8 28W / 450W | 8044MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1271118 C python3 2896MiB |
| 0 N/A N/A 1615595 C python3 430MiB |
| 0 N/A N/A 1615600 C python3 430MiB |
| 0 N/A N/A 1615612 C python3 430MiB |
| 1 N/A N/A 2445563 C python3 23968MiB |
| 2 N/A N/A 1725700 C /usr/bin/python3 1928MiB |
| 3 N/A N/A 3974680 C python3 8034MiB |
+-----------------------------------------------------------------------------------------+检查系统参数:
# 查看
sysctl vm.max_map_count
# 如果没有输出262144,执行下面命令满足要求,要永久生效请修改 /etc/sysctl.conf
sudo sysctl -w vm.max_map_count=262144除了你可以可以没有显卡之外,其他命令必须执行后满足要求,否则安装过程中会失败。
开始安装
本教程采用ubuntu22.04,inter芯片,nvidia显卡为例
依次执行下面命令:部署目录/usr/local/app
mkdir -p /usr/local/app
cd /usr/local/app
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
# 若有GPU 执行下面命令,没有则不用执行
#sed -i '1i DEVICE=gpu' .env
docker compose -f docker-compose.yml up -d
docker logs -f docker-ragflow-cpu-1最后等待日志输出如下图案则可以访问服务器IP:80即可。
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)直接注册账号使用。
基本配置
注册账号后先配置大模型信息,依次点击右上角头像-模型提供商,可选模型,根据自己需要设置 apikey。
根据自己需要添加自定义 MCP 服务器,支持 sse 和 streamable-http 协议。
数据源也可以根据实际添加,可以使用 S3 协议自建 minio 或者 rustfs
初体验
知识库
创建一个知识库,上传一些文档试试。
解析方式支持内置(General、Q&A、Resume、Manual、Table、Paper、Book、Laws、Presentation、One、Tag)和 pipeline
至于不同解析方式有什么区别可以参考官方文档学习,这也是 ragflow 的核心功能,文档解析很强。
等待解析完成,可以进行测试召回,然后去配置智能体引用使用。
聊天
创建一个聊天助手,配置引用知识库,然后进行问答。
搜索
搜索可以选择多个知识库进行检索,支持 AI 总结以及引用原文。
智能体
智能体就是通过流程编排以及使用 mcp 工具等,自主选择工具调用,有空可以深入研究一下,也提供了一些模板。
常见问题
1、管理员账号是多少?
答:管理员页面默认是关闭的,如果要开启可参考官方文档开启,直接在 docker-compose.yml 文件启动参数中加入下面命令:管理员只能看到资源运行状况和注册用户的信息,没有其他实质性的作用,访问地址是 服务器 IP/admin 进行访问,管理员登录的默认账号是 admin@ragflow.io,密码是 admin
command:
- --enable-adminserver2、如果更改访问端口,默认是 80 一般被占用了。
答:直接修改 .env 环境变量,修改 SVR_WEB_HTTP_PORT 和 SVR_WEB_HTTPS_PORT 为其他端口号即可,一个是 http 一个是 https 的端口。
3、如果使用其他中间件,比如mysql,文件存储等?
答:官方提供了 docker-compose-base.yml 里面有一些,参考官方文档修改环境变量或者配置进行切换即可。
4、配置文件一般我们要维护哪些,可以调整哪些?
答:一共有重要的 3 个文件。
.env:保留系统的基本设置,比如SVR_HTTP_PORT、MYSQL_PASSWORD和MINIO_PASSWORD。service_conf.yaml.template:配置后端服务。该文件中的环境变量将在 Docker 容器启动时自动填充。Docker 容器中设置的任何环境变量都可以使用,允许你根据部署环境自定义服务行为。docker-compose.yml:部署启动编排文件
具体的配置参数含义可参考官方 docker 目录下的 README 说明。
总结
本文通过docker 一键部署 ragflow,并且体验了简单的功能, 整个使用下来存在很多卡顿的问题,在知识库的文档解析的时候一直卡住不动重启才恢复正常,不愧是issues 还有一大堆没修改,解析的方式强是强,传说中做知识库属它最牛逼,但是使用体验下来真的就是资源占用太大了,对准确率高的资源不在乎的可以尝试配置学习试试,这个也通过和 dify 结合进行使用,网上有相关教程可以参考,将 ragflow 直接外挂给 dify 使用。
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接








