Pick List Item
Le node Pick List Item sélectionne un seul élément d'une liste en fonction de sa position (premier, dernier, aléatoire ou index spécifique).
À quoi sert le node Pick List Item ?
Le node Pick List Item extrait un élément unique d’une liste (un tableau JSON) en fonction de sa position. Vous choisissez de récupérer le premier, le dernier, un élément aléatoire ou celui à un index précis. C’est la manière la plus simple de tirer une valeur unique d’un node en amont qui renvoie plusieurs résultats.
Cas d’usage typiques :
- Récupérer le premier résultat d’une réponse API qui renvoie un tableau d’enregistrements.
- Choisir aléatoirement une variante de prompt dans une liste pour faire de l’A/B testing sur les sorties d’un LLM.
- Récupérer un élément à un index précis lorsque la liste en amont a une structure connue et stable.
Configuration rapide
Suivez ces étapes pour ajouter et configurer le node Pick List Item dans votre workflow :
Ajouter le node au canevas
Ouvrez la bibliothèque de nodes (Node Library), allez dans Tools, puis glissez-déposez le node Pick List Item sur votre espace de travail.
Connecter la liste en entrée
Reliez la sortie d’un node qui produit une liste (par exemple Create List, Filter List, un API Connector ou un LLM qui renvoie du JSON) au port d’entrée list à gauche.
Choisir le mode de sélection
Ouvrez les paramètres du node et sélectionnez un Pick Mode : first, last, random ou custom_index. Si vous choisissez custom_index, un champ Index supplémentaire apparaît.
Connecter la sortie
Reliez le port de sortie selected_item (à droite) au node suivant. L’élément sélectionné sera injecté dans la variable de réception que vous définissez sur ce node suivant.
Paramètres de configuration
La configuration du node consiste à indiquer quelle liste lire et comment y choisir un élément.
Champs requis
Name string required default: Pick List Item Nom du node — Utile pour identifier rapidement le rôle de ce node (ex : “Premier résultat API”) lors de l’exécution et du débogage du workflow.
Description string required default: Pick an item from a list by position (first, last, random, or custom index) Description du node — Une courte phrase décrivant ce que cette instance sélectionne précisément, et pourquoi.
list json required Liste en entrée — La liste depuis laquelle sélectionner un élément. Doit être un tableau JSON valide tel que ["a", "b", "c"] ou [{"id": 1}, {"id": 2}]. Si une chaîne de caractères est reçue, le node tentera de la parser en JSON.
Pick Mode select required default: first Comment choisir l’élément. Une valeur parmi :
first— sélectionne le premier élément de la liste.last— sélectionne le dernier élément de la liste.random— sélectionne un élément aléatoire à chaque exécution.custom_index— sélectionne l’élément à l’index défini ci-dessous.
Champs optionnels
Index number default: 0 Index (base zéro) — Utilisé uniquement lorsque Pick Mode vaut custom_index. 0 renvoie le premier élément, 1 le deuxième, etc. Ignoré pour les autres modes.
Combinez Pick List Item avec Filter List pour d’abord restreindre la liste aux éléments pertinents, puis choisir le plus pertinent avec first. Beaucoup plus propre que de manipuler des indexes à la main.
Que renvoie le node ?
Le node renvoie un unique élément extrait de la liste en entrée. L’élément conserve son type d’origine : une chaîne reste une chaîne, un objet reste un objet, etc.
selected_item string | object | number | array L’élément sélectionné dans la liste en entrée selon le Pick Mode choisi. Son type correspond à celui des éléments de la liste source.
Exemple de sortie pour une liste de chaînes :
{
"selected_item": "banana"
}
Exemples d’utilisation
Cas 1 : Récupérer le premier résultat d’une API
Vous appelez une API qui renvoie une liste de résultats et souhaitez ne transmettre que le premier à un LLM pour traitement.
graph LR
A[API Connector] --> B[Pick List Item]
B --> C[LLM]
Configuration :
Pick Mode:first
L’API renvoie le tableau complet ; Pick List Item en extrait l’élément [0] pour que le LLM n’ait jamais à manipuler la réponse entière.
Cas 2 : Sélection aléatoire pour de l’A/B testing
Vous maintenez une liste de variantes de prompts et souhaitez que chaque exécution du workflow en utilise une au hasard.
Liste d’entrée d’exemple :
[
"Rédige une description produit courte et formelle.",
"Rédige une description produit fun et décontractée.",
"Rédige une description produit technique, axée sur les specs."
]
Configuration :
Pick Mode:random
Chaque exécution reçoit une variante différente, ce qui permet de comparer les résultats entre les runs.
Cas 3 : Choisir une position connue avec custom_index
La liste en amont a toujours la même structure et la valeur dont vous avez besoin se trouve toujours à l’index 2.
Configuration :
Pick Mode:custom_indexIndex:2
Le node renvoie systématiquement le troisième élément de la liste.
Problèmes courants
Index hors limites avec custom_index
Cause : La valeur Index est supérieure ou égale à la longueur de la liste (ou négative). Le node échoue car la position n’existe pas.
Solution : Utilisez un node Count List Items avant le Pick List Item pour valider la longueur de la liste, ou repassez en first / last si vous n’avez besoin que des bornes.
L'entrée n'est pas reconnue comme une liste
Cause : Le node en amont envoie une chaîne simple ou un objet plutôt qu’un tableau JSON. Le Pick List Item tente de parser les chaînes en JSON ; si le parsing échoue, vous verrez “Input is not a valid JSON list”.
Solution : Assurez-vous que le node en amont produit bien un tableau (ex : ["a", "b", "c"]). Si la donnée vient d’un LLM, nettoyez sa sortie avec Find and Replace ou JSON Path Extractor avant de la brancher sur le Pick List Item.
`random` renvoie toujours le même élément
Cause : Votre liste ne contient qu’un seul élément, ou tous les éléments sont identiques. Le node tire au hasard, mais une liste à un élément renvoie toujours la même valeur.
Solution : Vérifiez la liste en amont avec Count List Items pour confirmer qu’il y a bien de la diversité dedans.
Bonnes pratiques et pièges à éviter
Privilégiez first ou last dès que possible — ces modes sont déterministes et rendent votre workflow prévisible. Réservez custom_index aux cas où la liste source a une structure stable et bien connue.
random rend les exécutions non reproductibles. Si vous loggez les sorties de workflow pour de la QA ou de l’analytics, stockez l’élément sélectionné aux côtés du reste des données du run — sinon, déboguer une différence entre deux exécutions devient très compliqué.
Comment s’intègre-t-il dans un workflow ?
Pick List Item se place généralement juste après un node qui produit une liste (appel API, filtre, scraper) et juste avant un node qui consomme une seule valeur (LLM, condition, writer).
graph LR
Source[API / Create List / Web Scraper] --> Filter[Filter List]
Filter --> Pick[Pick List Item
<br/>mode = first]
Pick --> LLM[LLM
<br/>traite un seul élément]
Nodes complémentaires
Construisez une liste de zéro, puis sélectionnez-en un élément.
Vérifiez la longueur de la liste avant un custom_index pour éviter les erreurs hors limites.
Restreignez d’abord la liste, puis prenez le meilleur résultat avec first.
Itérez sur chaque élément d’une liste plutôt que d’en sélectionner un seul.