README_fr.md
</a>
<a href="https://cloud.ragflow.io" target="_blank">
</a>
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
</a>
<a href="https://github.com/infiniflow/ragflow/releases/latest">
</a>
<a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
</a>
<a href="https://deepwiki.com/infiniflow/ragflow">
</a>
RAGFlow est un moteur de RAG (Retrieval-Augmented Generation) open-source de premier plan qui fusionne les technologies RAG de pointe avec des capacités Agent pour créer une couche de contexte supérieure pour les LLM. Il offre un flux de travail RAG rationalisé, adaptable aux entreprises de toute taille. Alimenté par un moteur de contexte convergent et des modèles d'agents préconstruits, RAGFlow permet aux développeurs de transformer des données complexes en systèmes d'IA haute-fidélité, prêts pour la production, avec une efficacité et une précision exceptionnelles.
Essayez notre démo sur https://cloud.ragflow.io.
<div align="center" style="margin-top:20px;margin-bottom:20px;"> </div>⭐️ Mettez une étoile à notre dépôt pour rester informé des nouvelles fonctionnalités et améliorations passionnantes ! Recevez des notifications instantanées pour les nouvelles versions ! 🌟
<div align="center" style="margin-top:20px;margin-bottom:20px;"> </div>[!TIP] Si vous n'avez pas installé Docker sur votre machine locale (Windows, Mac ou Linux), consultez Installer Docker Engine.
Assurez-vous que vm.max_map_count >= 262144 :
Pour vérifier la valeur de
vm.max_map_count:bash$ sysctl vm.max_map_countRéinitialisez
vm.max_map_countà une valeur d'au moins 262144 si ce n'est pas le cas.bash# Dans ce cas, nous le définissons à 262144 : $ sudo sysctl -w vm.max_map_count=262144Ce changement sera réinitialisé après un redémarrage du système. Pour que votre modification reste permanente, ajoutez ou mettez à jour la valeur
vm.max_map_countdans /etc/sysctl.conf :bashvm.max_map_count=262144
Clonez le dépôt :
$ git clone https://github.com/infiniflow/ragflow.git
Démarrez le serveur en utilisant les images Docker préconstruites :
[!CAUTION] Toutes les images Docker sont construites pour les plateformes x86. Nous ne proposons pas actuellement d'images Docker pour ARM64. Si vous êtes sur une plateforme ARM64, suivez ce guide pour construire une image Docker compatible avec votre système.
La commande ci-dessous télécharge l'édition
v0.25.1de l'image Docker RAGFlow. Consultez le tableau suivant pour les descriptions des différentes éditions de RAGFlow. Pour télécharger une édition de RAGFlow différente dev0.25.1, mettez à jour la variableRAGFLOW_IMAGEdans docker/.env avant d'utiliserdocker composepour démarrer le serveur.
$ cd ragflow/docker
# git checkout v0.25.1
# Optionnel : utiliser un tag stable (voir les versions : https://github.com/infiniflow/ragflow/releases)
# Cette étape garantit que le fichier **entrypoint.sh** dans le code correspond à la version de l'image Docker.
# Use CPU for DeepDoc tasks:
$ docker compose -f docker-compose.yml up -d
# To use GPU to accelerate DeepDoc tasks:
# sed -i '1i DEVICE=gpu' .env
# docker compose -f docker-compose.yml up -d
Remarque : Avant
v0.22.0, nous fournissions à la fois des images avec des modèles d'embedding et des images slim sans modèles d'embedding. Détails ci-dessous :
| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? |
|---|---|---|---|
| v0.21.1 | ≈9 | ✔️ | Stable release |
| v0.21.1-slim | ≈2 | ❌ | Stable release |
À partir de
v0.22.0, nous ne distribuons que l'édition slim et ne rajoutons plus le suffixe -slim au tag d'image.
Vérifiez l'état du serveur après son démarrage :
$ docker logs -f docker-ragflow-cpu-1
La sortie suivante confirme un lancement réussi du système :
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
Si vous sautez cette étape de confirmation et vous connectez directement à RAGFlow, votre navigateur peut afficher une erreur
network abnormal, car à ce moment-là, votre RAGFlow peut ne pas être entièrement initialisé.
Dans votre navigateur web, entrez l'adresse IP de votre serveur et connectez-vous à RAGFlow.
Avec les paramètres par défaut, il vous suffit d'entrer
http://IP_OF_YOUR_MACHINE(sans numéro de port), car le port HTTP par défaut80peut être omis lors de l'utilisation des configurations par défaut.
Dans service_conf.yaml.template, sélectionnez la fabrique LLM souhaitée dans user_default_llm et mettez à jour le champ API_KEY avec la clé API correspondante.
Voir llm_api_key_setup pour plus d'informations.
Le spectacle commence !
En ce qui concerne les configurations système, vous devrez gérer les fichiers suivants :
SVR_HTTP_PORT, MYSQL_PASSWORD et MINIO_PASSWORD.Le fichier ./docker/README fournit une description détaillée des paramètres d'environnement et des configurations de services qui peuvent être utilisés comme
${ENV_VARS}dans le fichier service_conf.yaml.template.
Pour mettre à jour le port HTTP de service par défaut (80), accédez à docker-compose.yml et changez 80:80 en <YOUR_SERVING_PORT>:80.
Les mises à jour des configurations ci-dessus nécessitent un redémarrage de tous les conteneurs pour prendre effet :
bash$ docker compose -f docker-compose.yml up -d
RAGFlow utilise Elasticsearch par défaut pour stocker le texte intégral et les vecteurs. Pour passer à Infinity, suivez ces étapes :
Arrêtez tous les conteneurs en cours d'exécution :
$ docker compose -f docker/docker-compose.yml down -v
[!WARNING]
-vsupprimera les volumes des conteneurs Docker, et les données existantes seront effacées.
Définissez DOC_ENGINE dans docker/.env sur infinity.
Démarrez les conteneurs :
$ docker compose -f docker-compose.yml up -d
[!WARNING] Le passage à Infinity sur une machine Linux/arm64 n'est pas encore officiellement pris en charge.
Cette image fait environ 2 Go et dépend de services LLM et d'embedding externes.
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .
Ou si vous êtes derrière un proxy, vous pouvez passer des arguments de proxy :
docker build --platform linux/amd64 \
--build-arg http_proxy=http://YOUR_PROXY:PORT \
--build-arg https_proxy=http://YOUR_PROXY:PORT \
-f Dockerfile -t infiniflow/ragflow:nightly .
Installez uv et pre-commit, ou ignorez cette étape s'ils sont déjà installés :
pipx install uv pre-commit
Clonez le code source et installez les dépendances Python :
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv sync --python 3.12 # install RAGFlow dependent python modules
uv run python3 download_deps.py
pre-commit install
Lancez les services dépendants (MinIO, Elasticsearch, Redis et MySQL) avec Docker Compose :
docker compose -f docker/docker-compose-base.yml up -d
Ajoutez la ligne suivante à /etc/hosts pour résoudre tous les hôtes spécifiés dans docker/.env vers 127.0.0.1 :
127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager
Si vous ne pouvez pas accéder à HuggingFace, définissez la variable d'environnement HF_ENDPOINT pour utiliser un site miroir :
export HF_ENDPOINT=https://hf-mirror.com
Si votre système d'exploitation n'a pas jemalloc, installez-le comme suit :
# Ubuntu
sudo apt-get install libjemalloc-dev
# CentOS
sudo yum install jemalloc
# OpenSUSE
sudo zypper install jemalloc
# macOS
sudo brew install jemalloc
Lancez le service back-end :
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
Installez les dépendances front-end :
cd web
npm install
Lancez le service front-end :
npm run dev
La sortie suivante confirme un lancement réussi du système :
Arrêtez les services front-end et back-end de RAGFlow une fois le développement terminé :
pkill -f "ragflow_server.py|task_executor.py"
Voir la Feuille de route RAGFlow 2026
RAGFlow s'épanouit grâce à la collaboration open-source. Dans cet esprit, nous accueillons des contributions diverses de la communauté. Si vous souhaitez en faire partie, consultez d'abord nos Directives de contribution.