Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« RAGFlow » : différence entre les versions

De Le Wiki de Lug
 
(14 versions intermédiaires par le même utilisateur non affichées)
Ligne 26 : Ligne 26 :
  # cd /opt/
  # cd /opt/
  # git clone <nowiki>https://</nowiki>github.com/infiniflow/ragflow.git
  # git clone <nowiki>https://</nowiki>github.com/infiniflow/ragflow.git
# cd /opt/ragflow/docker
* On [[RAGFlow#Exemple_de_configuration|édite la configuration]] si nécessaire :
  # vi .env
* On lance le conteneur :
* On lance le conteneur :
# cd /opt/ragflow/docker
  # docker compose -f docker-compose.yml up -d
  # docker compose -f docker-compose.yml up -d
=== Suppression du bloc <code>ulimits</code> pour usage via LXC ===
=== Suppression du bloc <code>ulimits</code> pour usage via LXC ===
Ligne 41 : Ligne 43 :
On lance le conteneur :
On lance le conteneur :
  # docker compose -f docker-compose.yml up -d
  # docker compose -f docker-compose.yml up -d
=== Configuration ===
==== Supprimer l’enregistrement des utilisateurs ====
# vi /opt/ragflow/docker/.env
<font color = grey>...</font>
REGISTER_ENABLED=<font color = blue>0</font>
<font color = grey>...</font>
On relance les conteneurs :
# cd /opt/ragflow/docker/
# docker compose -f docker-compose.yml up -d
==== Modèles par défaut ====
Via le menu "Fournisseurs de modèles"
[[File:Ragflow modeles.webp|border|Menu de sélection des modèles IA..]]
* <code>Modèle de chat</code> : modèle principal utilisé pour répondre aux questions et générer les réponses finales. C’est le champ le plus important. Sans modèle de chat, RAGFlow ne peut pas produire de réponse conversationnelle.
* <code>Modèle d'embedding</code> : modèle utilisé pour transformer les documents et les requêtes en vecteurs. Il sert à retrouver les passages pertinents dans la base documentaire. Ce champ est indispensable pour utiliser le RAG avec une recherche sémantique correcte.
* <code>Modèle Img2txt</code> : modèle utilisé pour convertir une image en texte. Il peut servir pour l’OCR, les captures d’écran, les images intégrées dans des documents ou certaines pages PDF scannées. Il n’est pas indispensable si les documents sont déjà au format texte, mais il devient important pour les documents visuels ou scannés.
* <code>Modèle Speech2txt</code> : modèle utilisé pour convertir de l’audio en texte. Il sert à transcrire des fichiers audio ou vidéo avant leur indexation. Il est inutile si aucun contenu audio n’est utilisé.
* <code>Modèle de rerank</code> : modèle utilisé pour réordonner les passages retrouvés par le modèle d’embedding. L’embedding récupère une liste de résultats candidats, puis le reranker remet les meilleurs passages en haut. Ce champ est fortement recommandé pour améliorer la précision des réponses RAG, surtout quand la base documentaire contient beaucoup de chunks proches ou similaires.
* <code>Modèle TTS</code> : modèle utilisé pour convertir les réponses texte en audio. Il est uniquement nécessaire si l’on souhaite une sortie vocale.
Voir [[Llama.cpp#Modèles_RAG|modèles pour RAG via Llama.cpp]]
{{Méta bandeau
  | niveau = modéré
  | icône = important
  | texte  =
RAGFlow ne supporte pas encore les modèles OCR via le fournisseur <code>OpenAI-API-Compatible</code>. Un modèle comme <code>LightOnOCR-2-1B</code> servi avec <code>llama-server</code> peut fonctionner côté serveur, mais ne peut pas être ajouté directement comme modèle <code>OCR</code> dans RAGFlow via ce fournisseur. Les modèles OpenAI-compatibles peuvent être utilisés pour le chat, l’embedding ou le rerank, mais pas encore pour l’OCR.
}}
==== RAGFlow comme serveur MCP ====
{{Méta bandeau
  | niveau = grave
  | icône = important
  | texte  =
Une clef API doit avoir été générée au préalable via le menu : <code>API</code> -> <code>Clé API</code> -> <code>Créer une nouvelle clé</code>.
}}
# cd /opt/ragflow/docker/
# vi docker-compose.yml
<font color = grey>...
    command:
      - --enable-adminserver
      - --init-model-provider-tables</font>
      - --enable-mcpserver
      - --mcp-host=0.0.0.0
      - --mcp-port=9382
      - --mcp-base-url=<nowiki>http://</nowiki>127.0.0.1:9380
      - --mcp-script-path=/ragflow/mcp/server/server.py
      - --mcp-mode=self-host
      - --mcp-host-api-key=<font color = blue>ragflow-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</font>
<font color = grey>...</font>
Optionnellement, il est possible de limiter l’exposition du port MCP à une seule interface de l’hôte Docker :
<font color = grey>...
    -</font> <font color = blue>192.168.1.123</font>:<font color = grey>${SVR_MCP_PORT}:9382 # entry for MCP (host_port:docker_port). The docker_port must match the value you set for `mcp-port` above.
...</font>
# docker compose up -d
== Première connexion ==
== Première connexion ==
Il faut se rendre sur l'adresse <nowiki>http:///nowiki><font color = blue>IP_SERVEUR</font> avec l'identifiant administrateur par défaut :
Il faut se rendre sur l'adresse <nowiki>http://</nowiki><font color = blue>IP_SERVEUR</font> avec l'identifiant administrateur par défaut :
  admin@ragflow.io
  admin@ragflow.io
  admin
  admin
{{Méta bandeau
  | niveau = information
  | icône = important
  | texte  =
Il est recommandé de changer le mot de passe administrateur après la première connexion.
}}

Dernière version du 8 juillet 2026 à 15:35

Installation

On utilise Docker

  • On installe git si nécessaire (exemple avec Debian) :
# apt update && apt upgrade
# apt install git
  • On récupère le projet :
# cd /opt/
# git clone https://github.com/infiniflow/ragflow.git
# cd /opt/ragflow/docker
 # vi .env
  • On lance le conteneur :
# docker compose -f docker-compose.yml up -d

Suppression du bloc ulimits pour usage via LXC

# cd /opt/ragflow/docker/
# vi docker-compose-base.yml

Commenter le bloc suivant :

...
    #ulimits:
      #memlock:
        #soft: -1
        #hard: -1
...

On lance le conteneur :

# docker compose -f docker-compose.yml up -d

Configuration

Supprimer l’enregistrement des utilisateurs

# vi /opt/ragflow/docker/.env
...
REGISTER_ENABLED=0
...

On relance les conteneurs :

# cd /opt/ragflow/docker/
# docker compose -f docker-compose.yml up -d

Modèles par défaut

Via le menu "Fournisseurs de modèles" Menu de sélection des modèles IA..

  • Modèle de chat : modèle principal utilisé pour répondre aux questions et générer les réponses finales. C’est le champ le plus important. Sans modèle de chat, RAGFlow ne peut pas produire de réponse conversationnelle.
  • Modèle d'embedding : modèle utilisé pour transformer les documents et les requêtes en vecteurs. Il sert à retrouver les passages pertinents dans la base documentaire. Ce champ est indispensable pour utiliser le RAG avec une recherche sémantique correcte.
  • Modèle Img2txt : modèle utilisé pour convertir une image en texte. Il peut servir pour l’OCR, les captures d’écran, les images intégrées dans des documents ou certaines pages PDF scannées. Il n’est pas indispensable si les documents sont déjà au format texte, mais il devient important pour les documents visuels ou scannés.
  • Modèle Speech2txt : modèle utilisé pour convertir de l’audio en texte. Il sert à transcrire des fichiers audio ou vidéo avant leur indexation. Il est inutile si aucun contenu audio n’est utilisé.
  • Modèle de rerank : modèle utilisé pour réordonner les passages retrouvés par le modèle d’embedding. L’embedding récupère une liste de résultats candidats, puis le reranker remet les meilleurs passages en haut. Ce champ est fortement recommandé pour améliorer la précision des réponses RAG, surtout quand la base documentaire contient beaucoup de chunks proches ou similaires.
  • Modèle TTS : modèle utilisé pour convertir les réponses texte en audio. Il est uniquement nécessaire si l’on souhaite une sortie vocale.

Voir modèles pour RAG via Llama.cpp

RAGFlow comme serveur MCP

# cd /opt/ragflow/docker/
# vi docker-compose.yml
...
    command:
      - --enable-adminserver
      - --init-model-provider-tables
      - --enable-mcpserver
      - --mcp-host=0.0.0.0
      - --mcp-port=9382
      - --mcp-base-url=http://127.0.0.1:9380
      - --mcp-script-path=/ragflow/mcp/server/server.py
      - --mcp-mode=self-host
      - --mcp-host-api-key=ragflow-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...

Optionnellement, il est possible de limiter l’exposition du port MCP à une seule interface de l’hôte Docker :

...
    - 192.168.1.123:${SVR_MCP_PORT}:9382 # entry for MCP (host_port:docker_port). The docker_port must match the value you set for `mcp-port` above.
...
# docker compose up -d

Première connexion

Il faut se rendre sur l'adresse http://IP_SERVEUR avec l'identifiant administrateur par défaut :

admin@ragflow.io
admin