5.4. IA ligne par ligne : Le nœud « IA générative » pour les Flows

Interroger une IA générative ligne à ligne pour enrichir un jeu de données. Une vidéo d’exemple de cette fonctionnalité est disponible ci-dessous:

IA ligne par ligne : Le nœud « IA générative » pour les Flows

../../_images/N_FR_19.png

Le nœud « IA générative » permet d’interroger une IA générative pour chaque ligne d’un jeu de données et ajoute à chaque ligne une ou plusieurs cellules — c’est-à-dire une ou plusieurs nouvelles colonnes — contenant les réponses produites par l’IA.

5.4.1. Présentation générale

5.4.1.1. Ce que le nœud apporte de nouveau

En résumé :

l’IA générative présente dans le nœud de préparation est utilisée uniquement en phase de conception d’un flow, pour produire un script. À l’exécution c’est ce script qui est invoqué et non pas l’IA générative.

C’est économique en termes de token et rapide mais cette fonctionnalité n’est utilisable que si la transformation à effectuer peut être implémentée par un script de quelques lignes. Le nœud IA générative permet quant à lui d’implémenter des transformations qui ont besoin d’une invocation de l’IA générative à chaque ligne.

5.4.1.2. L’IA générative dans le nœud de préparation (rappel)

  • Dans un nœud de préparation, l’IA générative est invoquée une seule fois pour générer un script, ce script est ensuite appliqué à toutes les lignes.

  • Exemple : à partir de l’instruction « vérifie que la colonne REF contient uniquement des chiffres et des lettres », l’IA génère un script testant une expression régulière sur la colonne.

  • À l’exécution du flow, l’IA générative n’est jamais appelée : seul le script généré est exécuté.

5.4.1.3. Le nouveau nœud « IA générative »

  • C’est un processeur qui permet d’appeler une IA générative pour chaque ligne du jeu de données, au moment de l’exécution du flow.

  • Exemple : « Détermine si le message de la colonne MSG est URGENT, IMPORTANT MAIS NON URGENT ou bien NEUTRE ».

  • Le nœud est multi-fournisseurs (Anthropic, OpenAI, Mistral, IA locales…) et multi-modèles (Opus, Sonnet, Qwen, Gemma, Llama…).

Note

Grâce à cette capacité, Tale of Data se positionne sur le traitement des données non structurées et semi-structurées.

5.4.2. Cas d’usage de l’IA ligne à ligne

Le nœud « IA générative » couvre une large variété de besoins. Les cas d’usage les plus fréquents sont présentés ci-dessous.

5.4.2.1. Extraction de données structurées à partir d’un texte non structuré

À partir d’un champ en texte libre, l’IA extrait des informations structurées dans de nouvelles colonnes. Exemple : à partir d’une annonce immobilière rédigée en langage naturel (colonne Description), l’IA renseigne le nombre de pièces, la surface totale, et un score de confiance associé.

5.4.2.2. Classification

L’IA classe chaque ligne dans une catégorie parmi une liste de valeurs autorisées. Exemple : classer chaque message (colonne Message) selon un niveau d’alerte : URGENT, IMPORTANT MAIS NON URGENT ou NEUTRE.

5.4.2.3. Autres exemples

  • Détection d’incohérences sur la ligne (sans savoir a priori ce que l’on cherche).

  • Classement dans une ontologie fournie par l’utilisateur.

  • Génération de texte non structuré à partir des données structurées d’une ligne (ex. : générer une description de capteur à partir de ses caractéristiques).

  • Traduction dans une autre langue, corrections orthographiques.

  • Et bien d’autres selon vos besoins.

5.4.3. Ajouter et configurer le nœud dans un flow

5.4.3.1. Le nœud dans la barre d’outils

Le nœud « IA générative » (libellé Gen AI) est disponible dans la barre d’outils du flow designer, aux côtés des autres types de nœuds (Source, Préparation, Filtre, Validation, etc.). Il suffit de l’ajouter au flow et de le relier à la source de données à enrichir.

image645

5.4.3.2. Ouvrir l’éditeur de configuration

Une fois un nœud « IA générative » sélectionné dans le flow, le bouton « Éditer l’IA » apparaît dans la zone de droite du flow designer. Un clic sur ce bouton ouvre l’éditeur de configuration du nœud.

L’éditeur se compose de trois onglets : Configuration, Coût et Options avancées. Les boutons « Appliquer » et « Supprimer » (en haut à droite) permettent respectivement d’enregistrer la configuration du nœud ou de le supprimer, et le lien « Retour au flow » ramène à la vue générale du flow.

5.4.4. Onglet « Configuration »

L’onglet Configuration est l’écran principal du nœud. Il permet de configurer l’IA à utiliser, les colonnes à envoyer à l’IA, les colonnes à produire, ainsi que des exemples optionnels pour guider l’IA. L’écran est organisé en plusieurs zones décrites ci-après.

image646

5.4.4.1. Zone « IA générative »

