RAGFlow

RAG & Memory 💻 Go ⚖️ Apache-2.0 🟢 Actively maintained
90.1k stars

RAGFlow is an open-source Retrieval-Augmented Generation (RAG) engine that combines RAG with agent capabilities to create a context layer for LLMs. It provides a streamlined RAG workflow for enterprises of any scale, enabling developers to transform complex data into production-ready AI systems. It is designed for developers building AI applications that require accurate, grounded answers from large document collections.

RAGFlow: Free Open Source Generative AI Platform

🎬 RAGFlow: Free Open Source Generative AI Platform · Elestio

RAGFlow demo
🎞️ Demo from the project README

✨ Key features

  • Deep document understanding for knowledge extraction from unstructured data.
  • Template-based chunking with intelligent and explainable options.
  • Grounded citations with reduced hallucinations and traceable references.
  • Compatibility with heterogeneous data sources (Word, PDF, images, etc.).
  • Automated RAG workflow with configurable LLMs and embedding models.
  • Multiple recall paired with fused re-ranking for improved retrieval.

🎯 Use cases

  • Build question-answering systems over enterprise documents.
  • Create AI agents with memory and tool use for complex tasks.
  • Develop chatbots that provide grounded answers with citations.
  • Integrate RAG into existing applications via APIs.
  • Automate document processing and knowledge extraction pipelines.

📦 Installation

🧰 Requirements: Requires CPU >= 4 cores, RAM >= 16 GB, Disk >= 50 GB, Docker >= 24.0.0 & Docker Compose >= v2.26.1, Python >= 3.13 (for source), and optionally gVisor for code executor. An LLM API key is needed for configuration.

Self-Hosting with Docker

  1. Ensure vm.max_map_count >= 262144:
    sudo sysctl -w vm.max_map_count=262144
    
  2. Clone the repo:
    git clone https://github.com/infiniflow/ragflow.git
    
  3. Start the server:
    cd ragflow/docker
    git checkout v0.27.1
    docker compose -f docker-compose.yml up -d
    
    For GPU acceleration, uncomment the DEVICE=gpu line in .env before starting.

Build Docker Image from Source

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

🚀 Usage

After starting the server, open your browser to http://IP_OF_YOUR_MACHINE (default port 80). Configure the LLM in service_conf.yaml.template by setting user_default_llm and API_KEY. Then you can create datasets, upload documents, and chat with your data through the UI or API.

⚠️ Good to know

Docker images are built for x86 platforms only; ARM64 requires building a custom image. Switching to Infinity doc engine on Linux/arm64 is not officially supported.

❓ FAQ

What are the hardware requirements for self-hosting?

You need at least 4 CPU cores, 16 GB RAM, and 50 GB disk space.

Can I run RAGFlow on ARM64?

Pre-built Docker images are only for x86. On ARM64, you must build a Docker image yourself following the guide.

How do I change the default HTTP port?

Edit docker-compose.yml and change the port mapping from '80:80' to '<YOUR_PORT>:80'.

Does RAGFlow support GPU acceleration?

Yes, you can enable GPU by setting DEVICE=gpu in the .env file before starting the server.

📊 Repository

Stars★ 90,093
Forks🍴 10,623
Open issues🐛 1,589
Last commit🕒 Sep 4, 2026
Created📅 Dec 2023
Language💻 Go
License⚖️ Apache-2.0
Websiteragflow.io

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.