ragflow

infiniflowApache-2.0活跃维护

面向智能体的 RAG 检索引擎,把文档解析、知识编译和上下文管理整合成一套基础设施,帮 Agent 稳定拿到高质量检索结果。

RAGFlow is an agent-native database: a Retrieval-Augmented Generation (RAG) engine that grew into context infrastructure.

v1.0.0发布于 2026-11-06 12:31 UTC93,947star +240 / 7 天11,289fork同步于 2026-11-10 11:18 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
git checkout v1.0.0
docker compose -f docker-compose.yml up -d
硬件要求按 README 说明

Docker 部署推荐起步 4 核 CPU、16 GB 内存、50 GB 可用磁盘,实际需求取决于文档引擎、数据量与并发;README 未说明 GPU 显存要求,1.0 开源版 DeepDoc 的版面分析、OCR 与表格识别使用 CPU 推理。

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源 RAG 引擎,融合 Agent 能力,把复杂文档变成可溯源的高保真上下文层

面向智能体的 RAG 检索引擎,把文档解析、知识编译和上下文管理整合成一套基础设施,帮 Agent 稳定拿到高质量检索结果。

核心能力

  • 基于深度文档理解从复杂格式非结构化数据抽取知识
  • 模板化分块,可视化切块并支持人工干预
  • 知识编译生成 Wiki、图谱、树、思维导图等结构化产物
  • Agentic 检索支持多步拆解、多轮检索与证据校验
  • 兼容 Word、PPT、Excel、PDF、扫描件、网页等异构数据源

容易踩的坑