Cette zone permet de choisir et de configurer l’IA générative utilisée. Un conseil d’usage y est rappelé : ajustez le nombre de lignes prévisualisées selon votre besoin et évitez d’en prévisualiser trop, afin de conserver une bonne fluidité et une consommation de tokens minimale.

Champ

Description

Fournisseur

Fournisseur de l’IA générative à utiliser (ex. : OpenRouter, Anthropic, OpenAI, Mistral, ou une IA locale).

Point d’accès

URL du point d’accès (endpoint) de l’API du fournisseur sélectionné. Il est renseigné automatiquement en fonction du fournisseur.

Modèle

Modèle de langage utilisé pour répondre (ex. : google/gemma-4-31b-it). Le choix dépend du fournisseur sélectionné.

Lignes à prévisualiser

Nombre de lignes calculées en aperçu dans l’éditeur (valeur par défaut : 10). Un aperçu réduit préserve la fluidité et limite la consommation de tokens pendant la configuration.

5.4.4.2. Zone « Colonnes d’entrée »

Les colonnes listées ici sont envoyées à l’IA générative, accompagnées de la description que vous pouvez y associer. Les autres colonnes du jeu de données sont ignorées. Il faut ajouter au moins une colonne d’entrée pour que le modèle dispose d’un contexte à exploiter.

Le bouton « Ajouter une entrée » ouvre une fenêtre de dialogue permettant de sélectionner la colonne source et d’y associer une description.

image647

5.4.4.2.1. Champs de la fenêtre « Ajouter une colonne d’entrée »

Champ

Description

Colonne source

Liste déroulante permettant de sélectionner, parmi les colonnes du jeu de données, celle à envoyer à l’IA.

Description pour le prompt

Champ optionnel mais fortement recommandé : il indique clairement à l’IA comment interpréter les valeurs de cette colonne (ex. : « adresse postale saisie par l’utilisateur »).

Les boutons « Valider » et « Annuler » confirment ou abandonnent l’ajout de la colonne d’entrée.

5.4.4.3. Zone « Colonnes à ajouter »

Ces colonnes contiendront les réponses de l’IA générative. Pour chacune d’elles, l’IA répond ligne par ligne en se basant sur le nom de la colonne, sa description, son type, ainsi que les contraintes optionnelles renseignées.

Avertissement

La description peut ne pas être renseignée, à condition que le nom de la colonne soit suffisamment explicite pour que l’IA comprenne comment répondre.

Le bouton « Ajouter une colonne » ouvre la fenêtre « Nouvelle colonne à ajouter ». Une case à cocher « Ajouter le score de confiance (0–1) » permet en outre de faire produire par l’IA un indice de confiance associé à ses réponses (valeur comprise entre 0 et 1).

5.4.4.3.1. Champs communs de la fenêtre « Nouvelle colonne à ajouter »

Champ

Description

Nom (obligatoire)

Nom de la nouvelle colonne. Ce champ est obligatoire ; en son absence, le message « Le nom d’une colonne à ajouter est obligatoire » s’affiche et la validation est bloquée.

Description pour le prompt

Champ optionnel mais fortement recommandé : il indique clairement à l’IA le format de réponse attendu (ex. : « code pays sur 2 lettres »).

Type

Liste déroulante déterminant le type de la colonne de sortie. Le choix du type conditionne les contraintes proposées en dessous (voir §4.3.2).

Contraintes

Ensemble de champs qui varie selon le type sélectionné (voir §4.3.2). Les contraintes affinent et sécurisent la réponse de l’IA.

5.4.4.3.2. Types disponibles et contraintes associées

Type

Contraintes proposées

Description

Texte

Longueur min. / Longueur max. / Expression régulière

Encadre une réponse textuelle : longueur minimale et maximale, et éventuellement une expression régulière que la réponse doit respecter.

Entier

(sans objet)

Réponse sous forme de nombre entier.

Décimal

(sans objet)

Réponse sous forme de nombre décimal.

Booléen

(sans objet)

Réponse à deux valeurs (vrai / faux).

Énumération

Valeurs autorisées (une par ligne)

Réponse restreinte à une liste finie de valeurs possibles, saisies une par ligne (ex. : Positif, Neutre, Négatif).

5.4.4.3.3. Type « Texte »

Lorsque le type « Texte » est sélectionné, les contraintes suivantes sont proposées :

Champ

Description

Longueur min.

Nombre minimal de caractères attendu pour la réponse (optionnel).

Longueur max. (obligatoire)

Nombre maximal de caractères de la réponse. Une valeur trop faible déclenche l’avertissement « Longueur max. courte : l’IA retournera des réponses brèves et potentiellement incomplètes ».

Expression régulière

Expression régulière optionnelle que la réponse produite doit respecter.

image648

5.4.4.3.4. Type « Entier »

Lorsque le type « Entier » est sélectionné, les contraintes suivantes sont proposées :

Avertissement

