ForkSiliconFlowSiliconFlowpublished Jul 3, 2025seen 5d

siliconflow/ragflow

forked from infiniflow/ragflow

Open original ↗

Captured source

source ↗
published Jul 3, 2025seen 5dcaptured 9hhttp 200method plain

siliconflow/ragflow

Description: RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding.

License: Apache-2.0

Stars: 0

Forks: 0

Open issues: 0

Created: 2025-07-03T06:10:13Z

Pushed: 2025-07-03T06:11:37Z

Default branch: main

Fork: yes

Parent repository: infiniflow/ragflow

Archived: no

README:

Document | Roadmap | Twitter | Discord | Demo

#

📕 Table of Contents

  • 💡 [What is RAGFlow?](#-what-is-ragflow)
  • 🎮 [Demo](#-demo)
  • 📌 [Latest Updates](#-latest-updates)
  • 🌟 [Key Features](#-key-features)
  • 🔎 [System Architecture](#-system-architecture)
  • 🎬 [Get Started](#-get-started)
  • 🔧 [Configurations](#-configurations)
  • 🔧 [Build a docker image without embedding models](#-build-a-docker-image-without-embedding-models)
  • 🔧 [Build a docker image including embedding models](#-build-a-docker-image-including-embedding-models)
  • 🔨 [Launch service from source for development](#-launch-service-from-source-for-development)
  • 📚 [Documentation](#-documentation)
  • 📜 [Roadmap](#-roadmap)
  • 🏄 [Community](#-community)
  • 🙌 [Contributing](#-contributing)

💡 What is RAGFlow?

RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models) to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.

🎮 Demo

Try our demo at https://demo.ragflow.io.

🔥 Latest Updates

  • 2025-05-23 Adds a Python/JavaScript code executor component to Agent.
  • 2025-05-05 Supports cross-language query.
  • 2025-03-19 Supports using a multi-modal model to make sense of images within PDF or DOCX files.
  • 2025-02-28 Combined with Internet search (Tavily), supports reasoning like Deep Research for any LLMs.
  • 2024-12-18 Upgrades Document Layout Analysis model in DeepDoc.
  • 2024-08-22 Support text to SQL statements through RAG.

🎉 Stay Tuned

⭐️ Star our repository to stay up-to-date with exciting new features and improvements! Get instant notifications for new releases! 🌟

🌟 Key Features

🍭 "Quality in, quality out"

  • [Deep document understanding](./deepdoc/README.md)-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.

🌱 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, slides, excel, txt, images, 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

🎬 Get Started

📝 Prerequisites

  • CPU >= 4 cores
  • RAM >= 16 GB
  • Disk >= 50 GB
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1
  • gVisor: Required only if you intend to use the code executor (sandbox) feature of RAGFlow.

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

🚀 Start up the server

1. Ensure vm.max_map_count >= 262144:

> To check the value of vm.max_map_count: > > ``bash > $ sysctl vm.max_map_count > > > Reset vm.max_map_count to a value at least 262144 if it is not. > > bash > # 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: > > bash > vm.max_map_count=262144 >

2. Clone the repo:

$ git clone https://github.com/infiniflow/ragflow.git

3. Start up the server using the pre-built Docker images:

> [!CAUTION] > All Docker images are built for x86 platforms. We don't currently offer Docker images for ARM64. > If you are on an ARM64 platform, follow this guide to build a Docker image compatible with your system.

> The command below downloads the v0.19.1-slim edition of the RAGFlow Docker image. See the following table for descriptions of different RAGFlow editions. To download a RAGFlow edition different from v0.19.1-slim, update the RAGFLOW_IMAGE variable accordingly in docker/.env before using docker compose to start the server. For example: set RAGFLOW_IMAGE=infiniflow/ragflow:v0.19.1 for the full edition v0.19.1.

$ cd ragflow/docker
# Use CPU for embedding and DeepDoc tasks:
$ docker compose -f docker-compose.yml up -d

# To use GPU to accelerate embedding and DeepDoc tasks:
# docker compose -f docker-compose-gpu.yml up -d

| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? | |-------------------|-----------------|-----------------------|--------------------------| | v0.19.1 | ≈9 | :heavy_check_mark: | Stable release | | v0.19.1-slim | ≈2 | ❌ | Stable release | | nightly | ≈9 | :heavy_check_mark: | _Unstable_ nightly build | | nightly-slim | ≈2 | ❌ | _Unstable_ nightly build |

4. Check the server status after having the server up and running:

$ docker logs -f ragflow-server

_The following output confirms a successful launch of the system:_

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

* Running on all addresses (0.0.0.0)

> If you skip this confirmation step and directly log in to RAGFlow, your browser may prompt a network anormal > error because, at that moment, your RAGFlow may not be fully initialized.

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…

Excerpt shown — open the source for the full document.

Notability

notability 2.0/10

Routine fork of own repo