|  | vor 2 Monaten | |
|---|---|---|
| .github | vor 2 Monaten | |
| agent | vor 2 Monaten | |
| agentic_reasoning | vor 2 Monaten | |
| api | vor 2 Monaten | |
| conf | vor 2 Monaten | |
| deepdoc | vor 2 Monaten | |
| docker | vor 2 Monaten | |
| docs | vor 2 Monaten | |
| example | vor 11 Monaten | |
| graphrag | vor 2 Monaten | |
| helm | vor 2 Monaten | |
| intergrations | vor 9 Monaten | |
| mcp | vor 2 Monaten | |
| plugin | vor 5 Monaten | |
| rag | vor 2 Monaten | |
| sandbox | vor 3 Monaten | |
| sdk/python | vor 2 Monaten | |
| test | vor 2 Monaten | |
| web | vor 2 Monaten | |
| .gitattributes | vor 6 Monaten | |
| .gitignore | vor 2 Monaten | |
| .pre-commit-config.yaml | vor 6 Monaten | |
| .trivyignore | vor 2 Monaten | |
| Dockerfile | vor 4 Monaten | |
| Dockerfile.deps | vor 10 Monaten | |
| Dockerfile.scratch.oc9 | vor 4 Monaten | |
| LICENSE | vor 1 Jahr | |
| README.md | vor 2 Monaten | |
| README_id.md | vor 2 Monaten | |
| README_ja.md | vor 2 Monaten | |
| README_ko.md | vor 2 Monaten | |
| README_pt_br.md | vor 2 Monaten | |
| README_tzh.md | vor 2 Monaten | |
| README_zh.md | vor 2 Monaten | |
| SECURITY.md | vor 1 Jahr | |
| download_deps.py | vor 3 Monaten | |
| pyproject.toml | vor 2 Monaten | |
| show_env.sh | vor 11 Monaten | |
| uv.lock | vor 2 Monaten | |
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.
Try our demo at https://demo.ragflow.io.
 
 
⭐️ Star our repository to stay up-to-date with exciting new features and improvements! Get instant notifications for new releases! 🌟
[!TIP] If you have not installed Docker on your local machine (Windows, Mac, or Linux), see Install Docker Engine.
vm.max_map_count >= 262144:To check the value of
vm.max_map_count:> $ 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: ```bash $ git clone https://github.com/infiniflow/ragflow.git
[!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.20.3-slimedition of the RAGFlow Docker image. See the following table for descriptions of different RAGFlow editions. To download a RAGFlow edition different fromv0.20.3-slim, update theRAGFLOW_IMAGEvariable accordingly in docker/.env before usingdocker composeto start the server. For example: setRAGFLOW_IMAGE=infiniflow/ragflow:v0.20.3for the full editionv0.20.3.
   $ 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.20.3 | ≈9 | :heavy_check_mark: | Stable release | | v0.20.3-slim | ≈2 | ❌ | Stable release | | nightly | ≈9 | :heavy_check_mark: | Unstable nightly build | | nightly-slim | ≈2 | ❌ | Unstable nightly build |
   $ 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 anormalerror because, at that moment, your RAGFlow may not be fully initialized.
http://IP_OF_YOUR_MACHINE (sans port number) as the default
> HTTP serving port 80 can be omitted when using the default configurations.user_default_llm and update
the API_KEY field with the corresponding API key.See llm_api_key_setup for more information.
The show is on!
When it comes to system configurations, you will need to manage the following files:
SVR_HTTP_PORT, MYSQL_PASSWORD, and
MINIO_PASSWORD.The ./docker/README file provides a detailed description of the environment settings and service configurations which can be used as
${ENV_VARS}in the service_conf.yaml.template file.
To update the default HTTP serving port (80), go to docker-compose.yml and change 80:80
to <YOUR_SERVING_PORT>:80.
Updates to the above configurations require a reboot of all containers to take effect:
> $ docker compose -f docker-compose.yml up -d > ``` ### Switch doc engine from Elasticsearch to Infinity RAGFlow uses Elasticsearch by default for storing full text and vectors. To switch to [Infinity](https://github.com/infiniflow/infinity/), follow these steps: 1. Stop all running containers: ```bash $ docker compose -f docker/docker-compose.yml down -v[!WARNING]
-vwill delete the docker container volumes, and the existing data will be cleared.
Set DOC_ENGINE in docker/.env to infinity.
Start the containers:
   $ docker compose -f docker-compose.yml up -d
[!WARNING] Switching to Infinity on a Linux/arm64 machine is not yet officially supported.
This image is approximately 2 GB in size and relies on external LLM and embedding services.
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
This image is approximately 9 GB in size. As it includes embedding models, it relies on external LLM services only.
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .
   pipx install uv pre-commit
   git clone https://github.com/infiniflow/ragflow.git
   cd ragflow/
   uv sync --python 3.10 --all-extras # install RAGFlow dependent python modules
   uv run download_deps.py
   pre-commit install
   docker compose -f docker/docker-compose-base.yml up -d
Add the following line to /etc/hosts to resolve all hosts specified in docker/.env to 127.0.0.1:
   127.0.0.1       es01 infinity mysql minio redis sandbox-executor-manager
HF_ENDPOINT environment variable to use a mirror site:   export HF_ENDPOINT=https://hf-mirror.com
   # ubuntu
   sudo apt-get install libjemalloc-dev
   # centos
   sudo yum install jemalloc
   source .venv/bin/activate
   export PYTHONPATH=$(pwd)
   bash docker/launch_backend_service.sh
   cd web
   npm install
   npm run dev
The following output confirms a successful launch of the system:
   pkill -f "ragflow_server.py|task_executor.py"
See the RAGFlow Roadmap 2025
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.