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.
| Champ | Obligatoire | Description |
|---|---|---|
Message | Oui | Texte renvoyé ; accepte les variables et helpers |
Sortie : message, par exemple {{simpleMessage-1.message}}.
Bonjour {{userData.givenName}}, votre demande concerne : {{userMessage}}Pour inspecter une valeur pendant la mise au point :
{{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.
| Champ | Obligatoire | Défaut | Description |
|---|---|---|---|
URL | Oui | - | Adresse de l’API |
Méthode HTTP | Oui | - | GET, POST, PUT, PATCH ou DELETE |
En-têtes HTTP | Non | {} | Objet JSON d’en-têtes |
Délai d’expiration | Oui | 30 | Timeout en secondes |
Arrêter si la requête échoue | Non | true | Déclenche la branche d’échec |
Codes HTTP acceptés | Oui | [200] | Tableau JSON de codes considérés comme succès |
Type du corps | Non | raw | raw, formData ou x-www-form-urlencoded |
Corps de la requête | Non | - | Données envoyées |
Format de la réponse | Non | JSON | JSON, Text ou Binary |
En-têtes :
{
"Authorization": "Bearer {{customParams.mcpAccessToken}}",
"Content-Type": "application/json"
}Codes acceptés :
[200, 201, 204]Corps de recherche :
{
"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.
| Champ | Obligatoire | Description |
|---|---|---|
Modèle d’embedding | Oui | Modèle utilisé par les sources ; choisissez un modèle disposant d’un index |
Sources de données | Oui | Une ou plusieurs sources compatibles avec le modèle sélectionné |
- Choisissez d’abord le modèle d’embedding.
- Sélectionnez les sources utiles parmi les propositions.
- 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 :
| Champ | Obligatoire | Défaut | Description |
|---|---|---|---|
Portée | Oui | Requête | Requête ou Conversation |
Nom | Oui | - | Nom unique de la variable |
Valeur | Oui | - | Valeur ou expression à stocker ; accepte plusieurs lignes |
Requête limite la valeur au parcours courant. Conversation la conserve entre plusieurs messages.
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.
| Champ | Obligatoire | Description |
|---|---|---|
Expression | Oui | Règle évaluée |
Bloc suivant | Oui | Destination si la règle est vraie |
Sinon | Recommandé | 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 }}.
| Besoin | Expression |
|---|---|
| Appels d’outils présents | gt (length chatCompletion-1.genericToolCalls) 0 |
| Score et domaine email | and (gte score 70) (match userData.email "@wikit\\.ai$") |
| Priorité haute ou message urgent | or (eq ticket.priority "high") (contains userMessage "urgent") |
| Entre un et cinq documents | and (gte (length documents.body) 1) (lte (length documents.body) 5) |
| Aucun document ou faible confiance | or (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.
| Champ principal | Obligatoire | Description |
|---|---|---|
Modèle LLM | Oui | Modèle utilisé pour préparer et estimer le prompt |
Nom du connecteur LLM | Oui | Renseigné après sélection du modèle, ou saisi sous forme de variable |
Instruction | Non | Consigne 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ée | Défaut | Description |
|---|---|---|
Nombre maximum de tokens | 128000 | Budget 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 documents | Désactivée | Tableau 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 :
[
{
"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.
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.
| Champ principal | Obligatoire | Défaut | Description |
|---|---|---|---|
Modèle LLM | Oui | - | Modèle de génération |
Nom du connecteur LLM | Oui | - | Renseigné après sélection du modèle, ou saisi sous forme de variable |
Variable de l’instruction | Oui | - | Par exemple {{generatePrompt-1.instruction}} |
URL de l’API du LLM | Oui | LiteLLM | Endpoint 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émentaires | Défaut | Description |
|---|---|---|
En-têtes HTTP | - | En-têtes de l’API LLM, au format objet JSON |
Délai d’expiration | 60 | Timeout en secondes |
Température | 1 | Variation entre 0 et 2 |
Nombre maximal de tokens générés | - | Maximum de tokens produits par le modèle, raisonnement compris |
Effort de raisonnement | Désactivé | none, minimal, low, medium, high, xhigh ou max |
Streaming | true | Diffusion progressive |
Outils | {{listTools-1.tools}} | À adapter au catalogue réel ou à désactiver sans MCP |
Mode strict | true | Respect 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.
Pour chaque serveur :
| Champ | Obligatoire | Défaut | Description |
|---|---|---|---|
Nom du serveur MCP | Oui | - | Libellé métier |
URL du serveur MCP | Oui | - | Endpoint MCP |
En-têtes du serveur MCP | Non | {} | Authentification et contexte |
Outils | Non | [] | Outils autorisés |
Meta | Non | - | 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 :
{
"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.
| Champ | Obligatoire | Défaut | Description |
|---|---|---|---|
Exécutions d’outils | Oui | - | {{chatCompletion-1.genericToolCalls}} |
Serveur de routage des outils | Oui | - | {{listTools-1.toolServerRouting}} |
Délai d’expiration | Oui | 60 | Timeout 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.