FlowKit

Node Question and Answer Chain dans n8n : le RAG clé en main

Publié le 25 août 2026 · 8 min de lecture

Le node Question and Answer Chain (@n8n/n8n-nodes-langchain.chainRetrievalQa) est la brique RAG la plus directe de n8n : une question entre, un retriever va chercher les passages pertinents dans un vector store, un modèle rédige la réponse, et c'est terminé. Pas de boucle, pas d'outils, pas de décision d'orchestration. Cette simplicité est sa force — un seul appel LLM, un comportement reproductible — et sa limite, dès qu'on lui demande une conversation ou plusieurs recherches enchaînées. Ce guide détaille son fonctionnement réel, ses paramètres exacts et les critères qui font pencher vers elle plutôt que vers un AI Agent. Si vous découvrez la palette IA de n8n, commencez par notre introduction aux nodes IA de n8n.

Ce que fait exactement le node

La mécanique tient en trois temps, toujours dans le même ordre :

  1. Récupération : la question part au retriever connecté, qui interroge le vector store et renvoie les N passages les plus proches sémantiquement.
  2. Assemblage : n8n concatène ces passages et les injecte dans le prompt système, à l'emplacement de la variable {context}.
  3. Génération : le prompt complet (contexte + question) part vers le chat model, qui produit la réponse. Un seul appel.

Le paramètre principal s'appelle Query, décrit dans la documentation comme « The question you want to ask ». Il est alimenté automatiquement par un Chat Trigger connecté, ou défini manuellement (« Define below ») avec une expression du type {{ $json.question }}.

Point important : la recherche a toujours lieu. Même si la question est « bonjour », le retriever part chercher des documents et le modèle reçoit un contexte hors sujet. Le node n'a aucun moyen de décider que la recherche est inutile — c'est précisément ce qui le distingue d'un agent.

Les sous-connexions : Model et Retriever

Le node expose deux connecteurs latéraux, tous deux obligatoires.

Model attend un chat model (OpenAI, Anthropic, Google Gemini, Ollama, Mistral…), qui rédige la réponse à partir du contexte. Son choix pèse sur la fenêtre disponible : si vous récupérez beaucoup de passages, un modèle à contexte court tronquera. La page des problèmes courants du node renvoie d'ailleurs vers le paramètre Maximum Number of Tokens du node modèle quand les réponses sont trop brèves.

Retriever attend un sous-node de récupération, le plus souvent Vector Store Retriever, lui-même branché sur un vector store (Supabase/pgvector, Qdrant, Pinecone, Simple Vector Store en mémoire…). La chaîne de connexions ressemble donc à : Question and Answer Chain → Vector Store Retriever → Vector Store. Si vous oubliez cette branche, n8n lève l'erreur explicite « A Retriever sub-node must be connected ».

Le sous-node Vector Store Retriever n'a qu'un seul paramètre : Limit, « Enter the maximum number of results to return ». C'est votre top-k, le réglage le plus structurant du montage — nous y revenons plus bas. Pour le stockage lui-même, voyez notre guide RAG avec Supabase et pgvector.

Le System Prompt Template, seul vrai levier de contrôle

Dans les Options du node, le champ System Prompt Template permet de remplacer le prompt par défaut. Celui de n8n est volontairement minimal :

Use the following pieces of context to answer the users question.
If you don't know the answer, just say that you don't know, don't try to make up an answer.
----
{context}

La description du champ pose la contrainte : le template « should include the variable {context} » — et, pour les modèles de complétion de texte, également {question}. Sans {context}, les documents récupérés ne parviennent jamais au modèle et la réponse devient purement générative. Un template de production ressemble plutôt à ceci :

Tu réponds aux questions des commerciaux à partir de la documentation interne.
Règles :
- Utilise UNIQUEMENT les extraits ci-dessous. N'invente rien.
- Si les extraits ne permettent pas de répondre, réponds exactement : "Je n'ai pas trouvé cette information dans la documentation."
- Cite le titre du document utilisé, entre crochets, en fin de phrase.
- Réponds en français, en trois phrases maximum.