使用 Elasticsearch 时需把宿主机 vm.max_map_count 调到至少 262144,用 Infinity 一般不需要;启动后要自行用 curl http://localhost/api/v1/system/healthz 返回 200 判断就绪,容器本身没有 Compose 健康检查;登录后还需在模型供应商页面自行配置 LLM、embedding 和 reranker 的模型名、服务地址与 API key;README 注明当前不支持 macOS。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.0.0
  1. v1.0.0最新正式版2026-11-06 · 2026-11-06 12:31 UTC

    After three release candidates, we are pleased to announce the official release of RAGFlow 1.0, now ready for production. Built on a complete rewrite in Go, this release significantly reduces deployment and runtime overhead and introduces an all-new Agentic Chat experience. We encourage all users to upgrade for improved stability, performance, and question answering.

    Highlights

    • Rewritten in Go for lighter deployment: Docker images are approximately 10× smaller, and startup is approximately 10× faster.
    • Approximately 100× greater concurrency, with substantial improvements in query latency, memory usage, and document parsing speed.
    • All-new Agentic Chat: Enables multi-step reasoning and answers to complex questions through iterative retrieval, tool calls, and evidence sufficiency assessment.

    Chat and Agents

    • Added Agentic Chat mode, replacing the previous Low, Medium, High, and Ultra thinking levels.
    • Introduced the Jev decision model into the agent tool-calling loop to determine whether the available evidence is sufficient to answer a question.
    • Added support for the Jev decision model in the Categorize agent component.
    • Added storage and display of prompts, token usage, and execution time in chat history.

    Document Ingestion and Retrieval

    • Unified the 12 built-in document parsers with the pipeline parsers.
    • Added support for multiple ingestion pipeline DSL versions.

    Architecture and Deployment

    • Migrated the message queue from Redis to NATS.
    • Adopted Kvrocks for cache and checkpoint storage.
    • Added Docker images for the arm64 architecture.
    • Reimplemented the RAGFlow CLI in Go.

    Stability

    • Fixed multiple critical bugs reported by the community and issues identified during the release candidate phase, further improving runtime stability.

    Benchmarks

    • Achieved 91% accuracy on the FRAMES multi-hop question-answering benchmark using RAGFlow Agentic Chat with MiniMax M3.

    Upgrading

    • From v1.0.0-rc1, rc2, or rc3: Existing data is fully compatible. You can upgrade directly.
    • From v0.27.2: You can upgrade directly to v1.0.0. Data migration runs automatically when the RAGFlow Docker container starts.
    • From versions earlier than v0.27.2: Follow the migration guide to complete the required intermediate upgrades before upgrading to v1.0.0.
    • Back up all data before upgrading. Data migration from v0.27.2 to v1.0.0 is irreversible. If migration fails, restore the complete pre-upgrade backup before trying again.

    Compatibility and Limitations

    • Deprecated API aliases are no longer supported.
    • The Python SDK is unaffected.
    • DeepDoc currently supports CPU environments only.

    Relative references

    What's Changed

  2. v1.0.0-rc32026-10-30 · 2026-10-30 11:53 UTC
    查看更新说明

    1.0.0-rc3 is the third and final release candidate before the official v1.0.0 release. It fixes several issues found in rc2 and introduces new features and enhancements.

    Key updates:

    1. Introduced the decision model for evidence sufficiency judgment within the agentic tool loop, and the Categorize component for agents.
    2. Added support for multiple versions of ingestion pipeline DSL.
    3. Chat history now stores and displays prompts, token usage, and execution time.
    4. Compatible with existing v1.0.0-rc2 schema, allowing a direct upgrade.

    What's Changed

  3. v0.27.32026-10-23 · 2026-10-23 06:34 UTC
    查看更新说明

    What's Changed

  4. v1.0.0-rc22026-10-16 · 2026-10-16 09:49 UTC
    查看更新说明

    1.0.0-rc2 is the second release candidate for v1.0.0. This release fixes several issues in rc1 and introduces new features and expanded support.

    Highlights

    1. Introduced Agentic mode for chat, replacing the Low, Medium, High, and Ultra thinking levels.
    2. Preserved compatibility with existing v1.0.0-rc1 data, allowing direct upgrades.
    3. Added support for Team/Me sharing.
    4. Added support for model providers DemonRoute and Opper, web search tools Firecrawl and Search1API, and the MinerU 4 model.
    5. Added retrieval support for Czech and Slovak.
    6. Unified the 12 built-in document parsers with the Pipeline parsers.
    7. Added Docker images for the arm64 architecture.

    What's Changed

  5. nightlypre-release2025-12-01 · 2025-12-01 13:17 UTC
    查看更新说明

    Release nightly created from ed5a84fee9abc8091aea111d1195cf7768541ff1 at 2026-11-09 13:17:33+00:00

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    💡 What is RAGFlow?

    RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs. It offers a streamlined RAG workflow adaptable to enterprises of any scale. Powered by a converged context engine and pre-built agent templates, RAGFlow enables developers to transform complex data into high-fidelity, production-ready AI systems with exceptional efficiency and precision.

    🎮 Get Started

    Try our cloud service at https://cloud.ragflow.io.

    For local deployment, see Local Deployment.

    🔥 Latest Updates

    • 2026-09-29 RAGFlow 1.0.0-rc1 released.
    • 2026-09-10 Added website content ingestion through sitemaps.
    • 2026-08-19 Introduced Knowledge Compilation to generate Wikis, Graphs, Trees, PageIndex, Mind Maps, Timelines, and Skills at the document and dataset levels.
    • 2026-08-19 Introduced Agentic RAG with Low, Medium, High, and Ultra thinking modes.
    • 2026-07-02 Added Google BigQuery data source ingestion and incremental synchronization.

    See the full release notes for more updates.

    🌟 Key Features

    🍭 "Quality in, quality out"

    • Deep document understanding-based knowledge extraction from unstructured data with complicated formats.
    • Finds "needle in a data haystack" of literally unlimited tokens.

    🍱 Template-based chunking

    • Intelligent and explainable.
    • Plenty of template options to choose from.

    🧩 Knowledge Compilation

    • Compile content at the document and dataset levels into structured knowledge artifacts.
    • Use compilation templates to generate Wikis, Graphs, Trees, PageIndex, Mind Maps, Timelines, and Skills for different knowledge organization and reuse needs.
    • Configure compilation models and processing rules, and view, update, and regenerate knowledge artifacts.

    🧠 Agentic Retrieval

    • Perform multi-step retrieval for complex questions: the model analyzes the question and, when needed, breaks it down, retrieves knowledge, and verifies evidence.
    • Gather more complete context through multiple rounds of retrieval and reasoning to help generate well-grounded answers.
    • Choose Low, Medium, High, or Ultra thinking modes to control retrieval and reasoning depth according to question complexity.

    🌱 Grounded citations with reduced hallucinations

    • Visualization of text chunking to allow human intervention.
    • Quick view of the key references and traceable citations to support grounded answers.

    🍔 Compatibility with heterogeneous data sources

    • Supports Word documents, PowerPoint presentations, Excel spreadsheets, TXT files, images, PDFs, scanned copies, structured data, web pages, and more.

    🛀 Automated and effortless RAG workflow

    • Streamlined RAG orchestration catered to both personal and large businesses.
    • Configurable LLMs as well as embedding models.
    • Multiple recall paired with fused re-ranking.
    • Intuitive APIs for seamless integration with business.

    🔎 System Architecture

    🏠 Local Deployment

    Local deployment supports both Docker deployment and launching from source. Docker is suitable for quick evaluation, integration testing, and production deployment, while launching from source is intended for RAGFlow development and debugging. Docker deployment does not require a Go compiler. Launching from source requires the Go version specified in go.mod; frontend development additionally requires Node.js and npm.

    🐳 Docker Deployment

    📝 Docker Deployment Prerequisites
    • Recommended starting configuration: 4 CPU cores, 16 GB RAM, and 50 GB of available disk space. Actual requirements depend on the document engine, data volume, parsing tasks, and concurrency. Local models and other optional components may require additional resources.
    • Docker ≥ 24.0.0, Docker Compose ≥ v2.26.1.

    [!TIP] If you have not installed Docker on your local machine (Windows, macOS, or Linux), see Install Docker Engine.

    🚀 Start up the server
    1. If using Elasticsearch, set vm.max_map_count on the Docker host to at least 262144. This step is usually unnecessary with Infinity:

      To check the value of vm.max_map_count:

      sysctl vm.max_map_count
      

      If you use Elasticsearch and the value is below 262144, reset it:

      # In this case, we set it to 262144:
      sudo sysctl -w vm.max_map_count=262144
      

      This change will be reset after a system reboot. To ensure your change remains permanent, add or update the vm.max_map_count value in /etc/sysctl.conf accordingly:

      vm.max_map_count=262144
      
    2. Clone the repository:

      git clone https://github.com/infiniflow/ragflow.git
      
    3. Check out the release tag and start the server with Docker Compose:

      Enter the Docker deployment directory.

      cd ragflow/docker
      

      Check out the v1.0.0 release tag.

      git checkout v1.0.0
      

      Start the RAGFlow services and their dependencies.

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

      With the default MySQL configuration, the image entrypoint runs database migrations before starting Admin, Syncer, Ingestor, API, and other services.

      In the RAGFlow open-source 1.0 release, DeepDoc uses CPU inference for layout analysis, OCR, and table recognition.

    4. Check the server status after startup:

      Use docker ps to check the dependency services. After the dependencies show healthy and the RAGFlow container remains running, use the HTTP endpoint to determine whether RAGFlow is ready. The RAGFlow container itself does not define a Compose healthcheck.

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

      After receiving an HTTP 200 response, open the Web UI. If you changed SVR_WEB_HTTP_PORT, replace the port in the health-check URL accordingly.

      If startup fails, inspect the container logs:

      docker logs --tail 50 ragflow-cpu
      
    5. In your web browser, enter the IP address of your server and log in to RAGFlow.

      With the default settings, you only need to enter http://IP_OF_YOUR_MACHINE (without port number), because the default HTTP serving port 80 can be omitted when using the default configuration.

    6. After signing in, add an LLM, embedding, and reranker on the model provider page, including the model name, service address, and API key.

      For details, see llm_api_key_setup.

      The show is on!

    See the Quickstart guide for details.

    ⚙️ Docker Configuration and Adjustment

    Docker deployment uses docker/.env and docker/docker-compose.yml. Configure the image, ports, passwords, document engine, and model image source as described in the Docker configuration guide. For platform support (note that macOS is not currently supported), see the Go Docker image build and platform support guide. To build the Docker image from source, see the Go Docker image build and platform support guide.

    For document-engine changes, configuration updates, restarting services, and retaining or removing existing data, follow the Docker configuration guide.

    🔨 Launch from Source

    📝 Source Build Prerequisites
    1. Clone the repository and install the Go version specified in go.mod (currently Go 1.27), Clang 20, LLD 20, CMake ≥ 4.0, and PCRE2 development files. Go services depend on CGO and native static libraries; build.sh sets the required build parameters.

      git clone https://github.com/infiniflow/ragflow.git
      cd ragflow
      
    2. Run the dependency download script once to prepare everything the local Go server needs to build, run, parse documents and count tokens (download_dev_deps.py fetches the native static libraries and the runtime resources — cl100k vocabulary, DeepDoc .ort weights, embedding tokenizer assets):

      uv run tools/scripts/download_dev_deps.py
      

      This is the local-dev one-stop: after one run the environment is ready, and already-present files are skipped so re-running never re-downloads. The image-facing counterpart deps/download_deps.py fetches the same runtime resources and skips the native .a files — run it only when building the dependency image or in CI, not for local development.

      download_dev_deps.py pulls and unpacks pdfium, pdf_oxide, office_oxide, and onnxruntime under ~/ragflow-native-libs, and writes the cl100k vocabulary, DeepDoc models, and embedding tokenizer assets under deps/. It is a Python script; uv run installs its declared dependencies (requests and huggingface-hub) automatically. Skip this step if you have prepared the same resources by other means. When started from the repository root, Go services automatically find internal/rag/res/deepdoc; to start from another directory, set DEEPDOC_MODEL_DIR to its absolute path.

    3. Build the services:

      ./build.sh --all
      
    4. Start the local dependency services and make sure the hosts and ports in conf/service_conf.yaml point to addresses accessible from the host. If using Elasticsearch, first set vm.max_map_count on the Docker host to at least 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. Migrate the database:

      ./bin/ragflow_server --migrate
      
    6. Start the four services in four separate terminals:

      Terminal 1: start Admin on port 9381.

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

      Terminal 3: start Syncer.

      ./bin/ragflow_server --syncer
      

      Terminal 4: start API on port 9380.

      ./bin/ragflow_server --api
      

      The startup modes work as follows:

      • --migrate: Runs database migrations and exits when complete.
      • --admin: Starts the Admin service for management and initialization operations.
      • --ingestor: Starts the Ingestor service for data ingestion and parsing tasks.
      • --syncer: Starts the Syncer service for external data source synchronization tasks.
      • --api: Starts the API service for the Web UI and SDKs.
    7. Only when developing the frontend, install Node.js and npm, then start the React frontend:

      cd web
      npm install
      

      After the services start, confirm that the API is ready:

      curl -f http://127.0.0.1:9380/api/v1/system/healthz
      

      An HTTP 200 response indicates that the API is responding. See Launch Service from Source for complete frontend and DeepDoc verification steps.

    See Launch Service from Source for details.

    📚 Documentation

    📜 Roadmap

    See the RAGFlow Roadmap 2026.

    🏄 Community

    🙌 Contributing

    RAGFlow flourishes via open-source collaboration. In this spirit, we embrace diverse contributions from the community. If you would like to be a part, review our Contribution Guidelines first.