RAGFlow
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 · Elestio
✨ 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
- Ensure
vm.max_map_count>= 262144:sudo sysctl -w vm.max_map_count=262144 - Clone the repo:
git clone https://github.com/infiniflow/ragflow.git - Start the server:
For GPU acceleration, uncomment the DEVICE=gpu line in .env before starting.cd ragflow/docker git checkout v0.27.1 docker compose -f docker-compose.yml up -d
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
🤖 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.