Extraits :
{context}

L'instruction d'abstention n'est pas un détail. Le benchmark « Benchmarking Large Language Models in Retrieval-Augmented Generation » de Jiawei Chen, Hongyu Lin, Xianpei Han et Le Sun (AAAI 2024) évalue les LLM en contexte RAG sur quatre axes — robustesse au bruit, negative rejection (savoir dire qu'on ne sait pas), intégration multi-documents et résistance à la désinformation — et conclut qu'ils tolèrent un peu de bruit mais échouent nettement sur le refus explicite. Sans consigne d'abstention noir sur blanc, votre chain répondra donc quand même.

Q&A Chain vs AI Agent vs Basic LLM Chain

Critère Basic LLM Chain Question and Answer Chain AI Agent + Vector Store Tool
Recherche documentaire Aucune Systématique, une fois Optionnelle, décidée par le modèle
Appels LLM par exécution 1 1 1 à N
Sous-connexions Model (+ output parser) Model + Retriever Model + Tools + Memory (option)
Mémoire de conversation Non Non Oui
Recherches multiples / multi-hop Non Non Oui
Coût Fixe Fixe Variable
Reproductibilité Élevée Élevée Plus faible
Cas type Résumer, classer, réécrire FAQ sur un corpus figé Assistant multi-sources et multi-tours

La lecture est simple : la Q&A Chain est un Basic LLM Chain auquel on a soudé une étape de récupération obligatoire. Elle en hérite les qualités — coût connu, latence d'un seul appel, débogage trivial, détaillés dans notre comparatif Basic LLM Chain vs AI Agent — comme les limites : aucune décision prise à l'exécution.

Quand la choisir plutôt qu'un AI Agent

Trois signaux plaident pour la chain :

  • Toutes les questions portent sur le même corpus. FAQ produit, procédures internes, documentation technique : il n'y a rien à décider, il faut chercher à chaque fois. Confier ce choix à un agent, c'est payer un tour de raisonnement pour une décision déjà connue.
  • Une seule recherche suffit. « Quel est le délai de rétractation ? » se règle avec un passage, sans croiser deux documents ni reformuler après un échec.
  • Le budget et la latence comptent. Un appel LLM par question : c'est le seul montage RAG de n8n dont vous pouvez estimer le coût mensuel avant de le déployer.

À l'inverse, passez à l'AI Agent dès que l'une de ces situations apparaît : la question peut ne nécessiter aucune recherche ; il faut interroger plusieurs index ou plusieurs sources (CRM, API, documentation) ; une recherche infructueuse doit déclencher une reformulation ; ou l'utilisateur dialogue sur plusieurs tours. Le cas multi-index est traité dans notre guide du RAG agentique.

Les pièges à connaître

Le top-k mal calibré. C'est le réglage le plus souvent laissé par défaut, et le plus lourd de conséquences. L'étude « The Power of Noise: Redefining Retrieval for RAG Systems » de Florin Cuconasu et ses co-auteurs (SIGIR 2024) montre que la composition du contexte compte autant que sa taille : la position des documents pertinents et la nature des passages non pertinents modifient sensiblement la réponse, et ajouter des documents faiblement liés à la question dégrade la performance. Ne poussez donc pas Limit à 20 « au cas où » : testez 3, 5 et 8 sur un jeu de questions réelles, avec la méthode décrite dans notre article sur l'évaluation de la qualité d'un RAG.

La réponse hors contexte. Si le retriever ne renvoie rien de pertinent, le modèle reçoit un contexte inutile — et répond quand même, souvent avec aplomb. Deux remèdes cumulables : la consigne d'abstention, et un travail sur l'amont. Notre guide du chunking de documents et celui du filtrage par métadonnées traitent les deux causes les plus fréquentes de bruit ; un reranker permet de récupérer large puis de ne garder que le meilleur.

