Tutoriel : Intégration transparente de la base de connaissances FastGPT dans le flux de travail n8n (basé sur le protocole MCP)
Contexte : Défis liés à l'intégration de n8n dans la base de connaissances RAG
n8n gagne en traction en tant que puissant outil open source de flux de travail automatisé. Fondé en 2019 par Jan Oberhauser, ancien concepteur visuel de Pirates des Caraïbes, il vise à fournir une solution d'automatisation plus flexible et moins coûteuse que des outils comme Zapier. Avec une philosophie "libre et durable, ouverte et pragmatique", n8n est centré sur l'idée d'automatiser le flux de travail grâce à... Visualisation et code Le mode double, qui permet aux utilisateurs de connecter différentes applications pour automatiser des processus complexes (documentation officielle : https://docs.n8n.io/). Une fois que les utilisateurs se sont familiarisés avec le logiciel, la création de flux de travail simples est généralement assez rapide, et la possibilité de publier des flux de travail sur le réseau public en un seul clic est très pratique.
Le n8n est souvent décrit comme le "Lego de l'automatisation", soulignant sa flexibilité et sa combinabilité.
Cependant, dans le contexte de la popularité croissante des applications d'IA, un besoin commun est apparu : comment intégrer efficacement les bases de connaissances RAG (Retrieval-Augmented Generation) dans n8n ? RAG est une technologie qui combine la recherche d'informations et la génération de texte, permettant à de grands modèles de langage de se référer à des bases de connaissances externes lorsqu'ils répondent à des questions, fournissant ainsi des réponses plus précises et contextualisées. RAG est une technologie qui combine la recherche d'informations et la génération de textes pour permettre à de grands modèles de langage de se référer à une base de connaissances externe lorsqu'ils répondent à des questions, fournissant ainsi des réponses plus précises et contextualisées.
Construire directement dans n8n RAG Les bases de connaissances se sont révélées être un processus relativement complexe. En général, les développeurs doivent créer manuellement deux flux de travail distincts : l'un pour gérer les téléchargements de fichiers, la vectorisation et le stockage dans une base de données, et l'autre pour mettre en œuvre les interactions de questions-réponses basées sur le RAG.
Exemple : flux de travail pour le téléchargement de fichiers à gauche, flux de travail pour les questions et réponses des groupes consultatifs régionaux à droite.
Même si elle est construite avec succès, cette solution native peut être insatisfaisante en termes d'expérience. Cela nous a amenés à réfléchir : est-il possible d'intégrer à n8n des solutions externes de bases de connaissances matures, telles que le populaire FastGPT ?
Solution : tirer parti des protocoles FastGPT et MCP
FastGPT est une plateforme d'application LLM open source très appréciée, particulièrement connue pour ses puissantes fonctionnalités RAG et sa facilité d'utilisation. Une récente mise à jour de FastGPT (suivez son GitHub : https://github.com/labring/FastGPT) apporte une fonctionnalité intéressante : le support du MCP (Meta Component Protocol).

MCP Conçu pour résoudre le problème de l'interopérabilité entre les différents services et applications d'IA, FastGPT peut être considéré comme un protocole de "socket universel" qui non seulement prend en charge l'accès à d'autres services en tant que client MCP, mais sert également de serveur MCP, exposant ses capacités (par exemple, la base de connaissances) à d'autres plates-formes compatibles MCP.

Par coïncidence, n8n a récemment pris officiellement en charge le protocole MCP. Cela signifie qu'il est possible de publier les capacités de la base de connaissances de FastGPT par le biais de MCP, puis d'y accéder directement en tant qu'"outil" dans n8n. Cette solution s'est avérée tout à fait réalisable et le processus d'interface est tout à fait fluide. En utilisant l'implémentation RAG mature de FastGPT, les résultats des questions et réponses de la base de connaissances intégrée sont souvent très bons.
L'ensemble du processus opérationnel peut être résumé par les étapes suivantes :
- Déployer l'environnement n8n (local ou serveur).
- Déployer ou mettre à jour FastGPT vers une version qui supporte MCP.
- Créer et configurer le serveur MCP dans FastGPT pour fournir des services externes.
- Accédez à ce serveur MCP FastGPT dans un flux de travail n8n.
Déployer ou mettre à jour FastGPT
FastGPT supporte MCP depuis la version v4.9.6 et il est recommandé d'utiliser la dernière version stable (v4.9.7-fix2 au moment de la rédaction). Voici l'introduction à l'utilisation de docker-compose
Un moyen de déployer ou de mettre à niveau (nécessite un environnement Docker préinstallé).
Les deux documents suivants doivent être préparés :
- FastGPT Dernière
docker-compose.yml
Documentation. - FastGPT Dernière
config.json
Documentation.
Les deux fichiers peuvent être obtenus sur le dépôt GitHub de FastGPT :
docker-compose-pgvector.yml
: https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.ymlconfig.json
: https://raw.githubusercontent.com/labring/FastGPT/refs/heads/main/projects/app/data/config.json
Note : Si vous n'avez pas d'accès direct à GitHub, vous pouvez essayer de trouver un autre moyen de l'obtenir ou d'utiliser une source miroir nationale.
Les étapes suivantes s'appliquent aux nouveaux déploiements et aux mises à niveau :
- Si vous effectuez une mise à jour, veillez à sauvegarder l'ancienne version avant toute chose !
docker-compose.yml
et les volumes de données associés. - Les dernières données disponibles seront obtenues auprès de la
docker-compose.yml
répondre en chantantconfig.json
Les fichiers sont placés dans le même répertoire.

existent config.json
Dans le document, il convient d'accorder une attention particulière aux points suivants mcp.server.host
Élément de configuration.
- Si FastGPT et n8n sont déployés dans un environnement Docker local, vous pouvez définir le paramètre
mcp.server.host
est fixé à l'adresse IP locale de la machine, et le port est généralement fixé à3005
. - S'il est déployé sur un serveur en nuage, il doit être défini sur l'adresse IP ou le nom de domaine extranet du serveur.
Après avoir confirmé que la configuration est correcte, ouvrez un terminal ou une ligne de commande dans le répertoire du fichier et exécutez la commande suivante :
docker-compose up -d
Lorsque vous voyez un journal similaire à la figure suivante et que les conteneurs fonctionnent tous normalement, cela signifie que le déploiement ou la mise à niveau a réussi.

Astuce : Si vous avez des difficultés à extraire des images Docker, essayez de modifier le paramètre docker-compose.yml
remplacez l'adresse du miroir officiel par l'adresse du dépôt miroir national (par exemple, le miroir AliCloud).

Création d'un service MCP dans FastGPT
Après avoir déployé ou mis à jour FastGPT avec succès, accédez à l'interface web de FastGPT via un navigateur (la valeur par défaut est http://127.0.0.1:3000
).
Naviguez jusqu'à Workbench -> Service MCP -> Nouveau serviceC'est ici que vous pouvez créer un serveur MCP qui expose ses capacités au monde extérieur. C'est ici que vous pouvez créer des serveurs MCP qui exposent leurs capacités au monde extérieur.

