Files
ragflow/README_zh.md
T
2026-10-09 16:09:28 +08:00

16 KiB
Raw Blame History

README in English 简体中文版自述文件 繁體版中文自述文件 日本語のREADME 한국어 README en Français Bahasa Indonesia Português(Brasil) README in Arabic Türkçe README Русская версия README

follow on X(Twitter) Static Badge RAGFlow Docker image downloads Latest Release license

Cloud | Document | Roadmap | Discord

RAGFlow in the GitHub Octoverse
infiniflow%2Fragflow | Trendshift
📕 目录

💡 RAGFlow 是什么?

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,通过融合前沿的 RAG 技术与 Agent 能力,为大型语言模型提供卓越的上下文层。它提供可适配任意规模企业的端到端 RAG 工作流,凭借融合式上下文引擎与预置的 Agent 模板,助力开发者以极致效率与精度将复杂数据转化为高可信、生产级的人工智能系统。

🎮 快速开始

请登录网址 https://cloud.ragflow.io 体验云服务。

如果想在本地部署,请参阅本地部署。

Chunking demonstration Agentic workflow demonstration

🔥 近期更新

  • 2026-09-30 发布 RAGFlow 1.0.0-rc1。
  • 2026-09-10 支持通过 Sitemap 接入网站内容。
  • 2026-08-19 推出知识编译,支持在文档级和知识库级生成 Wiki、Graph、Tree、PageIndex、Mind Map、Timeline 及 Skills。
  • 2026-08-19 推出 Agentic RAG,支持 Low、Medium、High、Ultra 四种思考模式。
  • 2026-07-02 支持 Google BigQuery 数据源接入与增量同步。

更多更新请参阅完整发布记录。

🎉 关注项目

⭐️ 点击右上角的 Star 关注 RAGFlow,可以获取最新发布的实时通知!🌟

RAGFlow feature updates

🌟 主要功能

🍭 "Quality in, quality out"

  • 基于深度文档理解,能够从各类复杂格式的非结构化数据中提取真知灼见。
  • 真正在无限上下文(token)的场景下快速完成大海捞针测试。

🍱 基于模板的文本切片

  • 不仅仅是智能,更重要的是可控可解释。
  • 多种文本模板可供选择。

🧩 知识编译(Knowledge Compilation)

  • 支持文档级和知识库级编译,将原始内容组织为结构化的知识产物。
  • 通过编译模板生成 Wiki、Graph、Tree、PageIndex、Mind Map、Timeline 及 Skills,满足不同的知识组织和复用需求。
  • 支持配置编译模型与处理规则,并查看、更新和重新生成知识产物。

🧠 Agentic Retrieval

  • 面向复杂问题进行多步检索:模型会分析问题,并在需要时执行问题拆解、知识检索和证据核验。
  • 通过多轮检索与推理获取更完整的上下文,帮助生成有依据的回答。
  • 支持 Low、Medium、High、Ultra 思考模式,可按问题复杂度控制检索和推理深度。

🌱 有理有据、最大程度降低幻觉(hallucination)

  • 文本切片过程可视化,支持手动调整。
  • 有理有据:答案提供关键引用的快照并支持追根溯源。

🍔 兼容各类异构数据源

  • 支持丰富的文件类型,包括 Word 文档、PPT、Excel 表格、TXT 文件、图片、PDF、影印件、复印件、结构化数据、网页等。

🛀 全程无忧、自动化的 RAG 工作流

  • 自动化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。
  • 大语言模型 LLM 以及向量模型均支持配置。
  • 基于多路召回、融合重排序。
  • 提供易用的 API,可以轻松集成到各类企业系统。

🔎 系统架构

RAGFlow system architecture

🏠 本地部署

本地部署提供 Docker 部署和源码启动两种方式:Docker 适合快速体验、集成测试和生产部署;源码启动适合 RAGFlow 开发和调试。Docker 部署无需安装 Go 编译器,源码启动需要安装 go.mod 指定版本的 Go 编译器;前端开发还需要 Node.js 和 npm。

🐳 Docker 部署

📝 Docker 部署前提条件

  • 建议起步配置:4 核 CPU、16 GB 内存和 50 GB 可用磁盘。实际资源需求取决于文档引擎、数据规模、解析任务和并发量;启用本地模型或其他额外组件时,请同时满足相应组件的资源要求。
  • Docker ≥ 24.0.0,Docker Compose ≥ v2.26.1。

⚠️ 提示: 如果你尚未在本机安装 Docker(Windows、macOS 或 Linux),可以参考 Install Docker Engine 自行安装。

