Skip to content

Fiches des blocs Studio ​

Cette page décrit le rôle, la configuration et les sorties des neuf blocs standards. Leur disponibilité dépend de votre organisation. La palette peut aussi proposer d’autres blocs avec leurs propres champs et sorties. Consultez le modèle d’un workflow pour les informations de base, la configuration et les liens.

Message simple ​

Renvoie un texte fixe ou enrichi avec des variables. Utilisez-le pour une réponse sans LLM, une confirmation, un fallback ou un diagnostic temporaire.

ChampObligatoireDescription
MessageOuiTexte renvoyé ; accepte les variables et helpers

Sortie : message, par exemple {{simpleMessage-1.message}}.

txt
Bonjour {{userData.givenName}}, votre demande concerne : {{userMessage}}

Pour inspecter une valeur pendant la mise au point :

txt
{{codeblock documents.body}}

Bonnes pratiques : gardez les messages courts, reliez les erreurs techniques à un message lisible et retirez les blocs de debug avant publication.

Erreurs fréquentes : message vide, variable mal orthographiée, fallback non relié ou donnée sensible affichée par un helper de debug.

Requête HTTP ​

Appelle une API interne ou externe pour interroger un service métier, lancer une recherche spécialisée ou envoyer des données.

RAG actuel

Pour la recherche documentaire RAG, utilisez le MCP Retriever avec MCP - Liste d'outils et MCP - Appel d'outils. Le bloc HTTP reste utile pour les API métier qui ne proposent pas d’interface MCP.

Échanges lors d’une requête HTTP
100 %
Échanges lors d’une requête HTTPLe workflow exécute la requête HTTP. L’API renvoie son statut et sa réponse, puis le bloc expose body et metadata. Workflow. Requête HTTP. API1. Exécute le bloc2. URL, méthode, en-têtes, corps3. Statut et réponse4. body, metadataWorkflowWorkflowRequête HTTPRequête HTTPAPIAPI
ChampObligatoireDéfautDescription
URLOui-Adresse de l’API
Méthode HTTPOui-GET, POST, PUT, PATCH ou DELETE
En-têtes HTTPNon{}Objet JSON d’en-têtes
Délai d’expirationOui30Timeout en secondes
Arrêter si la requête échoueNontrueDéclenche la branche d’échec
Codes HTTP acceptésOui[200]Tableau JSON de codes considérés comme succès
Type du corpsNonrawraw, formData ou x-www-form-urlencoded
Corps de la requêteNon-Données envoyées
Format de la réponseNonJSONJSON, Text ou Binary

En-têtes :

json
{
  "Authorization": "Bearer {{customParams.mcpAccessToken}}",
  "Content-Type": "application/json"
}

Codes acceptés :

json
[200, 201, 204]

Corps de recherche :

json
{
  "query": "{{userMessage}}",
  "limit": 5
}

Sorties : body et metadata, par exemple {{http-1.body}}.

Bonnes pratiques : testez l’API hors Studio, utilisez un alias métier comme customer-api, ajoutez le bon Content-Type et reliez Après échec.

Erreurs fréquentes : URL invalide, objet d’en-têtes ou tableau de codes mal formé, référence incorrecte, format de réponse erroné ou timeout trop court.

Sources de données ​

Sélectionne les sources documentaires ou tabulaires à utiliser et prépare leurs paramètres pour le bloc qui les consommera.

ChampObligatoireDescription
Modèle d’embeddingOuiModèle utilisé par les sources ; choisissez un modèle disposant d’un index
Sources de donnéesOuiUne ou plusieurs sources compatibles avec le modèle sélectionné
  1. Choisissez d’abord le modèle d’embedding.
  2. Sélectionnez les sources utiles parmi les propositions.
  3. Connectez ce bloc au bloc qui utilisera les sources, depuis sa section Ports contextuels.

Un modèle affiché avec index non provisionné ne peut pas être sélectionné. Si aucune source n’est proposée, vérifiez sa compatibilité avec le modèle choisi. Après un changement de modèle, Studio retire les sources devenues incompatibles : vérifiez de nouveau la sélection.