L'absence de citations par défaut. Le prompt natif ne demande aucune source : l'utilisateur reçoit une affirmation invérifiable, rédhibitoire pour un usage juridique, RH ou support. La seule solution est d'ajouter la consigne au System Prompt Template et de vérifier que les métadonnées utiles (titre, URL, page) figurent dans le texte des chunks indexés, puisque c'est ce texte, et lui seul, qui atterrit dans {context}.

La question de suivi. « Et pour l'autre client ? » part telle quelle vers le retriever, qui n'a aucune idée du client précédent : la recherche échoue et la réponse est incohérente. Ce n'est pas un bug, c'est l'absence d'entrée mémoire. Le problème est bien identifié en recherche : le jeu de données QReCC introduit par Raviteja Anantha, Svitlana Vakulenko et leurs co-auteurs dans « Open-Domain Question Answering Goes Conversational via Question Rewriting » (NAACL 2021) repose sur ce constat — une question conversationnelle doit d'abord être réécrite en question autonome pour que la récupération fonctionne. Dans n8n : soit un Basic LLM Chain en amont reformule la question à partir de l'historique, soit vous basculez sur un AI Agent doté d'une mémoire de conversation.

Le prompt vide. L'erreur « No prompt specified » survient quand l'expression alimentant Query ne produit rien, ou quand un Chat Trigger envoie une valeur nulle. Prévoyez un IF en amont plutôt que de laisser le node échouer en production.

En résumé

La Question and Answer Chain fait une chose et la fait bien : une question, une recherche, une réponse, pour un appel LLM. Trois réglages décident de sa qualité — le Limit du Vector Store Retriever, le System Prompt Template avec sa consigne d'abstention et sa demande de citations, et la qualité des chunks indexés. Basculez vers l'AI Agent seulement quand un vrai besoin de décision à l'exécution apparaît : plusieurs sources, plusieurs tours de recherche, ou une conversation suivie.

Pour aller plus loin

Pour ne pas repartir d'une page blanche, le Pack Assistant RAG (119 €) fournit le pipeline déjà assemblé — ingestion documentaire, embeddings, stockage pgvector et chat de restitution avec citations — dans lequel ce node trouve directement sa place. Si votre corpus est d'abord constitué d'emails et de pièces jointes, le Pack Inbox IA (79 €) couvre l'étape de collecte.

FAQ

Questions fréquentes

Quelle différence entre la Question and Answer Chain et un AI Agent avec un Vector Store Tool ?

La chain exécute toujours la même séquence : elle interroge le retriever, injecte les documents dans le prompt, appelle le modèle une fois. L'agent, lui, décide s'il faut chercher, peut relancer plusieurs recherches et garder une conversation en mémoire, au prix d'appels LLM supplémentaires et d'un chemin d'exécution variable. Si la question porte toujours sur le même corpus et se règle en une recherche, la chain fait le même travail pour un coût fixe.

Peut-on personnaliser le prompt de la Question and Answer Chain ?

Oui. Dans les Options du node, le champ System Prompt Template remplace le prompt par défaut. Il doit obligatoirement contenir la variable {context}, où n8n insère les documents renvoyés par le retriever ; pour les modèles de complétion de texte, il faut aussi inclure {question}. C'est là qu'on impose le ton, la langue de réponse et la consigne de citer les sources.

Comment régler le nombre de documents récupérés ?

Le nombre de passages n'est pas un paramètre de la chain elle-même mais du sous-node Vector Store Retriever, via son champ Limit (« Enter the maximum number of results to return »). Une valeur trop basse prive le modèle de la bonne information, une valeur trop haute noie le passage pertinent dans du bruit et gonfle le coût en tokens.

La Question and Answer Chain gère-t-elle les questions de suivi ?

Non. Le node n'a pas d'entrée mémoire : chaque exécution repart de zéro. Une question comme « et pour l'autre client ? » part telle quelle vers le retriever, qui n'a aucun moyen de savoir de quel client il s'agit. Pour un vrai fil de conversation, il faut soit reformuler la question en amont avec les échanges précédents, soit passer à un AI Agent doté d'une mémoire.

Bundle FlowKit Complet

269 €