Workflow Beschreibung
Dieser Workflow umfasst mehrere Schritte, die es ermöglichen, mit einer SQLite-Datenbank zu interagieren und KI-gestützte Abfragen durchzuführen. Lassen Sie uns jeden Schritt im Detail untersuchen:
1. Manual Trigger
- Node-Name: When clicking „Test workflow“
- Typ: n8n-nodes-base.manualTrigger
- Beschreibung: Dieser Node wird verwendet, um den Workflow manuell zu starten. Er wartet auf einen Auslöser, bevor die nachfolgenden Nodes ausgeführt werden.
2. HTTP Request
- Node-Name: Get chinook.zip example
- Typ: n8n-nodes-base.httpRequest
- Beschreibung: Dieser Node lädt eine Beispiel-Datenbank im ZIP-Format von einer externen URL herunter. Die URL verweist auf eine SQLite-Datenbank namens „chinook.zip“.
- Einstellungen: Der Parameter enthält die URL „https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip“. Diese URL wurde gewählt, da sie eine öffentlich zugängliche und häufig verwendete Beispiel-Datenbank enthält.
3. Compression
- Node-Name: Extract zip file
- Typ: n8n-nodes-base.compression
- Beschreibung: Dieser Node entpackt die heruntergeladene ZIP-Datei, um auf die darin enthaltene Datei zuzugreifen.
- Einstellungen: Es wurden keine zusätzlichen Parameter benötigt, da der Node standardmäßig die entpackte Datei herausliefert.
4. Read & Write File
- Node-Name: Save chinook.db locally
- Typ: n8n-nodes-base.readWriteFile
- Beschreibung: Dieser Node speichert die entpackte Datenbankdatei „chinook.db“ lokal.
- Einstellungen: File-Name ist auf „./chinook.db“ gesetzt, um die Datei im aktuellen Verzeichnis zu speichern. Operation ist „write“, um die Datei zu erstellen.
5. Read & Write File
- Node-Name: Load local chinook.db
- Typ: n8n-nodes-base.readWriteFile
- Beschreibung: Dieser Node lädt die lokal gespeicherte „chinook.db“ Datei, um ihre Inhalte für Abfragen verfügbar zu machen.
- Einstellungen: File-Selector ist auf „./chinook.db“ gesetzt, um die zuvor gespeicherte Datei auszuwählen.
6. Set
- Node-Name: Combine chat input with the binary
- Typ: n8n-nodes-base.set
- Beschreibung: Dieser Node kombiniert die Eingaben des Chats mit den binären Daten der SQLite-Datenbank.
- Einstellungen: Modus ist auf „raw“ gesetzt und „includeBinary“ ist auf „true“ gesetzt, um sicherzustellen, dass sowohl JSON-Daten als auch binäre Daten in den nächsten Node weitergeleitet werden.
7. LangChain Agent
- Node-Name: AI Agent
- Typ: @n8n/n8n-nodes-langchain.agent
- Beschreibung: Dieser Node ist der Agent, der Abfragen an die SQLite-Datenbank sendet und die notwendigen Antworten generiert.
- Einstellungen: Agent ist auf „sqlAgent“ gesetzt, und die Datenquelle ist „sqlite“. Die Konfiguration ist so gewählt, dass sie optimal auf Abfragen von SQLite reagiert.
8. LangChain Chat Trigger
- Node-Name: Chat Trigger
- Typ: @n8n/n8n-nodes-langchain.chatTrigger
- Beschreibung: Dieser Node erkennt eingehende Chat-Nachrichten, die dann den Arbeitsablauf auslösen.
- Einstellungen: Der Webhook-ID ist konfiguriert, um mit Chat-Nachrichten zu interagieren.
9. Memory Buffer
- Node-Name: Window Buffer Memory
- Typ: @n8n/n8n-nodes-langchain.memoryBufferWindow
- Beschreibung: Dieser Node speichert die letzten 10 Kontexte (Abfragen und Antworten) für die Interaktion mit dem KI-Agenten.
- Einstellungen: Die Länge des Kontextfensters ist auf 10 festgelegt, was eine optimale Anzahl für sinnvolle Konversationen darstellt.
Ergebnis
Der Workflow ist nun vollständig konfiguriert, um mit einer SQLite-Datenbank zu interagieren und KI-gestützte Antworten auf Benutzereingaben zu generieren. Die Kombination aus Datenbankabfrage und KI-Agent macht diesen Workflow besonders nützlich für datengetriebenen Austausch.