Publié le

Guide Facile : Installation et Exécution de RagFlow Localement avec DeepSeek - Un Tutoriel Complet

8 min read
Auteurs
  • Profile picture of aithemes.net
    Nom
    aithemes.net
    Twitter
Post image placeholder

Introduction

RagFlow est un moteur RAG (Retrieval-Augmented Generation) open-source innovant développé par Infiniflow, disponible sur GitHub. Il exploite la compréhension approfondie des documents pour extraire des connaissances à partir de données non structurées et les combine avec de grands modèles de langage (LLM), spécifiquement DeepSeek, pour fournir des réponses ancrées et soutenues par des citations. RagFlow est conçu pour traiter des documents complexes, réduire les hallucinations et fournir des réponses traçables, ce qui en fait un outil puissant pour les workflows alimentés par l'IA.

Dans cet article, nous allons vous guider à travers le processus d'installation et d'exécution de RagFlow localement en utilisant DeepSeek comme modèle LLM. Nous utiliserons DeepSeek pour les interactions de chat et Mistral pour générer des embeddings. Ce tutoriel étape par étape vous aidera à configurer le moteur, à le configurer et à commencer à l'utiliser efficacement dans votre propre environnement.

Environnement d'Exécution

Notre évaluation de RagFlow a été réalisée sur une machine virtuelle Ubuntu fonctionnant via WSL (Windows Subsystem for Linux) sur un PC Windows 11. Cette configuration a fourni un environnement robuste et flexible pour tester les capacités de RagFlow, nous permettant de simuler des scénarios de déploiement réels tout en exploitant la commodité d'un écosystème de développement basé sur Windows.

Instructions d'Installation

Pour commencer avec RagFlow, suivez ces étapes :

  1. Cloner le Dépôt : Commencez par cloner le dépôt RagFlow depuis GitHub en utilisant la commande suivante :

    git clone https://github.com/infiniflow/ragflow.git
    
  2. Configurer l'Environnement : Accédez au dépôt cloné et installez les dépendances requises en utilisant la commande suivante :

    pip install -r requirements.txt
    

Pour des instructions supplémentaires, consultez le dépôt GitHub officiel de RagFlow.

Exécution de RagFlow dans des Conteneurs

Pour simplifier le processus de déploiement, RagFlow peut être exécuté en utilisant des conteneurs Docker. Le dépôt comprend un fichier docker-compose.yml dans le répertoire docker, qui vous permet de lancer tous les services nécessaires avec une seule commande. Pour démarrer RagFlow en mode détaché (en arrière-plan), utilisez la commande suivante :

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

Cette commande initialisera les conteneurs requis et garantira que RagFlow est opérationnel, prêt pour l'évaluation ou l'intégration dans vos workflows. Pour des instructions détaillées, consultez le dépôt GitHub officiel de RagFlow.

Par défaut, RagFlow utilise le port 80 pour le service HTTP. Cependant, ce port peut être reconfiguré pour répondre à vos besoins de déploiement spécifiques en modifiant le fichier docker-compose.yml ou en ajustant les variables d'environnement pertinentes.

Pour confirmer que RagFlow a démarré correctement, vous pouvez vérifier les logs du conteneur ragflow-server en utilisant la commande suivante :

docker logs -f ragflow-server

Si RagFlow s'exécute avec succès, vous devriez voir une sortie similaire à ce qui suit :

* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit

Cette sortie indique que RagFlow est activement en train de servir des requêtes sur les adresses et ports spécifiés.

Accéder à RagFlow depuis le Navigateur

Pour accéder à RagFlow depuis votre navigateur, entrez l'adresse IP de votre serveur et connectez-vous à RagFlow. Dans mon cas, puisque j'utilise le port par défaut 80 et que je l'exécute dans une VM Ubuntu WSL sur mon PC, je me contente de naviguer vers http://localhost.

Si vous êtes un nouvel utilisateur, vous devrez vous inscrire pour créer un compte. Le processus d'inscription est simple et ne nécessite qu'une adresse e-mail, un pseudonyme et un mot de passe. Une fois enregistré, vous pouvez vous connecter et commencer à explorer les fonctionnalités de RagFlow.

Post image placeholder

Configuration des Modèles de Chat et d'Embedding

Dans notre évaluation, nous utiliserons deepseek-chat comme modèle de chat et mistral-embed comme modèle d'embedding. Pour configurer ces modèles, suivez les étapes ci-dessous :

  1. Ajouter des Fournisseurs de LLM :

    • Accédez à la section Fournisseurs de modèles sous les paramètres utilisateur dans l'interface RagFlow.
    • Ajoutez les clés API nécessaires pour DeepSeek et Mistral.
    • Enregistrez la configuration.
    Post image placeholder
  2. Définir les Modèles :

    • Appuyez sur Paramètres du Modèle Système.
    • Sélectionnez deepseek-chat comme modèle de chat et mistral-embed comme modèle d'embedding.
    • Enregistrez les paramètres pour appliquer les modifications.
    Post image placeholder

Une fois les modèles configurés, RagFlow sera prêt à exploiter DeepSeek pour les interactions de chat et Mistral pour générer des embeddings.