Le bloc prépare les paramètres de la sélection. La recherche et la génération de la réponse sont réalisées par les blocs ou outils qui utilisent ces paramètres.

Sorties : llmConnectorId, dataSourceIds, index, embeddingModel et dimensions. Par exemple, {{dataSources-1.dataSourceIds}} désigne la liste des identifiants sélectionnés. L’index, le nom du modèle et les dimensions sont renseignés automatiquement à partir du modèle choisi.

Pour une connexion de sources, un seul bloc Sources de données peut être associé au bloc consommateur ; il peut contenir plusieurs sources. Suivez le guide des connexions de sources et d’outils pour les étapes sur le canvas.

Variables ​

Crée ou recalcule des valeurs pour simplifier une référence, partager une donnée entre plusieurs blocs ou la conserver pendant la conversation.

Un même bloc peut définir plusieurs variables. Le bloc est vide à l’ajout : cliquez sur Ajouter une variable pour chaque valeur à créer, et sur Supprimer la variable pour en retirer une.

Pour chaque variable :

ChampObligatoireDéfautDescription
PortéeOuiRequêteRequête ou Conversation
NomOui-Nom unique de la variable
ValeurOui-Valeur ou expression à stocker ; accepte plusieurs lignes

Requête limite la valeur au parcours courant. Conversation la conserve entre plusieurs messages.

txt
Variable 1
Portée : Requête
Nom : emailUtilisateur
Valeur : {{userData.email}}

Variable 2
Portée : Requête
Nom : consignesSupport
Valeur :
Réponds en français.
Cite toujours la source utilisée.

Ce bloc crée directement {{emailUtilisateur}} et {{consignesSupport}}. Il ne produit pas de sorties classiques préfixées par son identifiant.

Bonnes pratiques : préférez Requête, utilisez des noms courts sans accents ni espaces et évitez les doublons, signalés dans le panneau des problèmes.

Condition ​

Choisit une route selon une ou plusieurs règles : résultat disponible, score suffisant, profil autorisé ou appels d’outils demandés.

Choisir une route avec une condition
100 %
Choisir une route avec une conditionChaque cas possède une sortie. Si aucun cas ne correspond, la sortie Sinon est utilisée. Condition : Choisir la prochaine étape : Cas 1 : Cas 2 : Message de secours. Bloc A. Bloc B. Message simple : Message de secoursCondition : Choisir la prochaine étapeConditionChoisir la prochaine étapeSiCas 1SiCas 2SinonMessage de secoursBloc ABloc ABloc BBloc BMessage simple : Message de secoursMessage simpleMessage de secours
ChampObligatoireDescription
ExpressionOuiRègle évaluée
Bloc suivantOuiDestination si la règle est vraie
SinonRecommandéDestination si aucune règle ne correspond

Le champ Expression n’est pas un template de texte : n’entourez pas l’expression complète avec {{ et }}.

BesoinExpression
Appels d’outils présentsgt (length chatCompletion-1.genericToolCalls) 0
Score et domaine emailand (gte score 70) (match userData.email "@wikit\\.ai$")
Priorité haute ou message urgentor (eq ticket.priority "high") (contains userMessage "urgent")
Entre un et cinq documentsand (gte (length documents.body) 1) (lte (length documents.body) 5)
Aucun document ou faible confianceor (eq (length documents.body) 0) (lt confidenceScore 0.5)

Opérateurs disponibles : égalité et différence, comparaisons gt/gte/lt/lte, and, or, not, match et contains. Pour tester une liste vide, comparez sa longueur à zéro : eq (length maListe) 0.

Sorties : hasMatch, matchedIndex et nextStep.

Bonnes pratiques : gardez les règles simples, nommez clairement les destinations, prévoyez Sinon et testez chaque branche.

Instruction LLM ​

Prépare ce qui sera envoyé au modèle : instruction système, historique, documents, outils et budget de tokens. Ce bloc prépare les données mais ne génère pas la réponse finale.

Préparer une instruction LLM
100 %
Préparer une instruction LLML’instruction rassemble le message et l’historique, ainsi que les documents et les outils lorsqu’ils sont activés. Message utilisateur : userMessage. Historique : conversationHistory. Documents : Si activés. Outils : Si activés. Instruction LLM. instructionMessage utilisateur : userMessageMessage utilisateuruserMessageHistorique : conversationHistoryHistoriqueconversationHistoryDocuments : Si activésDocumentsSi activésOutils : Si activésOutilsSi activésInstruction LLMInstruction LLMinstructioninstruction
Champ principalObligatoireDescription
Modèle LLMOuiModèle utilisé pour préparer et estimer le prompt
Nom du connecteur LLMOuiRenseigné après sélection du modèle, ou saisi sous forme de variable
InstructionNonConsigne système, avec variables éventuelles

Pour choisir le modèle à l’exécution, saisissez une variable dans Nom du connecteur LLM, par exemple {{modeleChoisi}}. La liste Modèle LLM est alors désactivée et affiche Défini par une variable.

Configuration avancéeDéfautDescription
Nombre maximum de tokens128000Budget du prompt ; accepte une valeur fixe ou une variable
Outils{{listTools-1.tools}}Référence préremplie à adapter au catalogue réel ou à désactiver sans MCP
Configuration des documentsDésactivéeTableau JSON de documents à injecter si nécessaire
Messages d’expiration-Remplacement des anciens documents/résultats d’outils

La configuration des documents est désactivée à l’ajout du bloc. Activez-la uniquement si vous injectez des documents depuis une variable. Exemple :

json
[
  {
    "varName": "{{documents.body}}",
    "documentType": "elasticsearch",
    "expiresAfter": 3,
    "maxDocumentsTokens": 16000
  }
]

Cette configuration reste disponible pour les sources déjà présentes dans une variable ou pour les intégrations historiques. Dans les nouveaux workflows RAG, les résultats de MCP Retriever sont ajoutés automatiquement à conversationHistory par MCP - Appel d'outils : laissez Configuration des documents désactivée.

Outils : {{listTools-1.tools}}.

Sorties : raw, metadata, messages, instruction, tools, model et maxTokens. La référence courante est {{generatePrompt-1.instruction}} ou l’équivalent via alias. model indique le modèle utilisé et maxTokens le budget appliqué, utiles lorsque ces valeurs sont définies par une variable.

txt
Tu réponds uniquement à partir des documents fournis.
Question utilisateur : {{userMessage}}

Bonnes pratiques : gardez l’instruction structurée, séparez règles et données dynamiques, et n’activez documents ou outils que si nécessaire.

Erreurs fréquentes : modèle absent, mauvaise référence de documents, outils activés sans catalogue MCP, JSON invalide ou budget trop faible.

Requête LLM ​

Appelle le modèle avec l’instruction préparée et produit une réponse textuelle ou des demandes d’outils.

Échanges lors d’une requête LLM
100 %
Échanges lors d’une requête LLMLa requête reçoit l’instruction et appelle le modèle, qui renvoie du contenu ou des appels d’outils. Instruction LLM. Requête LLM. Modèle1. instruction2. Appel du modèle3. content ou genericToolCallsInstruction LLMInstruction LLMRequête LLMRequête LLMModèleModèle
Champ principalObligatoireDéfautDescription
Modèle LLMOui-Modèle de génération
Nom du connecteur LLMOui-Renseigné après sélection du modèle, ou saisi sous forme de variable
Variable de l’instructionOui-Par exemple {{generatePrompt-1.instruction}}
URL de l’API du LLMOuiLiteLLMEndpoint d’appel

Comme pour l’Instruction LLM, une variable saisie dans Nom du connecteur LLM désactive la liste Modèle LLM, qui affiche alors Défini par une variable.

Paramètres supplémentairesDéfautDescription
En-têtes HTTP-En-têtes de l’API LLM, au format objet JSON
Délai d’expiration60Timeout en secondes
Température1Variation entre 0 et 2
Nombre maximal de tokens générés-Maximum de tokens produits par le modèle, raisonnement compris
Effort de raisonnementDésactivénone, minimal, low, medium, high, xhigh ou max
StreamingtrueDiffusion progressive
Outils{{listTools-1.tools}}À adapter au catalogue réel ou à désactiver sans MCP
Mode stricttrueRespect des schémas d’outils

