Hintergrund: Herausforderungen bei der Integration von n8n mit der RAG-Wissensbasis
n8n gewinnt als leistungsfähiges Open-Source-Tool zur Automatisierung von Arbeitsabläufen zunehmend an Bedeutung. Es wurde 2019 von Jan Oberhauser, dem ehemaligen visuellen Designer von Fluch der Karibik, gegründet und zielt darauf ab, eine flexiblere und weniger kostspielige Automatisierungslösung als Tools wie Zapier zu bieten. Mit der Philosophie "frei und nachhaltig, offen und pragmatisch" zu sein, konzentriert sich n8n auf die Idee der Automatisierung von Arbeitsabläufen durch Visualisierung und Code Dualer Modus, der es den Benutzern ermöglicht, verschiedene Anwendungen zu verbinden, um komplexe Prozesse zu automatisieren (offizielle Dokumentation: https://docs.n8n.io/). Sobald die Benutzer mit dem Programm vertraut sind, lassen sich einfache Arbeitsabläufe in der Regel recht schnell erstellen, und die Unterstützung für die Veröffentlichung von Arbeitsabläufen im öffentlichen Netz mit einem Klick bietet großen Komfort.
n8n wird oft als das "Lego der Automatisierung" bezeichnet, was seine Flexibilität und Kombinierbarkeit unterstreicht.
Im Zusammenhang mit der zunehmenden Beliebtheit von KI-Anwendungen hat sich jedoch ein gemeinsamer Bedarf herauskristallisiert: Wie können RAG-Wissensdatenbanken (Retrieval-Augmented Generation) effizient in n8n integriert werden? RAG ist eine Technologie, die Information Retrieval und Texterzeugung kombiniert und es großen Sprachmodellen ermöglicht, bei der Beantwortung von Fragen auf externe Wissensdatenbanken zurückzugreifen und so genauere und kontextbezogenere Antworten zu geben. RAG ist eine Technologie, die Information Retrieval und Textgenerierung kombiniert, um große Sprachmodelle in die Lage zu versetzen, bei der Beantwortung von Fragen auf eine externe Wissensdatenbank zu verweisen und so genauere und kontextbezogene Antworten zu geben.
Direkt in n8n bauen RAG Wissensdatenbanken haben sich als ein relativ komplexer Prozess erwiesen. In der Regel müssen die Entwickler zwei getrennte Arbeitsabläufe manuell erstellen: einen für das Hochladen von Dateien, die Vektorisierung und die Speicherung in einer Datenbank und einen weiteren für die Implementierung von RAG-basierten Q&A-Interaktionen.
Beispiel: Datei-Upload-Workflow auf der linken Seite, RAG Q&A-Workflow auf der rechten Seite.
Selbst wenn diese native Lösung erfolgreich aufgebaut ist, kann sie in Bezug auf die Erfahrung unbefriedigend sein. Dies veranlasste uns zu der Überlegung: Ist es möglich, externe ausgereifte Wissensdatenbanklösungen, wie das beliebte FastGPT, in n8n einzubinden?
Lösung: Nutzung von FastGPT- und MCP-Protokollen
FastGPT ist eine hochgelobte Open-Source-LLM-Anwendungsplattform, die insbesondere für ihre leistungsstarken RAG-Funktionen und ihre Benutzerfreundlichkeit bekannt ist. Ein aktuelles Update von FastGPT (folgen Sie GitHub: https://github.com/labring/FastGPT) bringt eine aufregende Funktion: Unterstützung für MCP (Meta Component Protocol).
MCP FastGPT wurde entwickelt, um das Problem der Interoperabilität zwischen verschiedenen KI-Anwendungen und -Diensten zu lösen, und kann als "universelles Socket"-Protokoll verstanden werden, das nicht nur den Zugang zu anderen Diensten als MCP-Client unterstützt, sondern auch als MCP-Server dient, der seine Fähigkeiten (z. B. die Wissensbasis) anderen MCP-kompatiblen Plattformen zur Verfügung stellt.
Zufälligerweise hat n8n kürzlich offiziell das MCP-Protokoll unterstützt. Das bedeutet, dass es möglich ist, die Fähigkeiten der Wissensdatenbank von FastGPT über MCP zu veröffentlichen und dann direkt als "Tool" in n8n darauf zuzugreifen. Diese Lösung hat sich als absolut praktikabel erwiesen und der Schnittstellenprozess ist ziemlich reibungslos. Unter Verwendung der ausgereiften RAG-Implementierung von FastGPT sind die Ergebnisse der integrierten Wissensdatenbank Q&A oft sehr gut.
Der gesamte Vorgang lässt sich in den folgenden Schritten zusammenfassen:
- Stellen Sie die n8n-Umgebung bereit (lokal oder Server).
- Stellen Sie FastGPT bereit oder aktualisieren Sie es auf eine Version, die MCP unterstützt.
- Erstellen und konfigurieren Sie den MCP-Server in FastGPT, um Dienste extern bereitzustellen.
- Greifen Sie auf diesen FastGPT MCP-Server in einem n8n-Workflow zu.
Bereitstellung oder Aktualisierung von FastGPT
FastGPT unterstützt MCP seit Version v4.9.6 und es wird empfohlen, die letzte stabile Version zu verwenden (v4.9.7-fix2 zum Zeitpunkt der Erstellung dieses Artikels). Hier ist die Einführung in die Verwendung von docker-compose
Eine Möglichkeit zur Bereitstellung oder Aktualisierung (erfordert eine vorinstallierte Docker-Umgebung).
Die beiden folgenden Dokumente müssen vorbereitet werden:
- FastGPT Aktuell
docker-compose.yml
Dokumentation. - FastGPT Aktuell
config.json
Dokumentation.
Beide Dateien können über das GitHub-Repository von FastGPT bezogen werden:
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
Hinweis: Wenn Sie keinen direkten Zugang zu GitHub haben, können Sie versuchen, einen anderen Weg zu finden, um es zu bekommen oder eine inländische Spiegelquelle zu verwenden.
Die folgenden Schritte gelten für neue Bereitstellungen und Upgrades:
- Wenn Sie ein Upgrade durchführen, stellen Sie sicher, dass Sie zuerst eine Sicherungskopie der alten Version erstellen!
docker-compose.yml
und die damit verbundenen Datenmengen. - Die neuesten verfügbaren Daten werden eingeholt
docker-compose.yml
im Gesang antwortenconfig.json
Die Dateien befinden sich im selben Verzeichnis.
existieren config.json
In dem Dokument muss besonders auf Folgendes geachtet werden mcp.server.host
Konfigurationselement.
- Wenn sowohl FastGPT als auch n8n in einer lokalen Docker-Umgebung eingesetzt werden, können Sie die
mcp.server.host
ist auf die lokale IP-Adresse des Rechners eingestellt, und der Port ist normalerweise fest auf3005
. - Bei der Bereitstellung auf einem Cloud-Server sollte sie auf die Extranet-IP-Adresse oder den Domänennamen des Servers gesetzt werden.
Nachdem Sie sich vergewissert haben, dass die Konfiguration korrekt ist, öffnen Sie ein Terminal oder eine Befehlszeile im Dateiverzeichnis und führen Sie den folgenden Befehl aus:
docker-compose up -d
Wenn Sie eine ähnliche Protokollausgabe wie in der folgenden Abbildung sehen und alle Container normal ausgeführt werden, bedeutet dies, dass die Bereitstellung oder das Upgrade erfolgreich war.
Tipp: Wenn Sie Probleme beim Ziehen von Docker-Images haben, versuchen Sie, die Option docker-compose.yml
ersetzen Sie die offizielle Spiegeladresse durch die Adresse des inländischen Spiegel-Repositorys (z. B. AliCloud-Spiegel).
Erstellen eines MCP-Dienstes in FastGPT
Nachdem Sie FastGPT erfolgreich installiert oder aktualisiert haben, rufen Sie die FastGPT-Weboberfläche über einen Browser auf (Standard ist http://127.0.0.1:3000
).
Navigieren Sie zu Workbench -> MCP-Dienst -> Neuer DienstHier kann der MCP-Server erstellt werden, der seine Fähigkeiten nach außen hin offenlegt. Hier können Sie MCP-Server erstellen, die ihre Fähigkeiten nach außen hin offenlegen.
Nachdem Sie den Dienst erstellt haben, klicken Sie auf GeschäftsführungSie sehen, dass Sie diesem MCP-Dienst "Werkzeuge" hinzufügen können. Bei diesen Tools kann es sich um Anwendungen wie Bot, Workflow usw. handeln, die in FastGPT erstellt wurden.
Hier gibt es ein zentrales Problem: Es scheint nicht möglich zu sein, die in FastGPT selbst erstellte "Wissensdatenbank" direkt als separates Tool zum MCP-Dienst hinzuzufügen. Wenn ein Bot mit Zugriff auf eine Wissensdatenbank dem MCP-Dienst als Tool hinzugefügt wird, dann kann es sein, dass die n8n-Seite bei einem Aufruf durch MCP den Inhalt erhält, der durch das große Modell innerhalb des Bots verarbeitet (z. B. zusammengefasst, umgeschrieben) wurde, und nicht das ursprüngliche Fragment, das aus der Wissensdatenbank abgerufen wurde. Dies entspricht möglicherweise nicht den Erwartungen, insbesondere in Szenarien, in denen der Originaltext genau zitiert werden muss.
Ein cleverer Workaround ist die Verwendung von FastGPTs Arbeitsablauf Funktion. In FastGPT kann ein einfacher Workflow erstellt werden, dessen Kernfunktion darin besteht, Wissensdatenbanken zu durchsuchen und Antwortformate nach Bedarf festzulegen.
Die einzelnen Schritte sind wie folgt:
- Erstellen Sie einen neuen Workflow in FastGPT.
- Nur Hinzufügen Wissensdatenbank-Suche Knoten und Bestimmte Antwort Knoten (oder andere logische Knoten, falls erforderlich).
- konfigurieren. Wissensdatenbank-Suche Knoten, wählen Sie die Ziel-Wissensbasis aus und legen Sie die entsprechenden Parameter fest (z. B. Mindestrelevanz, maximale Anzahl von Zitaten usw.).
- konfigurieren. Bestimmte Antwort Knoten, der festlegt, wie die Abfrageergebnisse ausgegeben werden sollen (z. B. direkte Ausgabe des ursprünglichen Textblocks).
- Klicken Sie auf die obere rechte Ecke des Speichern und veröffentlichen.
WICHTIG: Es wird empfohlen, den Namen des Workflows in englischer Sprache anzugeben und die Anwendungsbeschreibung auszufüllen. Diese Informationen werden in n8n angezeigt und helfen bei der Identifizierung des Tools.
Nachdem Sie die Erstellung und Veröffentlichung des Workflows abgeschlossen haben, gehen Sie zurück zur MCP-Dienste Management-Schnittstelle.
- Erstellen Sie einen neuen MCP-Dienst (oder bearbeiten Sie einen bestehenden).
- Fügen Sie den soeben erstellten Workflow, der die Suche in der Wissensdatenbank enthält, als Werkzeug unter diesem Dienst hinzu.
Wenn Sie mit dem Hinzufügen fertig sind, klicken Sie auf anfangen zu benutzen.
Suchen Sie in dem Pop-up-Fenster die SSE kopieren Sie die angegebene Adresse. Diese Adresse ist der Zugangspunkt für den FastGPT MCP-Server, den Sie gerade erstellt haben.
Zugriff auf FastGPT MCP-Dienste im n8n
Wechseln Sie nun zum Workflow-Bearbeitungsbildschirm von n8n.
- Wählen Sie einen geeigneten Knoten, z. B. AI-Agent Knoten in ihren Werkzeug Abschnitt Konfiguration, klicken Sie auf das Pluszeichen +.
- Suchen Sie und fügen Sie die offiziell bereitgestellten MCP-Client-Tool Knotenpunkte.
- existieren MCP-Client-Tool auf dem Konfigurationsbildschirm des
- Fügen Sie die SSE-Adresse, die Sie zuvor von FastGPT kopiert haben, in das Feld Server-URL Felder.
- Sie können einen beschreibenden Namen für diesen Werkzeugknoten festlegen (z. B.
FastGPT Knowledge Base via MCP
) für den einfachen Aufruf im Agenten.
Einmal konfiguriert, können Sie es im Chat-Dialogfeld von n8n (oder anderen Auslösern) testen. Stellen Sie eine Frage, die einen Aufruf der Wissensdatenbank erfordert. Wenn die Konfiguration korrekt ist, können Sie sehen, dass n8n den FastGPT MCP-Dienst erfolgreich aufruft und die relevanten Informationen aus der Wissensdatenbank von FastGPT als Grundlage für die Antwort abruft.
Wie bereits erwähnt, wird die RAG-Wissensbasis von FastGPT allgemein als recht effektiv für leichtgewichtige LLM-Anwendungsplattformen angesehen.
Außerdem können Sie sehen, dass der Name und der Einführungssatz für den Workflow in FastGPT als Werkzeuginformationen auf der n8n-Seite angezeigt werden, um dem Agenten zu helfen, das zu verwendende Werkzeug zu verstehen und auszuwählen.
Erweiterung der Ideen und alternativer Zugang
Der Zugriff auf die FastGPT-Wissensbasis (gekapselt in einem Workflow) auf n8n über MCP ist ein effizienter und flexibler Ansatz. Darauf aufbauend kann er auch erweitert werden:
- Einstellung von FastGPTs Plug-in (Softwarekomponente) vielleicht Bot mit Wissensdatenbank selbst als MCP-Dienst nach außen hin verpackt ist.
- Mit FastGPTs API FastGPT ermöglicht es, die erstellte Anwendung (z.B. einen Bot mit einer Wissensbasis) als Schnittstelle zu veröffentlichen, die mit dem OpenAI API Format kompatibel ist.
Dieser API-Ansatz kann auch für den Zugriff auf die FastGPT-Wissensbasis in n8n verwendet werden:
- In n8n's AI-Agent Knoten (oder jeden anderen Knoten, der LLM aufrufen muss), fügen Sie eine neue Chat-Modell.
- Option OpenAI-kompatibles Chat-Modell Art.
- Konfiguration Berechtigungsnachweise:
Base URL
Geben Sie die von FastGPT bereitgestellte API-Adresse ein.API Key
Geben Sie den API-Schlüssel für die FastGPT-Anwendung ein.
Model Name
Sie kann beliebig ausgefüllt werden, und das tatsächliche Modell entspricht der Konfiguration im FastGPT Bot.
Auf diese Weise sendet n8n die Anfrage an den API-Endpunkt von FastGPT, den FastGPT verarbeitet und das Ergebnis zurückgibt. Dies ist gleichbedeutend mit dem Aufruf des FastGPT-Bots (und seiner Wissensbasis) als externer Big Model Service.
Vergleichen Sie den MCP- und den API-Ansatz:
- MCP-Methode::
- Vorteile: Entspricht eher dem n8n-Begriff "Werkzeuge", kann in Kombination mit anderen Werkzeugen im Agenten verwendet werden, nativer; potenziell reichhaltigere Metadaten (z. B. Werkzeugbeschreibungen).
- Nachteile: Relativ viele Einrichtungsschritte (Workflow erstellen, MCP-Dienste konfigurieren).
- API-Methode::
- Vorteile: relativ einfach einzurichten, man braucht nur die API-Adresse und den Schlüssel; einfach für Szenarien, in denen FastGPT als eine einzige Q&A-Engine verwendet wird.
- Nachteile: in n8n verhält es sich eher wie ein Aufruf eines externen Modells als ein kombinierbares "Werkzeug"; die Modellkonfiguration (z. B. Temperatur, max_tokens usw.) muss möglicherweise auf der n8n-Seite und auf der FastGPT-Seite koordiniert werden.
Die Entwickler können je nach Bedarf und Vorlieben die geeignete Integrationsmethode wählen.
Veröffentlichung und Anwendungen
Unabhängig davon, wie die FastGPT-Wissensdatenbank integriert ist, ist es einfach, sie für die externe Nutzung zu veröffentlichen, sobald Sie die Fehlersuche im n8n-Workflow abgeschlossen haben.
Zum Beispiel mit der Chat-Nachricht Bei Verwendung als Auslöseknoten:
- Doppelklick Chat-Nachricht Knotenpunkte.
- öffnet Chat öffentlich zugänglich machen Optionen.
- Das System generiert einen öffentlichen Chat-URL-Link, den Sie kopieren und weitergeben können.
- Vergessen Sie das nicht. Speichern Sie außerdem Aktivieren Sie Arbeitsablauf.
Diese öffentliche Chatseite kann sogar über den Browser eines mobilen Geräts aufgerufen und genutzt werden.
Es ist erwähnenswert, dass diese von n8n bereitgestellte öffentliche Chatseite auch viele Anpassungen unterstützt, wie z. B. das Einrichten eines Passwortzugangs, das Hochladen von Dateien durch Benutzer usw.
Damit eignet sich n8n ideal für die schnelle Erstellung von MVP-Produktprototypen (Minimum Viable Product) oder für die Erstellung von effizienzsteigernden KI-Workflows für Einzelpersonen und Teams.
abgesehen von Chat-Nachricht Knoten unterstützen viele der anderen Auslöseknoten von n8n (z. B. Webhook) auch die Veröffentlichung für den Extranet-Zugang, was einen extrem hohen Grad an Freiheit bietet. Wenn n8n lokal eingesetzt wird, kann der Extranet-Zugang durch Techniken wie das Eindringen in das Intranet erreicht werden.
Abschließende Überlegungen: das Wertangebot von n8n
Eine häufige Frage bei der Diskussion über diese Art von Low-Code/No-Code-Automatisierungstools lautet: Warum werden sie nicht einfach in Code implementiert? Für Entwickler, die mit der Programmierung vertraut sind, scheint die Verwendung von Code einfacher und kontrollierbarer zu sein.
Es stimmt, dass Tools wie n8n eine Lernkurve haben und es einige Zeit dauern kann, bis man den Einstieg findet. Sobald sie jedoch beherrscht werden, übersteigt die Effizienz der Erstellung und Iteration von Workflows oft bei weitem die der traditionellen Code-Entwicklung, insbesondere in Szenarien, die die Integration mehrerer APIs und Dienste beinhalten. Das starke Node-Ökosystem und der Community-Support von n8n können eine breite Palette von Automatisierungsbedürfnissen abdecken, von einfach bis komplex, sodass Ideen schnell umgesetzt werden können.
Natürlich ist für Projekte auf Unternehmensebene, die ein hohes Maß an Anpassung, extreme Leistung oder eine komplexe zugrundeliegende Logik erfordern, nach wie vor eine reine Code-Entwicklung erforderlich. Aber für eine große Anzahl von Automatisierungsszenarien, die Erstellung interner Tools, Rapid Prototyping und andere Anforderungen bieten n8n und ähnliche Tools eine sehr effiziente und flexible Option. Die Integration hervorragender KI-Anwendungen wie FastGPT über Protokolle wie MCP erweitert die Möglichkeiten von n8n noch weiter.