Après avoir créé le service, cliquez sur managérialVous pouvez voir que vous pouvez ajouter des outils à ce service MCP. Ces outils peuvent être des applications telles que Bot, Workflow, etc. créées dans FastGPT.

Il y a un problème clé ici : il semble qu'il ne soit pas possible d'ajouter directement la "base de connaissances" créée dans FastGPT au service MCP en tant qu'outil autonome à part entière. Si un bot ayant accès à une base de connaissances est ajouté au service MCP en tant qu'outil, le côté n8n, lorsqu'il est appelé par MCP, peut obtenir le contenu traité (par exemple, résumé, réécrit) par le grand modèle au sein du bot, plutôt que le fragment original extrait de la base de connaissances. Cela peut ne pas correspondre aux attentes, en particulier dans les scénarios où le texte original doit être cité avec précision.
Une solution astucieuse consiste à utiliser la fonction flux de travail Fonction. Un flux de travail simple peut être créé dans FastGPT dont la fonction principale est d'effectuer des recherches dans la base de connaissances et de spécifier les formats de réponse selon les besoins.
Les étapes spécifiques sont les suivantes :
- Créez un nouveau flux de travail dans FastGPT.
- Ajouter seulement Recherche dans la base de connaissances nœuds et Réponse désignée (ou d'autres nœuds logiques si nécessaire).
- configurer Recherche dans la base de connaissances sélectionner la base de connaissances cible et définir les paramètres pertinents (pertinence minimale, nombre maximal de citations, etc.)
- configurer Réponse désignée qui décide de la manière de restituer les résultats de la recherche (par exemple, restituer directement le bloc de texte original).
- Cliquez sur le coin supérieur droit de l'écran Enregistrer et publier.

IMPORTANT : Il est recommandé d'indiquer le nom du flux de travail en anglais et de veiller à remplir la description de l'application. Ces informations sont affichées dans le n8n et permettent d'identifier l'outil.

Une fois la création et la publication du flux de travail terminées, retournez à la page d'accueil de l'application MCP Services Interface de gestion.
- Créez un nouveau service MCP (ou modifiez un service existant).
- Ajoutez le flux de travail que vous venez de créer et qui contient la recherche dans la base de connaissances en tant qu'outil sous ce service.

Lorsque vous avez terminé, cliquez sur commencer à utiliser.

Dans la fenêtre contextuelle, recherchez le ESS copiez l'adresse fournie. Cette adresse est le point d'accès au serveur MCP FastGPT que vous venez de créer.

Accès aux services FastGPT MCP dans le n8n
Passez maintenant à l'écran d'édition du flux de travail de n8n.
- Choisissez un nœud approprié, par exemple Agent AI dans leur Outil Dans la section Configuration, cliquez sur le signe plus +.
- Rechercher et ajouter les éléments officiellement fournis Outil client MCP Nœuds.

- existent Outil client MCP dans l'écran de configuration du
- Collez l'adresse SSE que vous avez copiée plus tôt à partir de FastGPT dans le fichier URL du serveur Domaines.
- Vous pouvez donner un nom descriptif à ce nœud d'outil (par ex.
FastGPT Knowledge Base via MCP
) pour faciliter l'appel de l'agent.

