Accéder au contenu principal

Flowise AI : Un guide avec un projet de démonstration

Apprenez à créer un agent d'intelligence artificielle qui répond à des questions basées sur un ensemble de données CSV à l'aide de Flowise, un outil basé sur un flux de travail à code bas.
Actualisé 16 juin 2025  · 12 min de lecture

Dans cet article, je vais vous expliquer pas à pas comment utiliser Flowise pour construire un agent d'intelligence artificielle capable de répondre à des questions basées sur un ensemble de données CSV.

Flowise est un outil pratique pour ceux qui veulent construire des agents d'intelligence artificielle sans s'empêtrer dans un codage complexe. Flowise a une approche "low-code" et nous permet de nous concentrer sur la tâche à accomplir, plutôt que sur les détails techniques.

Récemment, j'ai constaté une augmentation du nombre d'outils conçus pour créer des agents d'intelligence artificielle. Ces outils sont devenus plus accessibles et plus conviviaux, permettant à chacun de créer des systèmes intelligents sans avoir besoin de compétences techniques approfondies. Si vous souhaitez en savoir plus sur ces outils, consultez également ces tutoriels :

Qu'est-ce que Flowise ?

Flowise est un outil conçu pour nous aider à créer des agents d'intelligence artificielle à l'aide d'une interface simple de type "glisser-déposer". Il fonctionne en nous permettant de connecter différents blocs, qui représentent diverses fonctions, pour construire un flux de travail personnalisé. Chaque bloc peut être configuré pour effectuer une action spécifique.

Par exemple, il existe des blocs connus sous le nom de blocs LLM qui sont utilisés pour envoyer un message à un grand modèle linguistique. Il existe également des blocs de fonctions qui nous permettent d'exécuter des fonctions JavaScript personnalisées, ce qui permet des opérations encore plus personnalisées.

En reliant ces blocs entre eux, l'information circule d'un bloc à l'autre, traitant et transformant les données étape par étape. Cette approche modulaire facilite la construction d'agents d'intelligence artificielle sans connaissances approfondies en programmation, puisque nous pouvons nous concentrer sur la conception du flux de travail et la configuration des actions nécessaires.

Construire un agent d'analyse de données avec Flowise

Décortiquons le processus de création d'un agent IA d'analyse de données à l'aide de Flowise. Ce guide vous permettra de vous inscrire à Flowise, de créer un flux de travail personnalisé et d'utiliser différents blocs pour créer un agent interactif capable d'analyser des ensembles de données.

Étape 1 : Créer un compte sur Flowise

Commencez par visiter cette page d'inscription de Flowise et créez un compte. Remplissez les informations demandées et suivez les instructions envoyées à votre adresse électronique pour vérifier et activer votre compte.

Étape 2 : Configuration de la base de données

Maintenant que notre compte Flowise est prêt, il est temps de configurer la base de données que nous allons utiliser. Nous avons besoin d'une base de données pour stocker les données que nous voulons analyser.

Nous utiliserons SingleStore, un fournisseur de base de données SQL populaire et convivial, pour gérer nos données. Passons à l'étape suivante :

  1. Commencez par vous rendre sur le site web SingleStore.
  2. Créez un nouveau compte sur SingleStore. 
  3. Avec un compte SingleStore actif, l'étape suivante consiste à télécharger le jeu de données avec lequel nous allons travailler. Pour cet exemple, nous utilisons un ensemble de données axé sur les habitudes des étudiants en matière de médias sociaux, que vous pouvez trouver sur le site Kaggle. Veillez à télécharger le fichier du jeu de données à partir de Kaggle et à le charger sur SingleStore.

Chargement d'un fichier dans SingleStore

  1. Une fois le jeu de données téléchargé, SingleStore génère automatiquement un tableau de base de données à partir de celui-ci. Ce tableau constituera la base de notre analyse de données, rendant les informations prêtes pour que notre agent IA Flowise puisse interagir avec elles.

Étape 3 : Naviguez jusqu'à la section des flux de conversation

