Les systèmes d’IA modernes évoluent au-delà des simples interactions prompt-réponse. Les agents d’IA d’aujourd’hui peuvent effectuer un raisonnement structuré à plusieurs étapes, prendre des décisions et coordonner des tâches complexes de manière autonome. Cette fonctionnalité émergente est appelée workflow agentique, un bouleversement dans le domaine du machine learning, où les agents passent par une série d’étapes logiques pour résoudre les problèmes plus efficacement.
Dans ce tutoriel, nous allons découvrir comment de tels workflows agentiques d’IA en utilisant deux outils clés : LangGraph un framework pour construire des chemins de raisonnement basés sur des graphes, et IBM Granite, un modèle robuste qui complète cette structure. Chaque étape du workflow, appelée « nœud », est gérée par un agent, généralement alimenté par de grands modèles de langage. Ces agents passent d’un état à l’autre en fonction des sorties du modèle ou de la logique conditionnelle, formant ainsi un graphe dynamique axé sur les décisions.
Pour donner vie à ces workflows, intéressons-nous à deux composants essentiels : LangGraph et Granite.
LangGraph est un framework conçu pour rationaliser le développement des workflows pilotés par l’IA en représentant les modèles d’IA sous forme d’agents à état dans un graphe de calcul. Il permet aux développeurs de créer des systèmes modulaires et évolutifs où chaque comportement ou point de décision est défini comme un nœud dans le graphe.
Avec LangGraph, vous pouvez :
Les systèmes multiagents et les frameworks comme LangGraph, lorsqu’ils sont appliqués à des tâches d’IA générative, structurent généralement l’exécution des tâches sous forme de workflows séquentiels ou conditionnels. Que vous travailliez avec LangChain, les modèles IBM Granite, les modèles GPT d’OpenAI ou d’autres outils d’intelligence artificielle, LangGraph vous aide à optimiser votre workflow pour plus d’évolutivité et de meilleures performances.
LangGraph introduit une approche moderne de l’orchestration des technologies d’IA en décomposant des workflows complexes en composants modulaires et intelligents. Contrairement à l’automatisation traditionnelle ou à l’automatisation robotisée des processus (RPA), LangGraph permet une exécution dynamique et contextuelle des tâches en s’appuyant sur la logique et la mémoire en temps réel. Voici les quatre composants clés qui alimentent ce framework :
Ensemble, ces composants permettent à LangGraph de transformer la façon dont les entreprises conçoivent et exécutent des workflows pilotés par l’IA, en rapprochant les outils d’IA des processus métier réels.
Granite-4.0-Tiny-Preview, développé par IBM Research, est un modèle de langage open source léger et performant, conçu pour résoudre des problèmes complexes et des tâches pratiques de traitement automatique du langage naturel (NLP). Bien qu’il soit plus petit que les modèles commerciaux tels que GPT-4, Granite est rapide, efficace et entièrement compatible avec Hugging Face, ce qui en fait un excellent choix pour les développeurs qui recherchent l’efficacité opérationnelle sans sacrifier les performances.
Granite excelle dans :
Dans ce tutoriel, le modèle Granite joue un rôle clé dans différentes étapes du workflow agentique, assurant à la fois la résolution de problèmes et la génération de contenu. Sa conception légère le rend adapté aux applications du monde réel où l’intervention humaine peut être limitée et où les modèles de conception évolutifs sont essentiels pour créer des solutions d’IA robustes à travers divers ensembles de données et fournisseurs.
Dans ce tutoriel, nous allons créer un workflow agentique qui agit comme un assistant créatif pour l’écriture de courts scénarios animés.
Lorsque l’utilisateur fournit une idée d’histoire, l’agent peut :
Ce cas d’utilisation est conçu pour illustrer à la fois les capacités de raisonnement et de génération d’un modèle de langage, structurées par le workflow compositionnel de LangGraph.
Chacune des étapes suivantes est mise en œuvre en tant que nœud LangGraph :
Ces nœuds sont connectés séquentiellement à un LangGraph, et le modèle se déplace à travers eux tout en transportant un dictionnaire d’état modifiable.
Ce workflow établit un équilibre entre la génération créative et la planification structurelle. Il démontre :
Il est également facile à adapter ; vous pouvez l’étendre aisément en ajoutant des étapes de révision, plusieurs générateurs de scènes ou même une logique de branchement basée sur les personnages.
Vous devez disposer d’un compte IBM Cloud pour créer un projet watsonx.ai .
Bien que vous puissiez faire votre choix parmi plusieurs outils, ce tutoriel vous guide pas à pas pour configurer un compte IBM à l’aide d’un Jupyter Notebook.
Cette étape ouvre un environnement de notebook dans lequel vous pouvez copier le code de ce tutoriel. Vous pouvez également télécharger ce notebook sur votre système local et le charger dans votre projet watsonx.ai en tant qu’actif. Pour consulter d’autres tutoriels Granite, accédez à la page Communauté IBM Granite. Ce tutoriel est également disponible sur GitHub
Cette cellule installe les bibliothèques principales requises pour utiliser le modèle IBM Granite hébergé sur Hugging Face :
Les
Remarque : si vous exécutez ce tutoriel dans un environnement virtuel et que Langgraph n’est pas préinstallé, utilisez la commande pip ’install langgraph’ pour l’installer dans votre environnement local.
Cette cellule importe toutes les bibliothèques principales nécessaires à la création et à l’exécution du workflow agentique :
Ensemble, ces importations préparent l’environnement pour l’interaction avec les modèles, la structuration du workflow et la présentation de la production.
Cette cellule charge le modèle d’IBM
Les
Cette étape initialise efficacement le modèle Granite comme « moteur de raisonnement » derrière notre workflow agentique.
Cette fonction,
Informations principales :
Cette fonction sera réutilisée tout au long du workflow agentique pour invoquer le modèle Granite sur différents nœuds de décision ou de génération.
Cette fonction,
Entrée :
Construction du prompt : le prompt demande au modèle de :
Génération de texte : le prompt est transmis à la
Analyse de la sortie : une simple boucle extrait le genre et le ton de la réponse du modèle sur la base des préfixes de ligne (
Mise à jour de l’état : les valeurs extraites
Ce nœud agit comme un classificateur créatif, permettant aux nœuds suivants de générer des résumés, des structures et des scènes alignés sur le contexte en utilisant le genre et le ton comme paramètres fondamentaux.
Les
Entrée : la fonction reçoit le dictionnaire d’états contenant :
Construction de prompt : il est indiqué au modèle de :
Génération de texte : le prompt est envoyé à
Mise à jour de l’état : le résumé de l’intrigue généré est ajouté à l’état sous la clé
Ce nœud traduit l’intention créative abstraite en trame narrative et fournit un cadre pour la structure détaillée en trois actes qui suit. Il s’assure que les nœuds en aval fonctionnent à partir d’une base de référence cohérente et imaginative.
Les
Entrée : le nœud prend le dictionnaire d’état, qui inclut désormais :
Construction de prompt : il est indiqué au modèle de :
Exigences pour la scène :
Génération de texte :
Mise à jour de l’état : la scène générée est ajoutée au dictionnaire d’état sous la
Il introduit une immersion conversationnelle et un storytelling visuel dans le workflow. Au lieu de simplement résumer l’histoire, ce nœud lui donne vie grâce à des détails sensoriels et émotionnels, essentiels pour la scénarisation de courts métrages d’animation.
Les
Entrée : le nœud attend l’état
Construction de prompt : le modèle est guidé pour :
Consignes pour le dialogue :
Génération : l’appel
Mise à jour de l’état : le dialogue est enregistré dans l’état sous
Cette fonction d’assistance
Objectif de la fonction : encadrer un nœud (par exemple, generate_scene_node) avec un décorateur qui consigne :
Paramètres :
Commutateur interne :
Retours : version modifiée de la fonction qui ajoute des messages de progression, mais qui se comporte de manière identique.
À mesure que les workflows se développent, il devient important de savoir quelle étape est exécutée, en particulier si certaines étapes (comme la génération ou l’édition) prennent plus de temps ou peuvent entraîner des problèmes tels qu’une surcharge de la mémoire. Cet encapsuleur de progression garantit la transparence ; il est utile pour le débogage et les diagnostics d’exécution.
Cette cellule définit la logique de workflow permettant de générer une courte histoire animée en utilisant LangGraph, un framework basé sur des graphes compositionnels et conçu pour les workflows de LLM. Chaque étape du graphe représente une tâche créative et est exécutée dans un ordre spécifique pour produire le scénario final.
Composants du workflow :
Enregistrement d’un nœud avec suivi de la progression : chaque étape (sélection de genre, génération de résumé, écriture de scène, écriture de dialogue) est ajoutée en tant que nœud avec l’encapsuleur with_progress() -
Cette approche garantit que chaque nœud enregistre son exécution et sa progression lorsqu’il est exécuté.
Arcs de workflow (séquencement de nœuds) : la séquence du pipeline créatif est clairement définie :
Cette structure permet un workflow de LLM modulaire, lisible et débogable. Chaque étape de votre processus créatif est isolée, peut être profilée séparément et être ensuite permutée ou étendue (par exemple, en ajoutant une étape « Réviser la scène » ou un nœud « Résumer la sortie »). Le
C’est dans cette dernière cellule de code que vous exécutez le workflow et que vous affichez les résultats de chaque étape de la génération de l’histoire.
Affichage des résultats : le dictionnaire d’état final contient désormais des clés alimentées par différents nœuds :
Cette section montre comment l’intention de l’utilisateur est transformée en un mini-script complet grâce à un workflow de LLM modulaire par étapes. Il s’agit d’un pipeline créatif de bout en bout, interactif, interprétable et personnalisable.
Remarque : l’exécution prend environ 15 à 17 minutes si vous utilisez un GPU ou un GPU. Comptez 65 à 70 minutes dans un environnement virtuel local pour l’exécution et la génération de la sortie en fonction de l’infrastructure utilisée.
Essayons de comprendre comment le système transforme le prompt de l’utilisateur (« Je veux écrire une histoire captivante pour les enfants sur un dragon perdu qui retrouve sa maison ») en une histoire animée complète. Chaque étape s’appuie sur la précédente, guidée par les nœuds créatifs du workflow et optimisée par le modèle Granite.
1. Genre et ton. Le workflow commence par interpréter le prompt original de l’utilisateur : Je veux écrire une histoire captivante pour les enfants sur un dragon perdu qui retrouve sa maison. Sur la base de cette entrée, le nœud select_genre_node classe correctement le récit en tant que conte fantastique et identifie le ton enchanteur et réconfortant approprié. Ce résultat est précis et contextuellement cohérent, car l’utilisation d’expressions comme « fantastique », « pour enfants » et « dragon perdu retrouvant sa maison » signale clairement un style narratif magique mais gentil. Le genre et le ton agissent comme des paramètres fondamentaux qui façonnent chaque étape de génération suivante dans le workflow.
2. Résumé de l’intrigue et description des personnages. Lors de l’étape suivante, il est demandé au modèle de créer un résumé de l’intrigue en fonction du genre identifié, du ton et de l’idée originale de l’utilisateur. Le résultat comprend non seulement un résumé de l’histoire de 3 à 5 phrases, mais aussi des descriptions de personnages bonus, probablement en raison d’une fuite de prompt ou d’une mise en forme d’instructions conservée des itérations précédentes.
L’intrigue est centrée sur une jeune fille nommée Lily qui découvre un dragon blessé et l’aide à retourner dans la forêt enchantée grâce aux conseils d’un vieux herboriste. Ce scénario reflète exactement l’intention de l’utilisateur, en se concentrant sur un parcours magique adapté aux enfants avec des nuances émotionnelles sur la guérison, l’appartenance et l’amitié. Les portraits des personnages que sont le dragon, Lily et l’herboriste ajoutent de la profondeur, transformant une idée vague en un concept structuré avec des rôles, des personnalités et des responsabilités narratives définis. Cette étape permet de passer d’une intention abstraite à une structure tangible adaptée à l’écran.
3. Scène clé. Compte tenu de la description complète de l’intrigue, le
Le moment choisi est celui où Lily soigne le dragon blessé dans la forêt enchantée, établissant ainsi un lien émotionnel et une compréhension mutuelle entre les personnages. Ce moment est crucial car il oriente l’histoire vers le retour du dragon chez lui. La scène, riche en images et en émotions, respecte les contraintes « fantastiques » et « réconfortantes » tout en étant visuellement expressive, parfaitement adaptée à un court métrage d’animation.
La capacité du modèle à maintenir le ton et la cohérence de genre à travers les étapes démontre la valeur du workflow de passage d’état de LangGraph et les capacités de raisonnement du modèle Granite.
4. Dialogue au format scénario. Enfin, le
À chaque étape du workflow, le prompt, « une histoire fantastique pour enfants sur un dragon perdu retrouvant sa maison », est converti en sortie structurée, créative et expressive. De la sélection du genre à la mise en forme des dialogues, le système crée progressivement un arc de storytelling cohérent. Le framework LangGraph garantit que les transitions entre les tâches sont logiquement reliées, et le modèle IBM Granite permet de générer des textes sensibles au contexte avec un ton cohérent. Le résultat est une histoire d’animation courte et dense, prête à être diffusée à l’écran, qui émerge entièrement d’une simple ligne de saisie utilisateur, démontrant ainsi la puissance pratique des workflows automatisés dans les applications d’IA créatives.
Pour rendre l’expérience de storytelling encore plus attrayante, voici une simple visualisation en HTML qui agence magnifiquement les éléments de l’histoire générés : genre, ton, intrigue, scène et dialogue. De plus, en un seul clic, vous pouvez télécharger l’intégralité du script sous forme de fichier texte pour une utilisation ou un partage ultérieur. Donnons vie à cette histoire à l’écran !
Ce tutoriel utilise la solution Granite-4.0-Tiny-Preview pour la génération de texte. Bien qu’il s’agisse d’un modèle plus petit de la famille Granite, il nécessite tout de même un environnement compatible GPU pour fonctionner efficacement, en particulier lors de l’exécution de plusieurs nœuds dans un workflow LangGraph.
Configuration recommandée :
Remarques sur les performance :
Si vous exécutez ce tutoriel dans un environnement de notebook hébergé (par exemple, IBM watsonx.ai ou Google Colab Pro), assurez-vous que le GPU est activé dans les paramètres d’exécution.
Pour les environnements aux ressources limitez, envisagez ce qui suit :
Dans ce tutoriel, nous avons créé un workflow de storytelling modulaire et agentique à l’aide de LangGraph et du modèle de langage Granite-4.0-Tiny-Preview d’IBM. À partir d’un simple prompt créatif, nous avons construit un pipeline étape par étape qui classe les genres et les tons, génère un résumé de l’intrigue, écrit une scène clé et se termine par des dialogues de type scénario. En cours de route, nous avons démontré comment :
Ce framework agentique est non seulement puissant pour l’écriture de scénarios, mais peut également être étendu à un large éventail de cas d’utilisation créatifs ou de routage de tâches. En quelques nœuds seulement, vous avez créé un assistant d’écriture miniature capable de transformer une idée singulière en une histoire prête à être scénarisée.
Que vous soyez développeur, conteur ou chercheur, ce tutoriel vous fournit une base pratique pour explorer l’ingénierie des workflows basée sur les LLM dans les domaines créatifs.
Prêt à créer vos propres agents ? Laissez libre cours à votre créativité avec les modèles IBM Granite et IBM watsonx Orchestrate.
Créez, déployez et gérez de puissants assistants et agents IA qui automatisent les workflows et les processus grâce à l’IA générative.
Construisez l’avenir de votre entreprise avec des solutions d’IA en lesquelles vous pouvez avoir confiance.
IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.
1 Lang Cao. 2024. GraphReason: Enhancing Reasoning Capabilities of Large Language Models through A Graph-Based Verification Approach. In Proceedings of the 2nd Workshop on Natural Language Reasoning and Structured Explanations (@ACL 2024), pages 1–12, Bangkok, Thaïlande. Association for Computational Linguistics.