RAGFlow助手
在企业项目里,很多知识不是结构化表格,也不是公开网页,而是内部文档:pdf, excell,word,text.这些资料适合放进 RAGFlow
企业知识库最麻烦的地方,不只是“有没有向量数据库”,而是资料来源很杂
同一个企业里,可能同时存在:
- PDF 版制度文件;
- Word 版操作说明;
- Excel 版业务清单;
- PPT 版培训材料;
- 图片较多的产品说明书;
- 扫描版或排版复杂的历史文档。
如果全部自己处理,就要为不同文件类型分别写读取、清洗、切分和解析逻辑。文档越多,维护成本越高
RAGFlow 的价值就在这里:它把“上传文件、解析文件、建立知识库、绑定助手、页面测试、API 查询”放在同一套服务里。对 DeepAgents 项目来说,我们不用在子智能体里重复实现文档解析和向量检索,只需要把 RAGFlow 当成一个外部知识库服务,通过 API 向合适的聊天助手提问
RAGFlow的四层架构:
| 层级 | 可以怎么理解 | 在项目中的作用 |
|---|---|---|
| RAGFlow 服务 | 一整套运行中的知识库系统 | 提供页面、API、文档解析和问答能力 |
| 知识库 Dataset | 存放一类文档的空间 | 例如电商行业知识库、金融行业知识库 |
| 聊天助手 Chat | 绑定一个或多个知识库的问答入口 | 对外表现为“电商行业助手”“金融行业助手” |
| 会话 Session | 某一次具体提问或对话 | 代码里临时创建,用完后删除 |
代码最终不是直接问知识库,而是问某个聊天助手下的会话。
部署RAGFlow服务
RAGFlow 服务比较重,建议使用云服务器部署,它不是一个只启动 Python 进程的小工具,底层还会拉起 Elasticsearch、MinIO、MySQL、Valkey 等组件
课程环境建议:
| 配置项 | 建议值 |
|---|---|
| CPU | 至少 4 核,8 核更稳 |
| 内存 | 至少 16 GB |
| 系统 | Ubuntu 24.04 |
| 磁盘 | 至少 50 GB |
| 公网 IP | 需要 |
安装命令:
# 更新系统软件包索引
sudo apt-get update
# 安装 Docker 仓库所需的基础工具
sudo apt-get install -y ca-certificates curl git openssl
# 创建 apt keyrings 目录,用于存放 Docker 源的 GPG key
sudo install -m 0755 -d /etc/apt/keyrings
# 使用腾讯云 Docker CE 镜像源的 GPG key,国内服务器下载更稳定
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 允许 apt 读取该 GPG key
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 添加 Docker CE 的 apt 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null
# 重新更新软件包索引,让 apt 识别 Docker 软件源
sudo apt-get update
# 安装 Docker Engine、Docker CLI、Buildx 和 Compose 插件
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 设置 Docker 开机自启动,并立即启动 Docker
sudo systemctl enable --now docker
# 查看 Docker 版本
sudo docker --version
# 查看 Docker Compose 版本,注意这里是 docker compose,中间有空格
sudo docker compose version
调整系统参数:
# RAGFlow 默认使用 Elasticsearch 作为文档检索和向量存储引擎。Elasticsearch 要求 vm.max_map_count 至少为 262144
# 查看当前 vm.max_map_count
sysctl vm.max_map_count
# 写入持久化配置,重启后仍然生效
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-ragflow.conf
# 立即加载 sysctl 配置
sudo sysctl --system
# 再次确认结果应为 262144 或更大
sysctl vm.max_map_count
下载RAGFlow源码
# 进入 /opt,常用于放置服务器应用
cd /opt
# 从 Gitee 镜像克隆指定版本,适合国内服务器
sudo git clone --depth 1 --branch v0.25.4 https://gitee.com/infiniflow/ragflow.git
# 将目录归属给当前用户
sudo chown -R "$USER":"$USER" /opt/ragflow
# 进入 Docker Compose 配置目录
cd /opt/ragflow/docker
修改RAGFlow环境变量
如果你只是短期测试,并且不要求密码安全性,可以跳过本节,直接进入“3.7 启动 RAGFlow

浙公网安备 33010602011771号