Une fois connecté, allez dans le tableau de bord et trouvez la section "Chatflows". Cliquez sur "Ajouter nouveau" pour commencer à créer un nouveau flux de travail.

Créer un nouveau chatflow dans flowise

Étape 4 : Créez une fonction personnalisée pour charger le tableau Informations

Cette étape consiste à écrire une fonction personnalisée pour récupérer des informations sur le tableau, telles que sa description et le nom de ses colonnes. Ces données sont essentielles pour permettre à notre agent d'intelligence artificielle de comprendre la structure de l'ensemble de données qu'il va interroger.

  1. Créez un bloc fonctionnel personnalisé.

Ajout d'un bloc fonctionnel personnalisé

  1. Collez le code suivant dans l'éditeur de blocs fonctionnels :
const mysql = require('mysql2/promise');

const tableName = $tableName;
const tableDescription = $tableDescription;
const connectionUrl = "<PASTE_YOUR_CONNECTION_STRING_HERE>" 

async function main() {
  try {
    const pool = mysql.createPool(connectionUrl);
    const q = 
    DESCRIBE ${tableName};
    ;
    const [rows] = await pool.query(q);
    const fields = rows.map((row) => ${row.Field} of type ${row.Type}).join("\n");
    const tableInformation = Table name: ${tableName}\nTable description:\n${tableDescription.trim()}\nColumns:\n${fields.trim()};
    return tableInformation;
  } catch(error) {
    return String(error);
  }  
}

return main();

Au début de la fonction, nous devons définir la valeur connectionUrl. Vous le trouverez sur SingleStore, dans l'onglet Déploiements.

Obtenir les informations de connexion à la base de données

La chaîne de connexion ressemble à ceci :

françois-19ecc:<françois-19ecc Password>@svc-3482219c-a389-4079-b18b-d50662524e8a-shared-dml.aws-virginia-6.svc.SingleStore.com:3333/db_franois_88ec0

La première partie, françois-19ecc dans mon cas, est le nom d'utilisateur. Juste après, il y a un espace réservé pour le mot de passe, , que nous devons remplacer.

Cette fonction se connecte à la base de données SingleStore et obtient les informations sur les colonnes du tableau. Il dispose de deux entrées :

  • tableName: Le nom du tableau
  • tableDescription: La description du tableau.

Celles-ci doivent être configurées en cliquant sur le bouton "Variables d'entrée" dans le nœud du code personnalisé. Les variables sont accessibles dans le code en faisant précéder leur nom d'un $.

Accès aux variables.

Dans mon cas, le tableau a été nommé dataset lors de sa création sur SingleStore. Vous devez utiliser le nom défini lorsque vous avez téléchargé le fichier CSV.

Vérification du nom du tableau dans SingleStore.

Étape 5 : Créer un nœud de modèle d'invite

C'est dans ce nœud que nous élaborons les questions qui guident notre agent d'intelligence artificielle. Connectez ce nœud à votre fonction personnalisée.

  1. Créez un nœud de modèle d'invite.

Création d'un nœud de modèle d'invite dans flowise

  1. Insérez l'invite suivante :
Based on the SQL table information and the user's questions, return a SQL query that answers that question.
TABLE INFORMATION: {tableInformation}
QUESTION: {question}

Connexion de la fonction personnalisée au modèle d'invite dans Flowise

L'invite comporte deux espaces réservés : {tableInformation} et {question}. L'adresse question est l'invite soumise par l'utilisateur, tandis que l'adresse tableInformation est la sortie de la fonction que nous avons définie à l'étape précédente.

Ces valeurs de remplacement doivent être configurées en cliquant sur le bouton "Format Prompt Values" dans le nœud du modèle d'invite.

Configuration des variables d'invite dans flowise

Étape 6 : Lien vers un bloc de la chaîne LLM