Une fois configuré, vous pouvez le tester dans la boîte de dialogue Chat de n8n (ou dans d'autres déclencheurs). Posez une question qui nécessite un appel à la base de connaissances. Si la configuration est correcte, vous pouvez voir que n8n invoque avec succès le service FastGPT MCP et obtient les informations pertinentes de la base de connaissances de FastGPT comme base de la réponse.

Comme indiqué précédemment, la base de connaissances RAG de FastGPT est généralement considérée comme très efficace dans les plates-formes d'application LLM légères.
En outre, vous pouvez voir que le nom et le jeu d'introduction pour le flux de travail dans FastGPT sont affichés en tant qu'informations sur l'outil sur le côté n8n pour aider l'agent à comprendre et à choisir l'outil à utiliser.

Développement des idées et accès alternatif
L'accès à la base de connaissances FastGPT (encapsulée dans un flux de travail) à n8n via MCP est une approche efficace et flexible. Sur cette base, elle peut également être étendue :
- Réglage de FastGPT's plug-in (composant logiciel) peut-être Bot avec base de connaissances lui-même est présenté comme un service MCP au monde extérieur.
- L'utilisation de la fonction API FastGPT permet de publier l'application créée (par exemple un bot avec une base de connaissances) sous la forme d'une interface compatible avec le format API OpenAI.

Cette approche API peut également être utilisée pour accéder à la base de connaissances FastGPT dans n8n :
- Dans n8n's Agent AI (ou tout autre nœud devant appeler le LLM), ajoutez un nouveau nœud Modèle de chat.
- option Modèle de chat compatible avec OpenAI Type.
- Informations d'identification de la configuration :
Base URL
Remplissez l'adresse API fournie par FastGPT.API Key
Remplissez la clé API correspondant à l'application FastGPT.
Model Name
Il peut être rempli arbitrairement, et le modèle en vigueur sera celui configuré dans FastGPT Bot.

De cette manière, n8n envoie la demande au point de terminaison API de FastGPT, que FastGPT traite et renvoie le résultat. Cela équivaut à appeler le Bot de FastGPT (et sa base de connaissances) en tant que service Big Model externe.

Comparer les approches MCP et API :
- Méthode MCP: :
- Avantages : plus conforme à la notion d'"outils" de n8n, peut être utilisé en combinaison avec d'autres outils dans Agent, plus natif ; métadonnées potentiellement plus riches (par exemple, descriptions d'outils).
- Inconvénients : relativement plus d'étapes à mettre en place (créer un flux de travail, configurer les services MCP).
- Méthode API: :
- Avantages : relativement facile à mettre en place, il suffit d'obtenir l'adresse et la clé API ; simple pour les scénarios où FastGPT est utilisé comme un seul moteur Q&A.
- Inconvénients : se comporte comme un appel à un modèle externe dans le n8n plutôt que comme un "outil" composable ; la configuration du modèle (par exemple, température, max_tokens, etc.) peut nécessiter une coordination entre le côté n8n et le côté FastGPT.
Les développeurs peuvent choisir la méthode d'intégration appropriée en fonction de leurs besoins et préférences spécifiques.
Édition et applications
Quelle que soit la manière dont la base de connaissances FastGPT est intégrée, il est facile de la publier pour un usage externe une fois que vous avez terminé le débogage du flux de travail n8n.
Par exemple, en utilisant le Chat Message Lorsqu'il est utilisé comme nœud de déclenchement :
- double clic Chat Message Nœuds.
- ouvre Mettre le chat à la disposition du public Options.
- Le système génère un lien URL de chat public, que vous pouvez copier pour le partager.
- N'oubliez pas. Économiser en outre Activer Flux de travail.

Cette page de chat public peut même être accessible et utilisée dans le navigateur d'un appareil mobile.

Il convient de mentionner que cette page de chat public fournie par n8n prend également en charge de nombreuses personnalisations, telles que la configuration de l'accès par mot de passe, l'autorisation pour les utilisateurs de télécharger des fichiers, etc.

N8n est donc idéal pour créer rapidement des prototypes de produits MVP (Minimum Viable Product) ou pour élaborer des flux de travail d'IA améliorant l'efficacité des individus et des équipes.
en dehors de Chat Message de n8n, de nombreux autres nœuds de déclenchement (par exemple, Webhook) prennent également en charge la publication vers l'accès extranet, ce qui offre un degré de liberté extrêmement élevé. Si le n8n est déployé localement, l'accès à l'extranet peut être obtenu par des techniques telles que la pénétration de l'intranet.
Conclusion : la proposition de valeur de n8n
Lorsque l'on aborde ces types d'outils d'automatisation à code réduit ou sans code, une question revient souvent : pourquoi ne pas simplement les mettre en œuvre dans le code ? Pour les développeurs familiarisés avec la programmation, l'utilisation du code semble plus simple et plus contrôlable.
Il est vrai que les outils comme n8n ont une courbe d'apprentissage et qu'il faut parfois un certain temps pour démarrer. Cependant, une fois maîtrisée, l'efficacité de la construction et de l'itération des flux de travail dépasse souvent de loin celle du développement de code traditionnel, en particulier dans les scénarios impliquant l'intégration de plusieurs API et services. Le solide écosystème de nœuds de n8n et le soutien de la communauté peuvent répondre à un large éventail de besoins d'automatisation, des plus simples aux plus complexes, ce qui permet aux idées de décoller rapidement.
Bien sûr, pour les projets d'entreprise qui nécessitent un haut degré de personnalisation, des performances extrêmes ou qui impliquent une logique sous-jacente complexe, le développement de code pur reste nécessaire. Mais pour un grand nombre de scénarios d'automatisation, la création d'outils internes, le prototypage rapide et d'autres besoins, n8n et ses outils similaires constituent une option très efficace et flexible. L'intégration d'excellentes applications d'IA telles que FastGPT par le biais de protocoles tels que MCP élargit encore les limites des capacités de n8n.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...