🚀 启动服务器

  1. 如果使用 Elasticsearch,将 Docker 宿主机的 vm.max_map_count 设置为至少 262144。使用 Infinity 时则不需要执行此步骤:

    如需确认 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
    
  2. 克隆仓库:

    git clone https://github.com/infiniflow/ragflow.git
    
  3. 切换到发布标签并使用 Docker Compose 启动服务器:

    进入仓库中的 Docker 部署目录。

    cd ragflow/docker
    

    切换到 v1.0.0-rc1 发布标签。

    git checkout v1.0.0-rc1
    

    在启动 RAGFlow 服务及其依赖服务。

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

    💡 镜像下载提示: 如果无法从默认仓库拉取镜像,请先在 docker/.env 中将 RAGFLOW_IMAGE 设置为以下镜像源之一,并保留 v1.0.0-rc1 标签:

    • 华为云:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v1.0.0-rc1
    • 阿里云:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v1.0.0-rc1

    默认 MySQL 配置下,镜像入口会先执行数据库迁移,再启动 Admin、Syncer、Ingestor 和 API 等服务。

    RAGFlow 开源版 1.0 的 DeepDoc 版面分析、OCR 和表格识别使用 CPU 推理。

  4. 服务器启动成功后再次确认服务器状态:

    使用 docker ps 检查依赖服务状态;依赖服务显示 healthy 且 RAGFlow 容器持续运行后,通过 HTTP 接口判断 RAGFlow 是否就绪(RAGFlow 容器本身未定义 Compose healthcheck):

    curl -f http://localhost/api/v1/system/healthz
    

    返回 HTTP 200 后,再访问 Web 页面。如果修改了 SVR_WEB_HTTP_PORT,请将健康检查地址中的端口替换为对应值。

    如果服务启动异常,再查看对应容器日志:

    docker logs --tail 50 ragflow-cpu
    
  5. 在你的浏览器中输入你的服务器对应的 IP 地址并登录 RAGFlow。

    上面这个例子中,您只需输入 http://IP_OF_YOUR_MACHINE 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。

  6. 登录 RAGFlow 后,在模型提供商页面添加 LLM、Embedding 和 Reranker,并填写对应的模型名称、服务地址和 API key。

    详见 llm_api_key_setup。

    好戏开始,接着奏乐接着舞!

详情请见 快速入门指南。

⚙️ Docker 配置与调整

Docker 部署使用 docker/.env 和 docker/docker-compose.yml。镜像、端口、密码、文档引擎及模型镜像源请按Docker 配置说明修改;平台支持(注意:macOS 暂不受支持)请参阅Go Docker 镜像构建与平台支持指南。源码构建 Docker 镜像请参阅Go Docker 镜像构建与平台支持指南。

切换文档引擎、修改配置后重启服务,以及保留或清理已有数据的操作,也请按照上述 Docker 配置文档执行。

🔨 以源代码启动

📝 源码启动前提条件

  1. 克隆仓库,并安装 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
    
  2. 运行 依赖下载脚本 下载静态库和模型文件:

    python3 -m venv /tmp/ragflow-go-download-venv
    /tmp/ragflow-go-download-venv/bin/python -m pip install requests huggingface-hub
    /tmp/ragflow-go-download-venv/bin/python ragflow_deps/download_deps.py
    ./build.sh --all
    

    下载脚本准备构建所需的静态库和模型资源,并需要 requests 和 huggingface-hub。如果已通过其他方式准备好相同资源,可跳过这一步。Go 服务从仓库根目录启动时会自动查找 internal/rag/res/deepdoc;如需从其他目录启动,请将 DEEPDOC_MODEL_DIR 设为该目录的绝对路径。

  3. 编译:

    ./build.sh --all
    
  4. 启动本地依赖服务,并确认 conf/service_conf.yaml 中的主机与端口对应宿主机可访问的地址。如果使用 Elasticsearch,还需先将 Docker 主机的 vm.max_map_count 设为至少 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
    
  5. 数据迁移:

    ./bin/ragflow_server --migrate
    
  6. 启动 4 个终端分别启动 4 个服务:

    终端 1:启动 Admin,监听端口 9381。

    ./bin/ragflow_server --admin
    
    ./bin/ragflow_server --ingestor
    

    终端 3:启动 Syncer。

    ./bin/ragflow_server --syncer
    

    终端 4:启动 API,监听端口 9380。

    ./bin/ragflow_server --api
    

    各启动参数的作用如下:

    • --migrate:执行数据库迁移,完成后即可退出。
    • --admin:启动 Admin 服务,负责管理和初始化操作。
    • --ingestor:启动 Ingestor 服务,负责数据摄取和解析任务。
    • --syncer:启动 Syncer 服务,负责外部数据源的数据同步任务。
    • --api:启动 API 服务,为 Web 和 SDK 提供 API 接口。
  7. 仅在前端开发时安装 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 交流群。

RAGFlow assistant QR code