nAIxus Docs

Guide de sélection des nodes

Matrice de décision pour choisir le bon node en fonction du problème à résoudre.

Ce guide répond à une question simple : "J'ai besoin de faire X → quel node j'utilise ?"

Plutôt qu'un catalogue technique, ce guide est orienté problème. Il part du besoin et arrive au node.


Matrice de décision rapide

Je veux…Node à utiliserRemarques
Démarrer depuis un canal externeTrigger from ChannelWebchat, SDK, Slack, WhatsApp, Teams. Point d'entrée des flows déployés.
Brancher selon une conditionConditionIf/else avec expressions. Routage, filtrage, décisions automatiques.
Appeler une API externeHTTP RequestGET, POST, PUT, DELETE, PATCH. Headers, body, auth configurables.
Exécuter du code customCodePython. Pour les transformations que les autres nodes ne couvrent pas.
Faire répondre une IAAgentEnvoie un prompt à un LLM. Configure le modèle et la temperature.
Traiter une liste d'élémentsLoopItère sur un tableau et exécute les nodes enfants pour chaque élément.
Stocker/modifier une variableSet VariableDéfinir ou mettre à jour une variable de contexte pour la suite du flow.
Demander une validation humaineHuman InputMet le flow en pause. Un opérateur répond, puis le flow reprend.
Extraire du texte d'un documentParse DocumentPDF, Word, etc. → texte brut exploitable par d'autres nodes.
Démarrer manuellementTrigger ManualPour les tests et le développement.

Par catégorie de besoin

J'ai besoin de router ou décider (logique)

→ Node Condition pour les branchements

Le point de départ de la plupart des flows. Évalue une expression et dirige le flow vers une branche ou l'autre. Beaucoup de cas d'usage peuvent être résolus avec de la logique conditionnelle seule, sans IA.

Exemples d'expressions :

  • {{ trigger.metadata.category }} == "vip" — Routage par catégorie client.
  • {{ trigger.message }} contient "urgent" — Détection de mot-clé.
  • {{ http_request.response.status }} == 200 — Vérification d'un appel API.

Bonne pratique : Définissez toujours une branche else. Un flow sans else est un flow qui plante silencieusement sur les cas imprévus.

→ Node Loop pour les itérations

Prend un tableau en entrée et exécute les nodes enfants pour chaque élément.

Cas typiques :

  • Traiter N documents un par un.
  • Analyser chaque ligne d'un tableau CSV.
  • Envoyer une notification à chaque destinataire d'une liste.

J'ai besoin d'intelligence (IA)

→ Node Agent

Envoie un prompt à un LLM et retourne la réponse. Utile quand le traitement nécessite de la compréhension du langage naturel (classification sémantique, génération de texte, extraction intelligente).

Paramètres clés :

ParamètreCe qu'il contrôle
ProviderFournisseur IA (OpenAI, Anthropic, Bedrock…)
ModelModèle spécifique (GPT-4o, Claude 3.5 Sonnet…)
System PromptLes instructions de comportement de l'agent
Temperature0 = déterministe et factuel, 1 = créatif et varié
Max TokensLongueur maximale de la réponse
ToolsOutils que l'agent peut appeler (function calling)
StreamingRéponse progressive (mot par mot) ou en bloc

Quand utiliser une temperature basse (0-0.3) : extraction de données, classification, réponses factuelles.

Quand utiliser une temperature haute (0.7-1) : rédaction créative, brainstorming, reformulation.

Piège courant : Un prompt trop vague produit des réponses imprévisibles. Soyez spécifique sur le format de sortie attendu.


Attention : Si vous utilisez un Agent dans une boucle, chaque itération = un appel LLM = un coût. Évaluez si un node Code ou une Condition ne suffirait pas.


J'ai besoin de communiquer avec l'extérieur

→ Node HTTP Request pour appeler des APIs

Configure un appel HTTP complet : méthode, URL, headers, body, authentification.

