OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  代码  ›  RAGFlow — 基于深度文档理解的 RAG 引擎

RAGFlow — 基于深度文档理解的 RAG 引擎

 
  openclaw ·  2026-02-28 12:25:00 · 98 次点击  · 0 条评论  

README in English 简体中文版自述文件 繁體版中文自述文件 日本語のREADME 한국어 Bahasa Indonesia Português(Brasil) README en Français README in Arabic

follow on X(Twitter) Static Badge docker pull infiniflow/ragflow:v0.24.0 Latest Release license Ask DeepWiki

文档 | 路线图 | Twitter | Discord | 在线演示

infiniflow%2Fragflow | Trendshift
📕 目录 - 💡 [什么是 RAGFlow?](#-什么是-ragflow) - 🎮 [演示](#-演示) - 📌 [最新更新](#-最新更新) - 🌟 [核心特性](#-核心特性) - 🔎 [系统架构](#-系统架构) - 🎬 [快速开始](#-快速开始) - 🔧 [配置](#-配置) - 🔧 [构建 Docker 镜像](#-构建-docker-镜像) - 🔨 [从源码启动服务进行开发](#-从源码启动服务进行开发) - 📚 [文档](#-文档) - 📜 [路线图](#-路线图) - 🏄 [社区](#-社区) - 🙌 [贡献](#-贡献)

💡 什么是 RAGFlow?

RAGFlow 是一个领先的开源检索增强生成 (RAG) 引擎,它将前沿的 RAG 技术与智能体(Agent)能力融合,为大型语言模型(LLM)构建了卓越的上下文层。它提供了一个可适应任何规模企业的精简 RAG 工作流。凭借其融合的上下文引擎和预构建的智能体模板,RAGFlow 使开发者能够以极高的效率和精度,将复杂数据转化为高保真、生产就绪的 AI 系统。

🎮 演示

访问 https://demo.ragflow.io 体验我们的在线演示。

🔥 最新更新

  • 2025-12-26 支持 AI 智能体的“记忆”功能。
  • 2025-11-19 支持 Gemini 3 Pro。
  • 2025-11-12 支持从 Confluence、S3、Notion、Discord、Google Drive 同步数据。
  • 2025-10-23 支持使用 MinerU 和 Docling 作为文档解析方法。
  • 2025-10-15 支持可编排的文档摄取管道。
  • 2025-08-08 支持 OpenAI 最新的 GPT-5 系列模型。
  • 2025-08-01 支持智能体工作流和 MCP。
  • 2025-05-23 为智能体添加了 Python/JavaScript 代码执行器组件。
  • 2025-05-05 支持跨语言查询。
  • 2025-03-19 支持使用多模态模型理解 PDF 或 DOCX 文件中的图像。

🎉 敬请期待

⭐️ 为我们的仓库点个星标,以便及时了解激动人心的新功能和改进!获取新版本发布的即时通知!🌟

🌟 核心特性

🍭 “优质输入,优质输出”

  • 基于深度文档理解,从格式复杂的非结构化数据中提取知识。
  • 能够在海量数据(理论上无限令牌数)中精准定位“关键信息”。

🍱 基于模板的文本分块

  • 智能且可解释。
  • 提供丰富的模板选项供选择。

🌱 基于引用的回答,减少幻觉

  • 文本分块过程可视化,支持人工干预。
  • 快速查看关键引用来源,提供可追溯的引用,确保回答有据可依。

🍔 兼容异构数据源

  • 支持 Word、幻灯片、Excel、TXT、图像、扫描件、结构化数据、网页等多种格式。

🛀 自动化、低门槛的 RAG 工作流

  • 为个人用户和大型企业量身定制的精简 RAG 编排流程。
  • 可配置的 LLM 和嵌入模型。
  • 多重召回与融合重排序相结合。
  • 直观的 API,便于与企业业务无缝集成。

🔎 系统架构

🎬 快速开始

📝 先决条件

  • CPU >= 4 核
  • 内存 >= 16 GB
  • 磁盘空间 >= 50 GB
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1
  • gVisor:仅当您打算使用 RAGFlow 的代码执行器(沙箱)功能时需要。

[!TIP]
如果您尚未在本地机器(Windows、Mac 或 Linux)上安装 Docker,请参阅 安装 Docker Engine

🚀 启动服务器

  1. 确保 vm.max_map_count >= 262144:

检查 vm.max_map_count 的值:

bash $ sysctl vm.max_map_count

如果值小于 262144,请将其重置为至少 262144。

```bash

在此示例中,我们将其设置为 262144:

$ sudo sysctl -w vm.max_map_count=262144
```

此更改在系统重启后会失效。要使其永久生效,请在 /etc/sysctl.conf 中添加或更新 vm.max_map_count 的值:

bash vm.max_map_count=262144

  1. 克隆仓库:

bash $ git clone https://github.com/infiniflow/ragflow.git
3. 使用预构建的 Docker 镜像启动服务器:

[!CAUTION]
所有 Docker 镜像均为 x86 平台构建。我们目前不提供 ARM64 平台的 Docker 镜像。
如果您使用的是 ARM64 平台,请按照 此指南 构建与您系统兼容的 Docker 镜像。

以下命令将下载 v0.24.0 版本的 RAGFlow Docker 镜像。下表描述了不同 RAGFlow 版本的区别。要下载 v0.24.0 以外的版本,请在使用 docker compose 启动服务器前,在 docker/.env 文件中相应更新 RAGFLOW_IMAGE 变量。

   $ cd ragflow/docker

   # git checkout v0.24.0
   # 可选:使用一个稳定的标签(参见发布版本:https://github.com/infiniflow/ragflow/releases)
   # 此步骤确保代码中的 **entrypoint.sh** 文件与 Docker 镜像版本匹配。

   # 使用 CPU 处理 DeepDoc 任务:
   $ docker compose -f docker-compose.yml up -d

   # 要使用 GPU 加速 DeepDoc 任务:
   # sed -i '1i DEVICE=gpu' .env
   # docker compose -f docker-compose.yml up -d

注意:在 v0.22.0 之前,我们同时提供包含嵌入模型的镜像和不包含嵌入模型的精简镜像。详情如下:

RAGFlow 镜像标签 镜像大小 (GB) 包含嵌入模型? 稳定性
v0.21.1 约 9 ✔️ 稳定版本
v0.21.1-slim 约 2 稳定版本

v0.22.0 开始,我们只发布精简版,并且镜像标签不再附加 -slim 后缀。

  1. 服务器启动并运行后,检查其状态:

bash $ docker logs -f docker-ragflow-cpu-1

出现以下输出表明系统已成功启动:

```bash

     ____   ___    ______ ______ __
    / __ \ /   |  / ____// ____// /____  _      __
   / /_/ // /| | / / __ / /_   / // __ \| | /| / /
  / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ /
 /_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/

* Running on all addresses (0.0.0.0)

```

如果您跳过此确认步骤直接登录 RAGFlow,浏览器可能会提示 network abnormal 错误,因为此时您的 RAGFlow 可能尚未完全初始化。

  1. 在您的网页浏览器中,输入服务器的 IP 地址登录 RAGFlow。

使用默认设置时,您只需输入 http://您的机器IP无需端口号),因为默认 HTTP 服务端口 80 在使用默认配置时可以省略。

  1. service_conf.yaml.template 中,在 user_default_llm 中选择所需的 LLM 供应商,并在 API_KEY 字段中填入相应的 API 密钥。

更多信息请参阅 llm_api_key_setup

现在可以开始使用了!

🔧 配置

关于系统配置,您需要管理以下文件:

  • .env:保存系统的基本设置,例如 SVR_HTTP_PORTMYSQL_PASSWORDMINIO_PASSWORD
  • service_conf.yaml.template:配置后端服务。Docker 容器启动时,此文件中的环境变量会自动填充。Docker 容器内设置的任何环境变量都可供使用,允许您根据部署环境自定义服务行为。
  • docker-compose.yml:系统依赖此文件启动。

./docker/README 文件详细描述了环境设置和服务配置,这些配置可以在 service_conf.yaml.template 文件中作为 ${ENV_VARS} 使用。

要更改默认的 HTTP 服务端口(80),请前往 docker-compose.yml,将 80:80 改为 <您的服务端口>:80

对上述配置的更新需要重启所有容器才能生效:

bash $ docker compose -f docker-compose.yml up -d

将文档引擎从 Elasticsearch 切换到 Infinity

RAGFlow 默认使用 Elasticsearch 存储全文和向量。要切换到 Infinity,请按照以下步骤操作:

  1. 停止所有正在运行的容器:

bash $ docker compose -f docker/docker-compose.yml down -v

[!WARNING]
-v 将删除 Docker 容器卷,现有数据将被清除。

  1. docker/.env 中将 DOC_ENGINE 设置为 infinity
  2. 启动容器:

bash $ docker compose -f docker-compose.yml up -d

[!WARNING]
在 Linux/arm64 机器上切换到 Infinity 尚未得到官方支持。

🔧 构建 Docker 镜像

此镜像大小约为 2 GB,依赖外部的 LLM 和嵌入服务。

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .

或者,如果您在代理后面,可以传递代理参数:

docker build --platform linux/amd64 \
  --build-arg http_proxy=http://YOUR_PROXY:PORT \
  --build-arg https_proxy=http://YOUR_PROXY:PORT \
  -f Dockerfile -t infiniflow/ragflow:nightly .

🔨 从源码启动服务进行开发

  1. 安装 uvpre-commit,如果已安装可跳过此步:

bash pipx install uv pre-commit
2. 克隆源代码并安装 Python 依赖:

bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ uv sync --python 3.12 # 安装 RAGFlow 依赖的 Python 模块 uv run download_deps.py pre-commit install
3. 使用 Docker Compose 启动依赖服务(MinIO、Elasticsearch、Redis 和 MySQL):

bash docker compose -f docker/docker-compose-base.yml up -d

/etc/hosts 中添加以下行,将 docker/.env 中指定的所有主机名解析到 `127.

98 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor