Face à l’évolution du paysage des agents d’IA, certaines entreprises se montrent réticentes à adopter massivement ces agents autonomes.1 Les difficultés rencontrées concernent notamment la gouvernance, l’éthique, la collaboration entre les humains et l’IA, le déploiement et l’évolutivité. La création d’agents d’IA dignes de confiance ne doit toutefois pas nécessairement être complexe. IBM watsonx Orchestrate permet de répondre à toutes ces préoccupations sur une seule et même plateforme. Dans ce tutoriel, vous apprendrez à utiliser Langflow et watsonx Orchestrate afin de créer des agents fiables, évolutifs et adaptés aux entreprises.
Langflow est un framework Python open source destiné à créer des agents d’IA et d’autres applications d’IA. À l’origine, Langflow a été créé à partir de son framework parent, LangChain. LangGraph, une autre plateforme de la même famille, est également utilisé pour créer des systèmes agentiques reposant sur des architectures fondées sur des graphes. Langflow se distingue par son interface glisser-déposer facile à utiliser, dans laquelle les utilisateurs peuvent connecter les composants des agents afin de concevoir des workflows personnalisés ou partir de modèles prédéfinis. Comme alternative à cette approche low-code ou no-code, les développeurs peuvent créer des composants personnalisés et intégrer des flux d’agents détaillés dans le code d’applications existantes à l’aide de l’API Langflow. Dans ce tutoriel Langflow, nous allons découvrir comment créer et déployer des agents :
Chacune de ces approches fait l’objet d’une section de ce tutoriel. Notez que ce tutoriel est également accessible sur GitHub.
Commençons !
Ce tutoriel nécessite les éléments suivants :
Sans ces prérequis, vous ne pourrez pas reproduire ce tutoriel.
Exécutez la commande suivante dans votre terminal. Vous serez invité à vous connecter à votre compte IBM Cloud à l’aide de votre IBMid. Si vous disposez de plusieurs comptes, vous devrez en sélectionner un.
Remarque : vos identifiants ont-ils été refusés ? Vous utilisez peut-être un compte fédéré. Reconnectez-vous à l’aide de l’option
Une sortie semblable à celle de l’exemple vous indiquera que la connexion a réussi.
Sortie :
Remarque : si la région indiquée n’est pas correcte, exécutez
Pour afficher vos ressources Cloud, exécutez
Sortie :
Ciblez ensuite la ressource concernée en exécutant
Le résultat doit ressembler à cette sortie.
Sortie :
IBM Cloud Code Engine permet d’exécuter pratiquement n’importe quelle workload conteneurisée sans avoir à gérer de serveurs ni d’infrastructure. La plateforme prend en charge aussi bien les microservices et les applications web que les traitements par lots et les fonctions déclenchées par des événements. Elle propose également une fonctionnalité intégrée de création d’images à partir du code source. Toutes les workloads partageant le même environnement Kubernetes, elles s’intègrent naturellement les unes aux autres. Code Engine est conçu pour vous libérer des contraintes liées à l’infrastructure afin que vous puissiez vous concentrer sur la création d’applications. L’étape suivante consiste à installer l’interface de ligne de commande Code Engine. Exécutez la commande suivante dans votre terminal.
Sortie :
Parfait ! Ciblons maintenant un projet dans Code Engine. Commencez par afficher la liste des projets en exécutant
Sortie :
Un projet Code Engine regroupe des entités telles que les applications, les travaux et les générations. Il sert d’unité de gestion des ressources et de contrôle des accès à ces entités. Si vous ne disposez d’aucun projet Code Engine actif, exécutez
Pour cibler le projet concerné, exécutez
Sortie :
Remarque : si une erreur se produit à cette étape, vérifiez que vous avez ciblé l’environnement approprié à l’aide de
Pour utiliser Langflow conjointement avec l’interface de ligne de commande Code Engine, exécutez la commande suivante.
L’exécution de cette commande peut prendre plusieurs minutes. N’intervenez pas et laissez-la s’exécuter.
Sortie :
Pendant l’exécution de la commande de configuration de Langflow, nous pouvons ajouter un environnement afin d’établir une interface entre notre machine locale et notre solution SaaS hébergée.
Dans une nouvelle fenêtre de terminal, activez un environnement virtuel dans le répertoire de votre choix. Vous pouvez remplacer
Activez l’environnement virtuel à l’aide de la commande suivante et remplacez
macOS/Linux :
Windows :
Dans votre navigateur, accédez à la liste de vos ressources IBM Cloud, développez la liste déroulante AI/Machine Learning, puis sélectionnez la ressource wxO active. Son nom doit ressembler, par exemple, à « Watson Orchestrate-itz ». Copiez ensuite l’URL indiquée dans la fenêtre Credentials (Identifiants). Gardez cette page ouverte dans votre navigateur, car vous en aurez de nouveau besoin dans quelques instants. Dans la commande suivante, remplacez
Sortie :
Lorsque vous êtes invité à saisir la clé d’API wxO, revenez à la page de la ressource ouverte dans votre navigateur. Ne saisissez pas la clé d’API située au-dessus de l’URL que vous avez copiée. Cliquez plutôt sur le bouton Launch watsonx Orchestrate (Lancer watsonx Orchestrate). Cliquez ensuite sur l’icône circulaire comportant vos initiales en haut à droite de l’écran et ouvrez les Settings (Paramètres). Sélectionnez l’onglet API details (Détails de l’API) et cliquez sur le bouton Generate API key (Générer une clé d’API). Saisissez ensuite le nom et la description de votre choix pour la clé d’API, puis sélectionnez « Disable the leaked key » (Désactiver la clé exposée) dans la section « Leaked action » (Action en cas de fuite). Surtout, sélectionnez « Yes » (Oui) dans la section « Session management » (Gestion des sessions) afin d’activer la gestion des sessions pour les connexions effectuées depuis l’interface de ligne de commande, puis cliquez sur « Create » (Créer). Votre clé d’API devrait s’afficher. Copiez-la et collez-la dans le terminal que vous utilisiez précédemment afin de répondre à l’invite demandant la clé d’API wxO.
Sortie :
Parfait ! Langflow est maintenant actif.
Afin de créer un environnement Code Engine stable qui ne supprime pas notre application Langflow après un délai fixe, ouvrez de nouveau votre navigateur. Accédez à la vue d’ensemble de vos conteneurs IBM Cloud. Le projet Code Engine que vous venez de créer devrait s’afficher. Ouvrez le projet. Ouvrez ensuite votre application Langflow. Dans l’onglet Configuration, ouvrez le composant Resources and scaling (Ressources et mise à l’échelle). La seule modification à effectuer consiste à faire passer le nombre minimal d’instances de 0 à 1. Cliquez ensuite sur le bouton Deploy (Déployer) afin d’appliquer cette révision de la configuration.
Une fois cette étape terminée, cliquez sur le bouton Test application (Tester l’application), puis sur le lien hypertexte Application URL (URL de l’application). Notre instance Langflow dans IBM Cloud s’ouvre.
Il existe de nombreuses façons de créer un flux Langflow. Vous pouvez utiliser des modèles prédéfinis ou en créer un intégralement. Dans ce tutoriel, nous allons choisir la deuxième solution. Pour commencer, cliquez sur + Blank Flow (Flux vierge). Cet exemple présente un flux que vous pouvez créer, mais n’hésitez pas à explorer les nombreux composants et les nombreuses intégrations disponibles dans Langflow.
Chat Input : reçoit l’entrée de l’utilisateur dans le chat.
Chat Output : renvoie la sortie du flux à l’utilisateur dans le chat.
Agent : utilise une intégration à un grand modèle de langage (LLM) pour répondre aux entrées de l’utilisateur et peut être connecté à plusieurs outils.2
MCP Tools : se connecte à un serveur Model Context Protocol (MCP) et présente les fonctions de ce serveur sous forme d’outils que les agents peuvent utiliser pour répondre aux entrées.2
IBM watsonx.ai : donne accès aux modèles IBM watsonx.ai pour la génération de texte.3
News Search : récupère du contenu dans Google Actualités et produit un DataFrame structuré contenant le titre, le lien, la date de publication et le résumé de chaque article.4
arXiv : recherche des articles pertinents sur arXiv.org et renvoie les résultats sous forme de DataFrame.5
Enfin, sélectionnez + New Custom Component (Nouveau composant personnalisé) en bas du menu.
Pour faciliter la visualisation, organisez votre flux de la manière suivante.
2. Connectez le composant Chat Input (Entrée de chat) au champ « Input » (Entrée) du composant Agent.
3. Connectez le composant Chat Output (Sortie de chat) au champ « Response » (Réponse) du composant Agent.
4. Dans le composant Agent, sélectionnez « Custom » (Personnalisé) dans la liste déroulante « Model Provider » (Fournisseur de modèles). Selon la version de Langflow que vous utilisez, l’option « Connect other models » (Connecter d’autres modèles) peut s’afficher à la place. Ces deux options conviennent.
5. Dans le composant IBM watsonx.ai, sélectionnez le point de terminaison d’API watsonx.ai correspondant à vos identifiants d’API. Collez ensuite l’ID de votre projet watsonx.ai et votre clé d’API dans les champs appropriés. Sélectionnez ensuite le grand modèle de langage de votre choix. Dans ce tutoriel, nous pouvons sélectionner
6. Activez Tools Mode (Mode Outils) à l’aide du bouton bascule des composants arXiv, News Search (Recherche dans les actualités) et Custom Component (Composant personnalisé). Ce bouton s’affiche dans le menu d’en-tête lorsque vous cliquez n’importe où dans chacun de ces composants. Une fois ce mode activé, vous pouvez connecter ces composants au champ « Tools » (Outils) du composant Agent. Les composants arXiv et News Search (Recherche dans les actualités) sont configurés et prêts à être utilisés. Nous pouvons maintenant nous concentrer sur la configuration des autres composants.
7. Dans le menu d’en-tête du Custom Component (Composant personnalisé), sélectionnez <> Code. Vous pouvez alors personnaliser le comportement du composant en modifiant le code Python qui le définit.6 À titre d’exemple simple, nous pouvons créer un outil qui renvoie la date du jour, une information à laquelle un LLM n’aurait autrement pas accès. Remplacez le code standard par le code suivant :
Enregistrez vos modifications. Le composant devrait maintenant afficher son nouveau nom, sa nouvelle description et sa nouvelle icône.
8. Vous pouvez fournir autant d’outils que vous le souhaitez à votre agent. Veillez toutefois à ne pas le surcharger avec un nombre excessif d’outils, car cela pourrait nuire à ses performances et à son exactitude. Le dernier outil que nous allons activer est un serveur MCP. Vous pouvez vous connecter au serveur de votre choix. Dans ce tutoriel, nous pouvons nous connecter au serveur MCP Alpha Vantage.7 Le serveur MCP Alpha Vantage officiel permet aux LLM et aux agents de récupérer facilement des données boursières en temps réel et historiques à l’aide du Model Context Protocol. Pour vous connecter à ce serveur, ouvrez la liste déroulante « MCP Server » (Serveur MCP) dans votre composant MCP Tools (Outils MCP), puis cliquez sur + Add MCP Server (Ajouter un serveur MCP). Dans l’onglet STDIO, attribuez le nom de votre choix au serveur, par exemple « av_mcp », puis collez la commande suivante :
Bravo ! Votre flux est terminé et doit ressembler à la capture d’écran suivante.
Pour vérifier que le pipeline de recherche fonctionne comme prévu, ouvrez le Playground (Environnement de test) et discutez avec l’agent que vous venez de créer ! Posez à l’agent des questions nécessitant l’invocation de l’un des outils connectés. Voici quelques exemples d’entrées :
L’agent doit invoquer les outils disponibles et produire le résultat approprié. Si vous rencontrez des problèmes à cette étape, revenez à votre flux et vérifiez que vos identifiants sont corrects et que vous avez bien suivi chacune des étapes.
L’une des méthodes permettant de connecter ce flux à watsonx Orchestrate consiste à l’utiliser comme serveur MCP. Cliquez sur la liste déroulante Share (Partager) dans le coin supérieur droit, puis sélectionnez « MCP Server » (Serveur MCP). Ouvrez l’onglet « JSON ». Un code semblable à l’exemple suivant devrait s’afficher :
Copiez l’URL contenue dans votre fragment JSON. Elle sera différente de celle de l’exemple précédent. Retournez dans votre terminal et collez l’URL de votre serveur MCP à la place de l’espace réservé
Sortie :
Dans votre navigateur, accédez à watsonx Orchestrate et créez intégralement un agent. Saisissez le nom et la description de votre choix. Une fois l’agent créé, ouvrez l’onglet Toolset (Ensemble d’outils), puis cliquez sur le bouton Add tool (Ajouter un outil). Sélectionnez l’option permettant d’importer des outils depuis un serveur MCP. Dans la liste déroulante Select MCP server (Sélectionner un serveur MCP), sélectionnez le serveur que nous avons importé, activez les outils à l’aide du bouton bascule correspondant, puis fermez la fenêtre. Cliquez ensuite sur Déployer. Une fois l’agent déployé, vous pouvez discuter avec lui depuis la fenêtre de chat d’aperçu ou depuis l’interface de chat accessible dans le menu latéral réduit.
Interrogeons notre agent ! Saisissez par exemple : « Trouve-moi 5 articles de recherche sur l’informatique quantique. »
Formidable ! Le chatbot agentique se comporte comme prévu : non seulement il produit la réponse correcte, mais il invoque également l’outil arXiv approprié. N’hésitez pas à expérimenter avec différents prompts.
Cette approche ne nécessite pas Code Engine. Elle permet de configurer un environnement de développement local à l’aide du SDK watsonx Orchestrate Developer Edition, une version légère de watsonx Orchestrate qui fonctionne comme un serveur de développement local.
Avant de commencer à créer localement avec Langflow, installez la version Developer Edition de l’ADK wxO. Notez que cette version Developer Edition n’était pas nécessaire pour la première approche présentée dans ce tutoriel.
Dans l’IDE de votre choix, configurez votre environnement. Créez un dossier nommé
wxo-langflow-agent/ ├── .env ├── tools/ └── agents/
2. Ouvrez le terminal et activez un environnement virtuel. Vous pouvez remplacer
Activez l’environnement virtuel à l’aide de la commande suivante et remplacez
macOS/Linux :
Windows :
3. Dans le fichier .env, définissez les variables d’environnement suivantes. Pour plus d’informations, consultez le guide de configuration.
4. Exécutez la commande suivante pour installer le serveur watsonx Orchestrate Developer Edition. Il n’est pas nécessaire d’installer Langflow, car il est inclus dans l’ADK Developer Edition. L’option de commande
La première activation d’un serveur à l’aide de cette commande peut prendre plusieurs minutes.
Dépannage : si vous aviez installé watsonx Orchestrate Developer Edition avant la version 2.0 de l’ADK et que vous rencontrez des erreurs lors du démarrage des conteneurs, exécutez la commande suivante :
La fin de la sortie doit ressembler à l’exemple suivant.
Sortie :
L’ADK watsonx Orchestrate définit les environnements comme les instances watsonx Orchestrate auxquelles vous pouvez vous connecter. Votre environnement sera une instance Developer Edition exécutée sur votre ordinateur portable. Vous pouvez utiliser la commande orchestrate env listlocallocal
orchestrate env activate local
Sortie :
[INFO] - local tenant found
[INFO] - Environment 'local' is now active
Exécutez ensuite la commande suivante afin d’ouvrir l’interface de chat dans votre navigateur par défaut.
orchestrate chat start
Sortie :
[INFO] - Chat UI Service started successfully.
[INFO] - Waiting for UI component to be initialized...
[INFO] - Opening chat interface at http://localhost:3000/chat-lite
Comme l’indique la sortie précédente, l’éditeur Langflow est accessible par l’intermédiaire de watsonx Orchestrate Developer Edition sur le port 7861.
Nous allons examiner deux méthodes permettant d’importer des flux Langflow dans notre serveur watsonx Orchestrate local :
a) Importer le flux sous forme de serveur MCP local.
b) Importer le flux au format JSON.
Cette étape ressemble à l’étape 7 de la première partie du tutoriel, à quelques différences mineures près.
Cliquez sur la liste déroulante Share (Partager) dans le coin supérieur droit de Langflow, puis sélectionnez « MCP Server » (Serveur MCP). Ouvrez l’onglet « JSON ». Un code semblable à l’exemple suivant devrait s’afficher :
{
"mcpServers": {
"lf-starter_project": {
"command": "uvx",
"args": [
"mcp-proxy",
"http://localhost:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse"
]
}
}
}
Copiez l’URL contenue dans votre fragment JSON. Elle sera différente de celle de l’exemple précédent. Retournez dans votre terminal et collez la commande suivante en remplaçant l’URL de l’exemple par la vôtre. Contrairement à la commande exécutée avec IBM Cloud, vous devez ici remplacer localhosthost.docker.internal
orchestrate toolkits add \
--kind mcp \
--name langflow_research_mcp \
--description "LangFlow MCP Server" \
--command "uvx mcp-proxy http://host.docker.internal:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse" \
--tools "*"
Sortie :
[INFO] - Successfully imported tool kit langflow_research_mcp
Dans l’instance locale de watsonx Orchestrate ouverte dans votre navigateur, cliquez sur « Create new agent » (Créer un agent), puis saisissez un nom et une description pour votre nouvel agent. Cliquez ensuite sur le bouton Create (Créer).
4. Dans l’onglet Toolset (Ensemble d’outils), cliquez sur le bouton Add tool (Ajouter un outil). Sélectionnez « local instance » (instance locale) afin d’ajouter le serveur MCP déjà importé, cochez la case correspondant à ce serveur, puis cliquez sur Add to agent (Ajouter à l’agent).
5. Commencez à discuter !
Au lieu d’importer les flux sous forme de serveurs MCP, nous pouvons utiliser l’ADK pour importer des flux à partir de fichiers JSON exportés.
1. Cette approche convient davantage aux flux simples. À des fins de démonstration, utilisons le flux suivant :
Exportez le flux au format JSON en cliquant sur le bouton Share (Partager), puis en sélectionnant Export (Exporter). Saisissez le nom et la description de votre choix pour l’outil ou le flux. Le nom de l’outil doit contenir uniquement des caractères alphanumériques et des traits de soulignement. Il ne doit pas commencer par un chiffre ni par un trait de soulignement.
2. Ajoutez le fichier JSON que vous venez d’exporter au dossier
3. Exécutez la commande suivante pour importer votre flux dans watsonx Orchestrate.
4. Après avoir importé le flux Langflow sous forme d’outil, l’étape suivante consiste à le connecter à un système d’agents. Pour ce faire, vous pouvez créer un agent dans l’interface utilisateur de watsonx Orchestrate ou copier la définition d’agent suivante dans un nouveau fichier
Importez ensuite l’agent simple en exécutant la commande suivante :
5. Actualisez la page de l’interface de chat watsonx Orchestrate exécutée localement afin d’afficher les modifications. Dans la liste déroulante Agents, sélectionnez « ArXiv Agent », puis posez des questions nécessitant l’utilisation de l’outil arXiv !
Exemple de prompt : « Trouve-moi 5 articles de recherche sur l’informatique quantique. »
Sortie :
Parfait ! L’agent a déterminé qu’il devait invoquer l’outil
Ce tutoriel vous a permis d’acquérir les compétences essentielles nécessaires pour utiliser Langflow et watsonx Orchestrate afin de créer des agents robustes, évolutifs et adaptés aux entreprises. Vous avez appris à importer des flux Langflow agentiques sous forme de serveurs MCP en utilisant watsonx Orchestrate comme logiciel sous forme de service (SaaS), conjointement avec IBM Cloud. Vous savez également comment importer des flux Langflow simples lorsque vous utilisez localement l’Agent Development Kit (ADK) d’IBM watsonx Orchestrate. En suivant les instructions détaillées, vous avez appris à concevoir, développer et déployer des agents qui invoquent des outils personnalisés ou prédéfinis afin de répondre aux requêtes des utilisateurs. Grâce à l’interface visuelle intuitive de Langflow, vous avez créé des workflows complexes, tandis que watsonx Orchestrate vous a permis de gérer ces agents et de les faire évoluer efficacement. Pour poursuivre, appliquez les connaissances acquises dans ce tutoriel à un cas d’utilisation réel. Choisissez un problème ou un processus métier précis susceptible de bénéficier de l’automatisation dans votre entreprise, puis concevez une solution fondée sur Langflow et watsonx Orchestrate afin d’y répondre. Cette expérience pratique consolidera vos connaissances et vous aidera à identifier les aspects à améliorer ou à approfondir.
Si vous rencontrez des difficultés ou avez des questions, consultez la documentation. La plupart des problèmes courants sont abordés dans le guide de dépannage. Vous pouvez également consulter les problèmes signalés sur GitHub afin de déterminer si d’autres personnes ont rencontré des difficultés similaires.
Donnez aux développeurs les moyens de créer, de déployer et de surveiller des agents d’IA avec le studio IBM watsonx.ai.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.
1 Satyadhar Joshi. « Review of Autonomous Systems and Collaborative AI Agent Frameworks. » International Journal of Science and Research Archive, vol. 14, n° 2, 28 février 2025, pp. 961–972, https://ijsra.net/content/review-autonomous-systems-and-collaborative-ai-agent-frameworks.
2 « Agents | Langflow Documentation. » Langflow.org, 2025, docs.langflow.org/components-agents.
3 « IBM | Langflow Documentation. » Langflow.org, 2025, docs.langflow.org/bundles-ibm.
4 « Data | Langflow Documentation. » Langflow.org, 2025, docs.langflow.org/components-data.
5 « ArXiv | Langflow Documentation. » Langflow.org, 2025, docs.langflow.org/bundles-arxiv.
6 « Components Overview | Langflow Documentation. » Langflow.org, 2025, docs.langflow.org/concepts-components.
7 « Alpha Vantage MCP for Stock Market Data. » Alphavantage.co, 2025, mcp.alphavantage.co/.