Guide

Statut éditorial : En attente de relecture

Créer des composants personnalisés dans Langflow

Étendre Langflow avec un composant Python, définir ses entrées et sorties, le tester et limiter les risques d’exécution de code.

Classification du contenu

Types

  • Intelligence artificielle

Technologies

Niveau
Avancé
Publié le
13 août 2026
Prochaine vérification
13 novembre 2026

Un composant personnalisé encapsule une opération Python réutilisable dans l’éditeur visuel. Il est pertinent pour appeler un service métier, normaliser des données ou fournir un outil à un agent.

Structure minimale

La classe hérite de Component, décrit ses entrées et sorties, puis associe chaque sortie à une méthode. Les imports recommandés évoluent avec Langflow ; utilisez le chemin indiqué par la documentation de votre version.

from lfx.custom.custom_component.component import Component
from lfx.io import MessageTextInput, Output
from lfx.schema import Data


class NormalizeQuery(Component):
    display_name = "Normalize Query"
    description = "Nettoie une requête avant la recherche."
    name = "normalize_query"

    inputs = [MessageTextInput(name="query", display_name="Query")]
    outputs = [Output(name="result", display_name="Result", method="build")]

    def build(self) -> Data:
        normalized = " ".join(self.query.strip().split())
        return Data(data={"query": normalized})

Placez le fichier dans un sous-dossier de catégorie contenant un __init__.py, puis configurez LANGFLOW_COMPONENTS_PATH si le répertoire est externe à l’installation.

Concevoir l’interface

Utilisez des noms stables, des types étroits et une description orientée comportement. Une entrée doit représenter une donnée nécessaire, pas un objet global rempli de secrets. Une sortie doit rester petite et sérialisable.

Pour un appel externe, définissez délai, traitement des erreurs et limites de volume. Ne renvoyez pas les détails internes d’une exception à l’utilisateur ou au modèle.

Tester hors du graphe

Extrayez la logique métier dans une fonction ou un service Python testable sans Langflow. Le composant devient alors un adaptateur mince. Testez entrées vides, Unicode, réponse lente et erreur du service.

Ajoutez ensuite un test de flux pour vérifier le câblage et les types transmis aux composants voisins.

Sécurité

L’éditeur de composants exécute du Python. Sur une instance partagée, activez la restriction aux superutilisateurs ou désactivez les composants personnalisés. Maintenez une liste approuvée et exécutez Langflow dans un environnement isolé avec droits minimaux.

Ne placez pas de clé directement dans le code ou l’export du flux. Utilisez la gestion de secrets et limitez les identités réseau accessibles au conteneur.

Versionnement

Conservez les composants dans Git, épinglez leurs dépendances et livrez-les avec l’image de déploiement. Un flux exporté doit référencer une version compatible. Testez les migrations avant de mettre à jour Langflow ou le paquet lfx.

À retenir

Un composant personnalisé est du code de production présenté comme un nœud. Sa qualité dépend de la même discipline qu’un service classique : interface limitée, tests, revue, secrets externes et environnement d’exécution contrôlé.

Sources utilisées