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.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)   教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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).

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 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 :

  1. Déployer l'environnement n8n (local ou serveur).
  2. Déployer ou mettre à jour FastGPT vers une version qui supporte MCP.
  3. Créer et configurer le serveur MCP dans FastGPT pour fournir des services externes.
  4. 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 :

  1. FastGPT Dernière docker-compose.yml Documentation.
  2. 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.yml
  • config.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 chantant config.json Les fichiers sont placés dans le même répertoire.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

existent config.json Dans le document, il convient d'accorder une attention particulière aux points suivants mcp.server.host Élément de configuration.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

  • 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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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).

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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 :

  1. Créez un nouveau flux de travail dans FastGPT.
  2. 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).
  3. 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.)
  4. 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).
  5. Cliquez sur le coin supérieur droit de l'écran Enregistrer et publier.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

  1. Créez un nouveau service MCP (ou modifiez un service existant).
  2. 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.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

Accès aux services FastGPT MCP dans le n8n

Passez maintenant à l'écran d'édition du flux de travail de n8n.

  1. Choisissez un nœud approprié, par exemple Agent AI dans leur Outil Dans la section Configuration, cliquez sur le signe plus +.
  2. Rechercher et ajouter les éléments officiellement fournis Outil client MCP Nœuds.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  1. 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.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

 

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.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

Cette approche API peut également être utilisée pour accéder à la base de connaissances FastGPT dans n8n :

  1. Dans n8n's Agent AI (ou tout autre nœud devant appeler le LLM), ajoutez un nouveau nœud Modèle de chat.
  2. option Modèle de chat compatible avec OpenAI Type.
  3. 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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

  1. Model Name Il peut être rempli arbitrairement, et le modèle en vigueur sera celui configuré dans FastGPT Bot.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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 :

  1. double clic Chat Message Nœuds.
    教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  2. ouvre Mettre le chat à la disposition du public Options.
    教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
  3. Le système génère un lien URL de chat public, que vous pouvez copier pour le partager.
  4. N'oubliez pas. Économiser en outre Activer Flux de travail.
教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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.

教程:将 FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)

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
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...