Une température 0 convient aux réponses factuelles ; 0.5 privilégie la stabilité ; 1, la valeur par défaut, laisse plus de variation ; au-delà, les réponses deviennent plus créatives et imprévisibles.

L’Effort de raisonnement règle le temps de réflexion des modèles qui le proposent : un effort plus élevé améliore les tâches complexes mais augmente la durée et la consommation de tokens. Laissez Désactiver si vous n’en avez pas besoin. Chaque modèle n’accepte qu’une partie de ces valeurs : une valeur non supportée fait échouer la requête, qui passe alors par Après échec.

Sorties : content, genericToolCalls et metadata.

Bonnes pratiques : placez une Instruction LLM juste avant, gardez le streaming actif et ne modifiez l’URL technique que si nécessaire.

MCP - Liste d’outils ​

Charge les outils disponibles depuis un ou plusieurs serveurs MCP afin que le modèle puisse ensuite les demander.

Charger le catalogue MCP
100 %
Charger le catalogue MCPLa liste interroge les serveurs MCP et produit les outils disponibles et leur routage. MCP - Liste d’outils. Serveur A. Serveur B. tools. toolServerRoutingMCP - Liste d’outilsMCP - Liste d’outilsServeur AServeur AServeur BServeur BtoolstoolstoolServerRoutingtoolServerRouting

Pour chaque serveur :

ChampObligatoireDéfautDescription
Nom du serveur MCPOui-Libellé métier
URL du serveur MCPOui-Endpoint MCP
En-têtes du serveur MCPNon{}Authentification et contexte
OutilsNon[]Outils autorisés
MetaNon-Métadonnées additionnelles, saisies sous forme de paires clé/valeur

Utilisez Récupérer les outils pour interroger le serveur, puis limitez la sélection aux outils nécessaires. Une liste d’outils autorisés vide laisse tous les outils du serveur disponibles.

En-têtes du serveur :

json
{
  "Authorization": "{{customParams.mcpAuthorization}}"
}

Dans Meta, cliquez sur Ajouter un élément pour chaque métadonnée à transmettre :

CléValeur
userEmail{{userData.email}}
canal{{customParams.source}}

La plateforme transmet déjà automatiquement au serveur organizationId, conversationId, llmAppId, queryExecutionId, workflowExecutionId et userData. N’utilisez pas ces clés dans Meta : une valeur saisie remplacerait la valeur fournie par la plateforme.

Sorties : tools, toolServerRouting et metadata.

Ce bloc peut être placé dans un parcours construit bloc par bloc ou connecté à un bloc qui propose un port pour les outils MCP. Dans ce second cas, il reste détaché du parcours principal ; le bloc consommateur prépare le catalogue avant de l’utiliser. Consultez le guide des connexions.

Erreurs fréquentes : URL ou token incorrect, JSON invalide, accès réseau impossible, outils non récupérés ou sélection incohérente.

MCP - Appel d’outils ​

Exécute les appels demandés par une Requête LLM. Il consomme à la fois genericToolCalls et le routage préparé par la liste d’outils.

Exécuter les outils demandés
100 %
Exécuter les outils demandésLes appels demandés par le modèle et le routage du catalogue alimentent l’appel d’outils, qui produit ses résultats. Requête LLM. genericToolCalls. toolServerRouting. MCP - Appel d’outils. toolCallResultsRequête LLMRequête LLMgenericToolCallsgenericToolCallstoolServerRoutingtoolServerRoutingMCP - Appel d’outilsMCP - Appel d’outilstoolCallResultstoolCallResults
ChampObligatoireDéfautDescription
Exécutions d’outilsOui-{{chatCompletion-1.genericToolCalls}}
Serveur de routage des outilsOui-{{listTools-1.toolServerRouting}}
Délai d’expirationOui60Timeout des appels

Sorties : metadata et toolCallResults.

Placez une condition avant ce bloc pour vérifier que des appels existent. Après l’exécution, revenez au bloc Instruction LLM pour reconstruire l’instruction avec les résultats, puis à la requête qui la lit.

Erreurs fréquentes : référence vers le mauvais LLM ou catalogue, liste d’appels vide, token expiré ou timeout trop court.