fix(web): exclude video file format from initial parser values (#21622)
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,通过融合前沿的 RAG 技术与 Agent 能力,为大型语言模型提供卓越的上下文层。它提供可适配任意规模企业的端到端 RAG 工作流,凭借融合式上下文引擎与预置的 Agent 模板,助力开发者以极致效率与精度将复杂数据转化为高可信、生产级的人工智能系统。
请登录网址 https://cloud.ragflow.io 体验云服务。
如果想在本地部署,请参阅本地部署。
更多更新请参阅完整发布记录。
⭐️ 点击右上角的 Star 关注 RAGFlow,可以获取最新发布的实时通知!🌟
本地部署提供 Docker 部署和源码启动两种方式:Docker 适合快速体验、集成测试和生产部署;源码启动适合 RAGFlow 开发和调试。Docker 部署无需安装 Go 编译器,源码启动需要安装 go.mod 指定版本的 Go 编译器;前端开发还需要 Node.js 和 npm。
go.mod
⚠️ 提示: 如果你尚未在本机安装 Docker(Windows、macOS 或 Linux),可以参考 Install Docker Engine 自行安装。
如果使用 Elasticsearch,将 Docker 宿主机的 vm.max_map_count 设置为至少 262144。使用 Infinity 时则不需要执行此步骤:
vm.max_map_count
如需确认 vm.max_map_count 的大小: sysctl vm.max_map_count 如果使用 Elasticsearch 且 vm.max_map_count 的值小于 262144,可以进行重置: # 这里我们设为 262144: sudo sysctl -w vm.max_map_count=262144 你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍: vm.max_map_count=262144
如需确认 vm.max_map_count 的大小:
sysctl vm.max_map_count
如果使用 Elasticsearch 且 vm.max_map_count 的值小于 262144,可以进行重置:
# 这里我们设为 262144: sudo sysctl -w vm.max_map_count=262144
你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍:
vm.max_map_count=262144
克隆仓库:
git clone https://github.com/infiniflow/ragflow.git
切换到发布标签并使用 Docker Compose 启动服务器:
进入仓库中的 Docker 部署目录。
cd ragflow/docker
切换到 v1.0.0-rc2 发布标签。
v1.0.0-rc2
git checkout v1.0.0-rc2
在启动 RAGFlow 服务及其依赖服务。
docker compose -f docker-compose.yml up -d
💡 镜像下载提示: 如果无法从默认仓库拉取镜像,请先在 docker/.env 中将 RAGFLOW_IMAGE 设置为以下镜像源之一,并保留 v1.0.0-rc2 标签: 华为云:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v1.0.0-rc2 阿里云:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v1.0.0-rc2
💡 镜像下载提示: 如果无法从默认仓库拉取镜像,请先在 docker/.env 中将 RAGFLOW_IMAGE 设置为以下镜像源之一,并保留 v1.0.0-rc2 标签:
docker/.env
RAGFLOW_IMAGE
swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v1.0.0-rc2
registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v1.0.0-rc2
默认 MySQL 配置下,镜像入口会先执行数据库迁移,再启动 Admin、Syncer、Ingestor 和 API 等服务。
RAGFlow 开源版 1.0 的 DeepDoc 版面分析、OCR 和表格识别使用 CPU 推理。
服务器启动成功后再次确认服务器状态:
使用 docker ps 检查依赖服务状态;依赖服务显示 healthy 且 RAGFlow 容器持续运行后,通过 HTTP 接口判断 RAGFlow 是否就绪(RAGFlow 容器本身未定义 Compose healthcheck):
docker ps
healthy
curl -f http://localhost/api/v1/system/healthz
返回 HTTP 200 后,再访问 Web 页面。如果修改了 SVR_WEB_HTTP_PORT,请将健康检查地址中的端口替换为对应值。
SVR_WEB_HTTP_PORT
如果服务启动异常,再查看对应容器日志:
docker logs --tail 50 ragflow-cpu
在你的浏览器中输入你的服务器对应的 IP 地址并登录 RAGFlow。
上面这个例子中,您只需输入 http://IP_OF_YOUR_MACHINE 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。
登录 RAGFlow 后,在模型提供商页面添加 LLM、Embedding 和 Reranker,并填写对应的模型名称、服务地址和 API key。
详见 llm_api_key_setup。
好戏开始,接着奏乐接着舞!
详情请见 快速入门指南。
Docker 部署使用 docker/.env 和 docker/docker-compose.yml。镜像、端口、密码、文档引擎及模型镜像源请按Docker 配置说明修改;平台支持(注意:macOS 暂不受支持)请参阅Go Docker 镜像构建与平台支持指南。源码构建 Docker 镜像请参阅Go Docker 镜像构建与平台支持指南。
docker/docker-compose.yml
切换文档引擎、修改配置后重启服务,以及保留或清理已有数据的操作,也请按照上述 Docker 配置文档执行。
克隆仓库,并安装 go.mod 中指定版本的 Go 编译器(当前为 Go 1.27)、Clang 20、LLD 20、CMake ≥ 4.0、PCRE2 开发文件 CGO 依赖的静态库;build.sh 会设置所需的构建参数。
git clone https://github.com/infiniflow/ragflow.git cd ragflow
运行依赖下载脚本,准备 Go 构建所需链接的原生静态库(download_dev_deps.py)与后端运行时加载的模型/分词器资源(download_deps.py):
download_dev_deps.py
download_deps.py
uv run tools/scripts/download_dev_deps.py uv run deps/download_deps.py
download_dev_deps.py 拉取并解压 pdfium、pdf_oxide、office_oxide、onnxruntime 等到 ~/ragflow-native-libs;download_deps.py 拉取 cl100k 词表、DeepDoc 模型与 embedding 分词器资源到 deps/。两个脚本均为 Python 脚本,uv run 会自动安装其声明的依赖(requests,模型与分词器下载还需 huggingface-hub)。如果已通过其他方式准备好相同资源,可跳过这一步。Go 服务从仓库根目录启动时会自动查找 internal/rag/res/deepdoc;如需从其他目录启动,请将 DEEPDOC_MODEL_DIR 设为该目录的绝对路径。
~/ragflow-native-libs
deps/
uv run
requests
huggingface-hub
internal/rag/res/deepdoc
DEEPDOC_MODEL_DIR
编译:
./build.sh --all
启动本地依赖服务,并确认 conf/service_conf.yaml 中的主机与端口对应宿主机可访问的地址。如果使用 Elasticsearch,还需先将 Docker 主机的 vm.max_map_count 设为至少 262144。
262144
sudo sysctl -w vm.max_map_count=262144 docker compose --env-file docker/.env -f docker/docker-compose-base.yml up -d --wait es01 mysql minio nats kvrocks
数据迁移:
./bin/ragflow_server --migrate
启动 4 个终端分别启动 4 个服务:
终端 1:启动 Admin,监听端口 9381。
9381
./bin/ragflow_server --admin
./bin/ragflow_server --ingestor
终端 3:启动 Syncer。
./bin/ragflow_server --syncer
终端 4:启动 API,监听端口 9380。
9380
./bin/ragflow_server --api
各启动参数的作用如下:
--migrate
--admin
--ingestor
--syncer
--api
仅在前端开发时安装 Node.js 和 npm,然后启动 React 前端:
cd web npm install
服务启动后,运行下面命令来确认 API 服务已就绪:
curl -f http://127.0.0.1:9380/api/v1/system/healthz
返回 HTTP 200 表示 API 可以正常响应。前端 和 DeepDoc 的完整验证步骤请参阅从源代码启动服务。
详情请见 从源代码启动服务。
详见 RAGFlow Roadmap 2026 。
RAGFlow 只有通过开源协作才能蓬勃发展。秉持这一精神,我们欢迎来自社区的各种贡献。如果您有意参与其中,请查阅我们的贡献者指南。
扫二维码添加 RAGFlow 小助手,进 RAGFlow 交流群。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Cloud | Document | Roadmap | Discord
📕 目录
💡 RAGFlow 是什么?
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,通过融合前沿的 RAG 技术与 Agent 能力,为大型语言模型提供卓越的上下文层。它提供可适配任意规模企业的端到端 RAG 工作流,凭借融合式上下文引擎与预置的 Agent 模板,助力开发者以极致效率与精度将复杂数据转化为高可信、生产级的人工智能系统。
🎮 快速开始
请登录网址 https://cloud.ragflow.io 体验云服务。
如果想在本地部署,请参阅本地部署。
🔥 近期更新
更多更新请参阅完整发布记录。
🎉 关注项目
⭐️ 点击右上角的 Star 关注 RAGFlow,可以获取最新发布的实时通知!🌟
🌟 主要功能
🍭 “Quality in, quality out”
🍱 基于模板的文本切片
🧩 知识编译(Knowledge Compilation)
🧠 Agentic Retrieval
🌱 有理有据、最大程度降低幻觉(hallucination)
🍔 兼容各类异构数据源
🛀 全程无忧、自动化的 RAG 工作流
🔎 系统架构
🏠 本地部署
本地部署提供 Docker 部署和源码启动两种方式:Docker 适合快速体验、集成测试和生产部署;源码启动适合 RAGFlow 开发和调试。Docker 部署无需安装 Go 编译器,源码启动需要安装
go.mod指定版本的 Go 编译器;前端开发还需要 Node.js 和 npm。🐳 Docker 部署
📝 Docker 部署前提条件
🚀 启动服务器
如果使用 Elasticsearch,将 Docker 宿主机的
vm.max_map_count设置为至少 262144。使用 Infinity 时则不需要执行此步骤:克隆仓库:
切换到发布标签并使用 Docker Compose 启动服务器:
进入仓库中的 Docker 部署目录。
切换到
v1.0.0-rc2发布标签。在启动 RAGFlow 服务及其依赖服务。
默认 MySQL 配置下,镜像入口会先执行数据库迁移,再启动 Admin、Syncer、Ingestor 和 API 等服务。
服务器启动成功后再次确认服务器状态:
使用
docker ps检查依赖服务状态;依赖服务显示healthy且 RAGFlow 容器持续运行后,通过 HTTP 接口判断 RAGFlow 是否就绪(RAGFlow 容器本身未定义 Compose healthcheck):返回 HTTP 200 后,再访问 Web 页面。如果修改了
SVR_WEB_HTTP_PORT,请将健康检查地址中的端口替换为对应值。如果服务启动异常,再查看对应容器日志:
在你的浏览器中输入你的服务器对应的 IP 地址并登录 RAGFlow。
登录 RAGFlow 后,在模型提供商页面添加 LLM、Embedding 和 Reranker,并填写对应的模型名称、服务地址和 API key。
好戏开始,接着奏乐接着舞!
详情请见 快速入门指南。
⚙️ Docker 配置与调整
Docker 部署使用
docker/.env和docker/docker-compose.yml。镜像、端口、密码、文档引擎及模型镜像源请按Docker 配置说明修改;平台支持(注意:macOS 暂不受支持)请参阅Go Docker 镜像构建与平台支持指南。源码构建 Docker 镜像请参阅Go Docker 镜像构建与平台支持指南。切换文档引擎、修改配置后重启服务,以及保留或清理已有数据的操作,也请按照上述 Docker 配置文档执行。
🔨 以源代码启动
📝 源码启动前提条件
克隆仓库,并安装
go.mod中指定版本的 Go 编译器(当前为 Go 1.27)、Clang 20、LLD 20、CMake ≥ 4.0、PCRE2 开发文件 CGO 依赖的静态库;build.sh 会设置所需的构建参数。运行依赖下载脚本,准备 Go 构建所需链接的原生静态库(
download_dev_deps.py)与后端运行时加载的模型/分词器资源(download_deps.py):download_dev_deps.py拉取并解压 pdfium、pdf_oxide、office_oxide、onnxruntime 等到~/ragflow-native-libs;download_deps.py拉取 cl100k 词表、DeepDoc 模型与 embedding 分词器资源到deps/。两个脚本均为 Python 脚本,uv run会自动安装其声明的依赖(requests,模型与分词器下载还需huggingface-hub)。如果已通过其他方式准备好相同资源,可跳过这一步。Go 服务从仓库根目录启动时会自动查找internal/rag/res/deepdoc;如需从其他目录启动,请将DEEPDOC_MODEL_DIR设为该目录的绝对路径。编译:
启动本地依赖服务,并确认 conf/service_conf.yaml 中的主机与端口对应宿主机可访问的地址。如果使用 Elasticsearch,还需先将 Docker 主机的
vm.max_map_count设为至少262144。数据迁移:
启动 4 个终端分别启动 4 个服务:
终端 1:启动 Admin,监听端口
9381。终端 3:启动 Syncer。
终端 4:启动 API,监听端口
9380。各启动参数的作用如下:
--migrate:执行数据库迁移,完成后即可退出。--admin:启动 Admin 服务,负责管理和初始化操作。--ingestor:启动 Ingestor 服务,负责数据摄取和解析任务。--syncer:启动 Syncer 服务,负责外部数据源的数据同步任务。--api:启动 API 服务,为 Web 和 SDK 提供 API 接口。仅在前端开发时安装 Node.js 和 npm,然后启动 React 前端:
服务启动后,运行下面命令来确认 API 服务已就绪:
返回 HTTP 200 表示 API 可以正常响应。前端 和 DeepDoc 的完整验证步骤请参阅从源代码启动服务。
详情请见 从源代码启动服务。
📚 技术文档
📜 路线图
详见 RAGFlow Roadmap 2026 。
🏄 开源社区
🙌 贡献指南
RAGFlow 只有通过开源协作才能蓬勃发展。秉持这一精神,我们欢迎来自社区的各种贡献。如果您有意参与其中,请查阅我们的贡献者指南。
🤝 商务合作
👥 加入社区
扫二维码添加 RAGFlow 小助手,进 RAGFlow 交流群。