Cas typiques :

  • Créer un ticket dans Jira, ServiceNow.
  • Récupérer des données depuis un CRM (Salesforce, HubSpot).
  • Envoyer une notification Slack/Teams.
  • Appeler un microservice interne.

Configuration :

ChampExemple
MethodPOST
URLhttps://api.crm.com/v2/contacts
HeadersAuthorization: Bearer {{ secrets.crm_token }}
Body{ "name": "{{ agent.output.name }}" }

Piège courant : Ne pas gérer le cas où l'API retourne une erreur (500, timeout). Ajoutez une Condition après le HTTP Request pour vérifier le statut.


J'ai besoin de transformer des données

→ Node Code pour les transformations complexes

Exécute du code Python. Utile quand les expressions {{ }} ne suffisent pas.

Cas typiques :

  • Parser un JSON complexe.
  • Calculer des statistiques sur un ensemble de données.
  • Formater un email HTML.
  • Appliquer une logique métier spécifique que l'IA ne peut pas faire de manière fiable.

Quand préférer Code vs Agent : Si le traitement est déterministe (calcul, formatage, filtre), utilisez Code. Si le traitement nécessite de la compréhension (classification, résumé, extraction sémantique), utilisez Agent.

→ Node Set Variable pour les variables simples

Définit ou met à jour une variable sans écrire de code.

Cas typiques :

  • Stocker un score calculé : score = {{ agent.output.score }}.
  • Accumuler des résultats dans une boucle.
  • Préparer un contexte pour un node en aval.

J'ai besoin d'intervention humaine

→ Node Human Input (HITL)

Met le flow en pause et affiche un formulaire à un opérateur humain. Le flow reprend quand l'opérateur répond.

Cas typiques :

  • Valider une réponse générée par l'IA avant envoi au client.
  • Demander une information manquante qu'un humain seul peut fournir.
  • Escalader un cas complexe que l'IA ne sait pas traiter.

Points d'attention :

  • Qui reçoit la notification de validation ? Prévoir le workflow humain en amont.
  • Quel est le délai acceptable ? L'utilisateur final attend pendant ce temps.
  • Que se passe-t-il si personne ne valide ? (timeout, fallback)

J'ai besoin de traiter des documents

→ Node Parse Document

Extrait le texte d'un fichier (PDF, Word, etc.) pour le rendre exploitable par un Agent.

Workflow typique : Parse Document → Agent (extraction/analyse) → résultat structuré.

Limites :

  • Le résultat est du texte brut. La mise en page, les tableaux et les images sont perdus ou approximatifs.
  • Les documents scannés (images de texte) nécessitent un OCR en amont (hors nAIxus).

Arbre de décision

Mon besoin principal :

├── Router / décider automatiquement
│   ├── Par règles (mot-clé, catégorie, seuil) → Condition
│   └── Par compréhension sémantique → Agent + Condition

├── Comprendre / Générer du texte
│   └── → Agent

├── Traiter une liste d'éléments
│   └── → Loop + [node de traitement]

├── Appeler un système externe
│   └── → HTTP Request

├── Transformer des données (calcul, formatage)
│   ├── Simple → Set Variable
│   └── Complexe → Code

├── Demander l'avis d'un humain
│   └── → Human Input

└── Extraire du texte d'un fichier
    └── → Parse Document

Combinaisons fréquentes

PatternNodesUsage
Routage par règlesCondition → HTTP RequestRouter sans IA (par catégorie, mot-clé, seuil)
Pipeline de donnéesCode → HTTP RequestTransformer et envoyer sans IA
Analyse + décisionAgent → ConditionL'IA analyse, puis le flow branche
Extraction documentaireParse Document → AgentTexte brut → données structurées
Validation humaineAgent → Human Input → AgentDraft → validation → version finale
Intégration SICode → HTTP RequestTransformation → envoi vers API
Traitement par lotLoop → [Code ou Agent] → Set VarN éléments traités un par un

On this page