Nous connectons maintenant le nœud du modèle d'invite à un bloc de chaîne LLM, qui interprétera l'invite et générera une requête SQL à partir de celle-ci. Voici les étapes à suivre :

  1. Ajoutez un bloc de chaîne LLM.
  2. Incluez un bloc de modèle configuré pour utiliser OpenAI, et connectez-le au bloc de chaîne LLM sur l'entrée "Modèle de langue".
  3. Pour configurer le modèle OpenAI, vous devez créer une clé API OpenAI. Si vous n'en avez pas, vous pouvez en créer un ici.
  4. Connectez le bloc du modèle d'invite à l'entrée "Prompt".

Configuration du nœud de la chaîne LLM dans flowise

Étape 7 : Utiliser un bloc de variables

Pour stocker la requête SQL générée en vue d'une utilisation ultérieure, créez un bloc de variables et reliez-le à la sortie du bloc de chaîne LLM.

Stockage de valeurs à l'aide du bloc set variable dans flowise

Étape 8 : Exécuter la requête SQL

Envoyez la requête SQL à un nouveau bloc de code personnalisé pour l'exécuter dans la base de données.

  1. Créez un autre bloc de code personnalisé.
  2. Saisissez le code suivant :
const mysql = require('mysql2/promise');

const connectionUrl = "<PASTE_THE_SAME_URL_USED_BEFORE>";

function formatQuery() {
  // This function is used to clean the query provided by ChatGPT 
  // by removing markdown quotes
  const q = $query;
  let lines = q.trim().split(/\r\n|\r|\n/);
  if(lines[0].startsWith("")) {
    lines = lines.slice(1, lines.length - 1);
  }
  return lines.join("\n").trim()
}

