〇、写在前面:为什么选 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://localhosthttp://127.0.0.1
  • 服务器部署:http://你的服务器IP
    • 如果你在 docker-compose.yml 里改了端口(比如 8080:80),就访问:http://你的服务器IP:8080

有些教程会写 http://IP/login,本质上是一回事,会自动跳转到登录页。

2. 首次登录 / 注册

关于「默认账号」这件事,不同版本 / 不同部署方式有点差异。根据一些社区实测文章以及我的安装经历:

  • 有些版本第一次打开会直接让你「注册账号」,填个邮箱 + 昵称 + 密码就行
  • 有些版本会自动创建一个管理员账户(例如:admin / adminadmin@ragflow.io / admin
    所以这边建议你:
  1. 先用浏览器打开 http://你的服务器IP
  2. 如果看到「登录」界面:
    • 有「注册」入口:就直接注册一个自己的账号
    • 没有注册入口:尝试常见默认账号/密码(比如 admin / admin
  3. 登录成功后,立刻把密码改成强密码,避免被「默认密码」坑。

安全提醒:如果你是部署在公网,强烈建议在 .env 或 Nginx 里把「用户注册」关掉,防止陌生人乱注册。

3. 把界面切成中文(可选)

登录后,右上角会有语言切换,选成「中文」,用起来会舒服很多。
在这里插入图片描述


六、基础使用:配置大模型 + 创建第一个知识库

1. 先配置大模型

RAGFlow 本身不自带大模型,需要你自己接入:

  • 云端:OpenAI / Claude / 智谱 GLM / 百度千帆 / Ollama 兼容接口等
  • 本地:Ollama、vLLM、LMDeploy 等推理服务
    步骤:
  1. 在 RAGFlow 界面里找到「设置 / 模型供应商 / 添加模型」
  2. 选一个「模型工厂」(比如 OpenAI 兼容)
  3. 填上:
    • 基础 URL(Base URL),例如:http://你的Ollama地址:11434/v1
    • API Key(如果有的话)
  4. 保存后,在「默认模型」里选一个你准备用来对话的模型

很多教程会用 Ollama 跑一个本地模型,再让 RAGFlow 调用,这样成本基本为零。再提一嘴,RAG可能比较烧Token,最好用免费模型(glm-4.7-flash)或Deepseek

2. 创建第一个知识库

  1. 上面菜单找到「知识库」
  2. 新建一个知识库,起个名字,比如「公司产品手册」
  3. 上传你要喂给模型的文档(支持 Word、PDF、Excel、PPT、TXT、图片等)
  4. 选择一个「解析方式」:
    • 一般选「普通 / 深度文档理解」即可,RAGFlow 会自己帮你切片 + 抽取文本
  5. 等它跑完解析,状态变成「已完成」

3. 建一个「基于这个知识库」的对话

  1. 进入「对话」
  2. 新建一个对话,关联上你刚才建的知识库
  3. 选一个默认模型(就是你刚才配置的那个)
  4. 随便问一句:
    • 比如「这个产品的常见问题有哪些?」
  5. RAGFlow 会先从知识库检索相关内容,再让大模型总结答案,并给出引用片段。

到这里,你已经完成:

  • 在服务器上用 Docker Compose 一键部署 RAGFlow
  • 通过浏览器完成初始化
  • 配好大模型 + 知识库 + 第一个对话

七、小结:一台服务器 = 一个私有知识库平台

到这里,你已经:

  • 选了一台云服务器(4C16G 起)
  • 用 Docker & Docker Compose 部好了 RAGFlow
  • 在浏览器里完成了初始化、配好大模型
  • 建好了第一个知识库,跑通了基于知识库的对话
    接下来你可以:
  • 给团队做一个内部知识库(产品手册、运维文档、FAQ 等)
  • 接入自己的业务系统,做智能客服 / 工单助手
  • 配合 Agent 工作流,实现自动检索 + 多轮对话 + 工具调用
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