Création d'une Base de Connaissances et Ajout de Documents

Dans cette évaluation, nous avons créé une nouvelle Base de Connaissances appelée AI-papers et ajouté 20 articles PDF récupérés sur arXiv en recherchant le mot-clé DeepSeek. Voici comment nous avons procédé :

  1. Créer la Base de Connaissances :

    • Accédez à la section Base de Connaissances dans l'interface RagFlow.
    • Créez une nouvelle Base de Connaissances nommée AI-papers.
    • Enregistrez la configuration.
    Post image placeholder
  2. Conserver le Mode par Défaut pour le Chunking de Documents et le Modèle d'Embedding :

    • Nous avons conservé la méthode de chunking par défaut pour traiter les documents. Pour le modèle d'embedding, nous avons également conservé le modèle par défaut configuré précédemment mistral-embed.
    Post image placeholder
  3. Ajouter des Documents PDF à la Base de Connaissances :

    • Téléchargez les 20 articles PDF dans la Base de Connaissances AI-papers.
    • Assurez-vous que tous les documents sont correctement sélectionnés pour le traitement.
    Post image placeholder
  4. Analyser Tous les Documents en tant qu'Opération Groupée :

    • Lancez le processus d'analyse pour tous les documents téléchargés en une seule fois.
    • Le temps total pour analyser les 20 documents était d'environ 35 minutes.
    Post image placeholder

Une fois l'analyse terminée, la Base de Connaissances sera prête pour les requêtes, permettant à RagFlow de récupérer et de générer des réponses basées sur le contenu des articles téléchargés.

Création d'un Nouvel Assistant de Chat

Pour créer un nouvel Assistant de Chat appelé AI-papers Assistant qui utilise la Base de Connaissances AI-papers, suivez ces étapes :

  1. Accédez au Chat dans l'interface RagFlow

  2. Créer un Nouvel Assistant :

    • Sélectionnez l'option pour créer un nouvel Assistant.
    • Nommez-le AI-papers Assistant.
    • Choisissez la Base de Connaissances AI-papers parmi les options disponibles.
    Assistant Setting image placeholder
  3. Configurer le Moteur de Prompt et les Paramètres du Modèle :

    • Conservez les valeurs par défaut pour les onglets Moteur de Prompt et Paramètres du Modèle.
    • Sous la configuration du modèle, assurez-vous que le modèle deepseek-chat est sélectionné comme configuré précédemment.
    Model Setting image placeholder
  4. Enregistrer la Configuration :

    • Enregistrez les paramètres pour finaliser la création de l'Assistant AI-papers.

Après avoir suivi ces étapes, l'Assistant AI-papers sera prêt à aider les utilisateurs en utilisant la Base de Connaissances AI-papers, fournissant des réponses pertinentes basées sur les documents téléchargés.

Exemple de Requête à l'Assistant AI-papers

L'une des requêtes que vous pouvez poser à l'Assistant AI-papers est : "Quelles sont les innovations clés dans le modèle DeepSeek Reasoner ?" Pour démarrer un chat en utilisant l'Assistant AI-papers, suivez ces étapes :

  1. Accédez à l'Interface de Chat :

    • Allez à la section interface de chat dans l'application RagFlow.
  2. Sélectionnez l'Assistant AI-papers :

    • Choisissez AI-papers Assistant dans la liste des assistants disponibles.
  3. Poser la Question :

    • Entrez la question dans l'interface de chat.
    Question and initial reply placeholder
  4. Recevoir des Réponses :

    • L'Assistant AI-papers répondra avec des informations concernant les innovations clés dans le modèle DeepSeek Reasoner, y compris des références aux informations sources utilisées pour la réponse.
    End of reply and references placeholder

Conclusion

En conclusion, RagFlow présente plusieurs caractéristiques convaincantes qui en font un choix attrayant pour les utilisateurs à la recherche d'une solution RAG efficace :

  1. Solution Open Source : En tant que projet open-source, RagFlow permet aux utilisateurs d'accéder, de modifier et de contribuer librement à son développement.

  2. Installation Facile : Avec des conteneurs Docker, la configuration et l'exécution de RagFlow localement sont simples et efficaces, simplifiant le processus de déploiement.

  3. Adaptabilité : La plateforme est hautement adaptable, supportant une large sélection de fournisseurs de LLM pour les modèles de chat et d'embedding, répondant à divers besoins des utilisateurs.

  4. Interface Utilisateur Intuitive : L'interface utilisateur de RagFlow est conçue pour une utilisation facile, offrant une expérience fluide pour la gestion des bases de connaissances et l'engagement dans le chat.

  5. Inclusion de Références : L'inclusion de références dans les réponses de chat améliore la crédibilité des informations fournies, facilitant la vérification des sources par les utilisateurs.

Dans l'ensemble, RagFlow se distingue comme un outil puissant et convivial pour exploiter les capacités de la technologie de génération augmentée de récupération.


Avez-vous apprécié cette annonce ? L'avez-vous trouvée instructive ? N'hésitez pas à laisser un commentaire ci-dessous pour partager vos réflexions ou poser des questions. Un compte GitHub est requis pour rejoindre la discussion.