const q = formatQuery();
try {
  const pool = mysql.createPool(connectionUrl);
  const [rows] = await pool.query(q);
  return rows;
} catch(error) {
  return Query: ${q}\nError:${String(error)}`
}

N'oubliez pas de définir la valeur connectionUrl. C'est le même que celui que nous utilisions auparavant.

Cette fonction a une entrée, qui est la requête que nous voulons exécuter, et est accessible dans le code à l'aide de $query.  

Accès aux variables dans un nœud de fonction personnalisé

Étape 9 : Créer un autre modèle d'invite

Ce modèle est utilisé pour formater la réponse que l'agent d'intelligence artificielle présentera à l'utilisateur en fonction des résultats de la requête.

  1. Créez un nouveau modèle d'invite.
  2. Utilisez cette invite :
Based on the question and the query result, provide an answer to the user's question. Always show the query to the user.
QUERY: {query}
QUERY RESULT: {queryResult}
QUESTION: {question}

Cette invite comporte trois espaces réservés :

  • query: La requête SQL générée par le LLM, obtenue en connectant le nœud variable.
  • queryResult: Le résultat de la requête, qui est calculé par le nœud de fonction personnalisé précédent.
  • question: L'invite initiale de l'utilisateur.

Connexions au deuxième modèle d'invite pour générer la requête SQL dans flowise

Étape 10 : Dernier bloc de la chaîne LLM

Enfin, connectez ce modèle d'invite à un nouveau bloc de la chaîne LLM, qui utilisera l'invite pour formuler la réponse. Vous pouvez le connecter au même bloc de modèle OpenAI que celui utilisé précédemment.

Voici le flux final de l'agent :

Le flux final en flowise

Une fois ces étapes franchies, notre agent IA est prêt. Il peut accepter des questions, générer des requêtes SQL pour extraire les données pertinentes et fournir des réponses claires et concises.

Chatter avec l'agent analyste de données

L'agent est maintenant prêt à être utilisé. Pour discuter avec lui, cliquez sur le bouton violet de discussion dans le coin supérieur droit :

Chatter avec l'agent d'intelligence artificielle

Testons-le en demandant combien de réponses l'enquête a obtenues :

Exemple d'un agent IA utilisant Flowise

Notez que l'agent inclut la requête dans la réponse en raison de la manière dont la dernière invite a été conçue. Posons quelques questions statistiques sur les données :

Exemple d'un agent IA utilisant Flowise

Voici un autre exemple :

Exemple d'un agent IA utilisant Flowise

Mon avis sur Flowise

Après avoir expérimenté plusieurs outils de construction d'agents d'IA, mon expérience avec Flowise s'est révélée quelque peu frustrante. Un problème récurrent auquel j'ai été confronté était la suppression accidentelle de certaines configurations variables, ce qui entraînait un comportement erratique de l'agent sans que l'on puisse en expliquer clairement la raison. Cela rendait souvent le dépannage fastidieux.

En outre, Flowise n'a pas de point de départ clair pour ses flux d'agents, ce qui rend difficile le suivi et la compréhension du fonctionnement de l'agent. Cela peut être particulièrement déconcertant pour ceux qui n'ont jamais construit de systèmes d'intelligence artificielle. En outre, Flowise ne permet pas de visualiser facilement les résultats intermédiaires ou de tester les nœuds de manière isolée. Il est donc difficile d'identifier les problèmes ou d'affiner le flux de travail de manière efficace.

J'ai également trouvé qu'il était difficile de voir les configurations des nœuds d'un seul coup d'œil. Par exemple, les nœuds de code personnalisés que nous avons utilisés définissent des variables d'entrée, mais cela n'est pas visible. Nous devons cliquer sur cette section du nœud pour la voir. Il est donc difficile de comprendre le flux simplement en le regardant.

Conclusion

Bien que Flowise offre une interface prometteuse pour la création d'agents d'intelligence artificielle, elle présente quelques problèmes d'ergonomie qui la rendent plus difficile à utiliser que d'autres outils similaires, en particulier pour ceux qui recherchent une expérience plus fluide et plus intuitive. Malgré ces difficultés, le concept de Flowise a du potentiel et, moyennant quelques améliorations, il pourrait devenir un excellent outil pour la création de solutions d'IA.


François Aubry's photo
Author
François Aubry
LinkedIn
Ingénieur full-stack et fondateur de CheapGPT. L'enseignement a toujours été ma passion. Dès mes premiers jours d'études, j'ai cherché avec enthousiasme des occasions de donner des cours particuliers et d'aider d'autres étudiants. Cette passion m'a amenée à poursuivre un doctorat, où j'ai également été assistante d'enseignement pour soutenir mes efforts académiques. Au cours de ces années, j'ai trouvé un immense épanouissement dans le cadre d'une classe traditionnelle, en favorisant les liens et en facilitant l'apprentissage. Cependant, avec l'avènement des plateformes d'apprentissage en ligne, j'ai reconnu le potentiel de transformation de l'éducation numérique. En fait, j'ai participé activement au développement d'une telle plateforme dans notre université. Je suis profondément engagée dans l'intégration des principes d'enseignement traditionnels avec des méthodologies numériques innovantes. Ma passion est de créer des cours qui sont non seulement attrayants et instructifs, mais aussi accessibles aux apprenants à l'ère du numérique.
Sujets

Apprenez l'IA avec ces cours !

Cursus

AI Fundamentals

0 min
Discover the fundamentals of AI, dive into models like ChatGPT, and decode generative AI secrets to navigate the dynamic AI landscape.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Types d'agents d'intelligence artificielle : Comprendre leurs rôles, leurs structures et leurs applications

Découvrez les principaux types d'agents d'intelligence artificielle, comment ils interagissent avec les environnements et comment ils sont utilisés dans les différents secteurs d'activité. Comprendre les agents réflexes simples, les agents basés sur un modèle, les agents basés sur un but, les agents basés sur l'utilité, les agents d'apprentissage, etc.
Vinod Chugani's photo

Vinod Chugani

14 min

blog

Les 50 meilleures questions et réponses d'entretien sur AWS pour 2025

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles.
Zoumana Keita 's photo

Zoumana Keita

15 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 min

blog

Architecture de l'entrepôt de données : Tendances, outils et techniques

Apprenez l'essentiel de l'architecture d'un entrepôt de données, des composants clés aux meilleures pratiques, pour construire un système de données évolutif et efficace !
Kurtis Pykes 's photo

Kurtis Pykes

15 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

Voir plusVoir plus