【开源项目】想搞个“私有知识库”?RAGFlow 一篇部署教程搞定
〇、写在前面:为什么选 RAGFlow?
如果你已经厌倦了:
- 每次给大模型投喂文档,都要自己切分、清洗、算向量,折腾到崩溃
- 想做一个「企业级 / 团队级」的知识库问答,又不想从头写 RAG 链路
- 看过一堆 AI 助手平台,但想要一个开源、可私有化、能白嫖算力的方案
那这篇教程就是给你写的。
我们今天的主角:RAGFlow。 - 开源 RAG 引擎,主打「深度文档理解 + 检索增强生成(RAG)」,还内置 Agent 能力
- 支持 Word、PDF、Excel、PPT、图片、网页等各种复杂格式
- 官方直接给 Docker Compose,一条命令拉起全套(ES、MySQL、Redis、MinIO…)
- GitHub 上 77k+ Star,还在持续更新,算得上「最近几年最火的开源 RAG 项目之一」
接下来就按:选服务器 → 装 Docker → 启动 RAGFlow → 浏览器初始化 → 配一个知识库 → 跑个对话 的完整流程,一步步来。
一、选服务器与配置推荐(有云服务器的可以跳过)
1. 注册 & 领优惠券(有服务器的直接跳过)
这里我用的是「雨云」服务器,官网:https://www.rainyun.com/(不是广告,只是我常用)。
- 新用户注册可以用我的优惠码:
techaser - 绑定微信后会自动发一张首月 5 折券,积分商城也有永久八折券,同时我也有一点收益,非常感谢~
2. 配置建议
RAGFlow 官方建议的最低配置(Docker 部署):
- CPU ≥ 4 核(x86,不支持 ARM 镜像)
- 内存 ≥ 16 GB
- 硬盘 ≥ 50 GB
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
小贴士:
- 做实验 / 玩玩:4C16G 够用
- 想多跑几个文档、多几个人同时用:建议 8C32G
- 硬盘尽量 SSD,向量检索对 I/O 比较敏感(虽然你也可以切换到 Infinity 引擎,但默认是 ES)
地域选择: - 想免备案、直接用 IP 访问:选香港节点
- 有备案、面向国内:选国内节点(比如宿迁、宁波等)
二、服务器环境准备:安装 Docker & Docker Compose
如果你已经装好了 Docker 和 Docker Compose(雨云购买时可以自己选装),直接跳到「三、拉取 RAGFlow 仓库并配置环境变量」。
1. SSH 连接服务器
本地终端(Windows 可以用 PowerShell / Terminal / Xshell):
ssh root@你的公网IP
2. 安装 Docker(以 CentOS / Rocky / Alma 为例)
# 安装必要工具
yum install -y yum-utils
# 添加 Docker 官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker & Docker Compose 插件
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 启动并设置开机自启
systemctl enable --now docker
装完验证一下:
docker --version
docker compose version
能看到版本号就说明 OK。
Ubuntu / Debian 的命令略有不同,这里就不展开了,按自己系统查一下就行。
三、拉取 RAGFlow 仓库 & 调一下环境变量
RAGFlow 官方推荐直接用预构建镜像,通过 docker compose 一键拉起整套服务。
1. 克隆仓库
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
如果你在国内,clone 可能有点慢,可以用 Gitee 镜像或者走代理。
2. 看一眼 .env(可选)
官方说明:系统核心配置都在这几个文件里:
.env:基础配置,比如端口、各种密码service_conf.yaml.template:后端服务配置docker-compose.yml:编排文件,真正干活的
默认情况下,你啥都不改也能跑起来。我们这节就保持默认,只确认一件事:- 服务器上 80 端口没被 Nginx / Apache 之类的服务占用
- 如果占用了,后面可以改端口,比如改成
8080:80
- 如果占用了,后面可以改端口,比如改成
四、启动 RAGFlow
1. 先调一下系统参数(必须)
RAGFlow 依赖 Elasticsearch(默认),官方要求 vm.max_map_count ≥ 262144。
检查当前值:
sysctl vm.max_map_count
如果不够,临时改成 262144:
sudo sysctl -w vm.max_map_count=262144
想永久生效,写入 /etc/sysctl.conf:
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
2. 拉起所有服务(CPU 版)
在 ragflow/docker 目录下执行:
# 如果你想切到某个稳定版本,可以先:
# git checkout v0.24.0 # 以 v0.24.0 为例
# 用 CPU 跑 DeepDoc 任务:
docker compose -f docker-compose.yml up -d
想用 GPU 加速 DeepDoc,可以在
.env里加一行DEVICE=gpu,再执行同样的 docker compose 命令。
第一次拉镜像会比较久(镜像大概 2 GB 左右,后面版本是 slim 版)。喝杯咖啡,等它拉完。
3. 看看启动日志
docker logs -f docker-ragflow-server-1
# 如果容器名字不一样,用 docker ps 找一下实际名字
看到类似这样的输出就算成功:
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
五、浏览器打开 RAGFlow 并完成初始化
1. 访问地址
官方文档说明:默认 HTTP 服务端口是 80,可以直接不写端口。
- 本机部署:
http://localhost或http://127.0.0.1 - 服务器部署:
http://你的服务器IP- 如果你在
docker-compose.yml里改了端口(比如8080:80),就访问:http://你的服务器IP:8080
- 如果你在
有些教程会写
http://IP/login,本质上是一回事,会自动跳转到登录页。
2. 首次登录 / 注册
关于「默认账号」这件事,不同版本 / 不同部署方式有点差异。根据一些社区实测文章以及我的安装经历:
- 有些版本第一次打开会直接让你「注册账号」,填个邮箱 + 昵称 + 密码就行
- 有些版本会自动创建一个管理员账户(例如:
admin/admin或admin@ragflow.io/admin)
所以这边建议你:
- 先用浏览器打开
http://你的服务器IP - 如果看到「登录」界面:
- 有「注册」入口:就直接注册一个自己的账号
- 没有注册入口:尝试常见默认账号/密码(比如
admin/admin)
- 登录成功后,立刻把密码改成强密码,避免被「默认密码」坑。
安全提醒:如果你是部署在公网,强烈建议在
.env或 Nginx 里把「用户注册」关掉,防止陌生人乱注册。
3. 把界面切成中文(可选)
登录后,右上角会有语言切换,选成「中文」,用起来会舒服很多。
六、基础使用:配置大模型 + 创建第一个知识库
1. 先配置大模型
RAGFlow 本身不自带大模型,需要你自己接入:
- 云端:OpenAI / Claude / 智谱 GLM / 百度千帆 / Ollama 兼容接口等
- 本地:Ollama、vLLM、LMDeploy 等推理服务
步骤:
- 在 RAGFlow 界面里找到「设置 / 模型供应商 / 添加模型」
- 选一个「模型工厂」(比如 OpenAI 兼容)
- 填上:
- 基础 URL(Base URL),例如:
http://你的Ollama地址:11434/v1 - API Key(如果有的话)
- 基础 URL(Base URL),例如:
- 保存后,在「默认模型」里选一个你准备用来对话的模型
很多教程会用 Ollama 跑一个本地模型,再让 RAGFlow 调用,这样成本基本为零。再提一嘴,RAG可能比较烧Token,最好用免费模型(glm-4.7-flash)或Deepseek
2. 创建第一个知识库
- 上面菜单找到「知识库」
- 新建一个知识库,起个名字,比如「公司产品手册」
- 上传你要喂给模型的文档(支持 Word、PDF、Excel、PPT、TXT、图片等)
- 选择一个「解析方式」:
- 一般选「普通 / 深度文档理解」即可,RAGFlow 会自己帮你切片 + 抽取文本
- 等它跑完解析,状态变成「已完成」
3. 建一个「基于这个知识库」的对话
- 进入「对话」
- 新建一个对话,关联上你刚才建的知识库
- 选一个默认模型(就是你刚才配置的那个)
- 随便问一句:
- 比如「这个产品的常见问题有哪些?」
- RAGFlow 会先从知识库检索相关内容,再让大模型总结答案,并给出引用片段。
到这里,你已经完成:
- 在服务器上用 Docker Compose 一键部署 RAGFlow
- 通过浏览器完成初始化
- 配好大模型 + 知识库 + 第一个对话
七、小结:一台服务器 = 一个私有知识库平台
到这里,你已经:
- 选了一台云服务器(4C16G 起)
- 用 Docker & Docker Compose 部好了 RAGFlow
- 在浏览器里完成了初始化、配好大模型
- 建好了第一个知识库,跑通了基于知识库的对话
接下来你可以: - 给团队做一个内部知识库(产品手册、运维文档、FAQ 等)
- 接入自己的业务系统,做智能客服 / 工单助手
- 配合 Agent 工作流,实现自动检索 + 多轮对话 + 工具调用
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)