On va supprimer aujourd’hui les contraintes qui n’ont pas de sens pour les entiers et pour les décimaux donc la table ci-dessous est maintenant sans objet (il faudra donc faire une nouvelle capture d’écran pour remplacer capture_2_3.png).

Champ

Description

Min

Valeur entière minimale autorisée pour la réponse (optionnel).

Max

Valeur entière maximale autorisée pour la réponse (optionnel).

image649

5.4.4.3.5. Type « Énumération »

Le type Énumération permet de spécifier une liste finie de valeurs possibles que l’IA devra respecter. Il est particulièrement adapté aux cas de classification.

Champ

Description

Valeurs autorisées (une par ligne)

Liste des valeurs possibles, saisies une par ligne (ex. : Positif, Neutre, Négatif). La réponse de l’IA sera obligatoirement l’une de ces valeurs.

image650

5.4.4.4. Zone « Exemples pour l’IA » (optionnel)

Vous pouvez fournir des exemples du format de réponse souhaité pour guider l’IA dans sa tâche. Par exemple, si l’objectif est d’extraire le nom d’un pays sous un format précis à partir d’une adresse postale, vous pouvez donner en exemple « United Kingdom (UK) » : l’IA répliquera alors ce format dans ses réponses. 2 à 3 exemples suffisent en général.

Le bouton « Ajouter un exemple » permet de définir un exemple. Il faut au préalable avoir sélectionné au moins une colonne d’entrée et une colonne à ajouter avant de pouvoir définir des exemples.

5.4.4.5. Zone « Récapitulatif du prompt »

Cette zone affiche le prompt envoyé à l’IA générative. Ce prompt est construit automatiquement à partir des descriptions des colonnes d’entrée et des colonnes à ajouter.

  • Le lien « Voir le prompt complet » affiche l’intégralité du prompt généré.

  • Le lien « Ajouter des instructions (optionnel) » permet d’ajouter des instructions supplémentaires pour affiner le ton, les contraintes ou le cadrage de la tâche.

5.4.5. Onglet « Coût »

L’onglet Coût permet d”estimer le nombre de tokens d’entrée et de sortie pour une exécution complète du flow, avant de lancer réellement le traitement.

Note

Les tokens d’entrée mesurent la quantité d’information envoyée à l’IA ; les tokens de sortie mesurent la quantité d’information contenue dans la réponse. |

Avertissement

Il s’agit d’une approximation basée sur quelques lignes, multipliée par le nombre total de lignes du jeu de données. La consommation réelle peut être supérieure ou inférieure. Il est conseillé de lancer cette estimation avant d’exécuter le flow si vous traitez un grand nombre de lignes. |

Un clic sur le bouton « Estimer les tokens » déclenche le calcul et fait apparaître le bloc « Estimation pour l’exécution complète », qui affiche :

  • les tokens d’entrée estimés (total et par ligne) ;

  • les tokens de sortie (max) estimés (total et par ligne) ;

  • le nombre total de lignes du jeu de données et le nombre d’appels à l’IA.

image651

5.4.6. Onglet « Options avancées »

Option

Valeur par défaut

Description

Lignes par appel

10

Nombre de lignes du jeu de données envoyées à l’IA générative en un seul appel HTTP.

Attention : plus on envoie de lignes en un seul appel, plus le risque d’atteindre la taille de la fenêtre de contexte du LLM est grand.

Température

0,00

Paramètre de température classique des LLM : 0 correspond à une réponse répétitive et déterministe, 1 à une variabilité maximale de la réponse pour une même question.

Délai d’attente HTTP (secondes)

60

Temps d’attente maximal (time-out) lors de l’envoi d’une requête HTTP au LLM. Si Tale of Data attend la réponse plus longtemps que cette valeur, une erreur est levée et le flow échoue.

image652

5.4.7. Enchaînement type d’utilisation

Pour configurer et utiliser un nœud « IA générative », l’enchaînement recommandé est le suivant :

  1. Ajouter le nœud « IA générative » (Gen AI) dans le flow et le relier à la source de données à enrichir.

  2. Sélectionner le nœud, puis cliquer sur « Éditer l’IA » pour ouvrir l’éditeur.

  3. Dans l’onglet Configuration, choisir le fournisseur et le modèle.

  4. Ajouter les colonnes d’entrée à envoyer à l’IA, avec une description pour le prompt.

  5. Ajouter les colonnes à produire (nom, description, type et contraintes), et éventuellement activer le score de confiance.

  6. Optionnel : ajouter 2 à 3 exemples et/ou des instructions supplémentaires pour guider l’IA.

  7. Optionnel : dans l’onglet Coût, estimer la consommation de tokens avant l’exécution.

  8. Optionnel : dans l’onglet Options avancées, ajuster les lignes par appel, la température et le délai d’attente HTTP.

  9. Cliquer sur « Appliquer » pour enregistrer la configuration du nœud, puis continuer la conception du flow.