Workflow zur Erstellung eines RAG Chatbots für Filmempfehlungen mit Qdrant und Open AI

Dieser Workflow ermöglicht es, einen RAG Chatbot zu erstellen, der Filme basierend auf Benutzeranfragen empfiehlt.

Workflow zur Erstellung eines RAG Chatbots für Filmempfehlungen mit Qdrant und Open AI

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Workflow-Zusammenfassung

Dieser Workflow nutzt n8n, um einen RAG (Retrieval-Augmented Generation) Chatbot zu erstellen, der Filmempfehlungen basierend auf einer Datenbank von IMDb-Filmen bereitstellt. Der Workflow umfasst mehrere Schritte zur Datenakquise, -verarbeitung und zur Bereitstellung von Empfehlungen über die OpenAI-API und eine Vektordatenbank von Qdrant.

Node-Erklärungen

1. Manual Trigger

  • Node-Name: When clicking ‘Test workflow’
  • Typ: manualTrigger
  • Beschreibung: Der Ausgangspunkt des Workflows, der den Testvorgang auslöst.

2. GitHub

  • Node-Name: GitHub
  • Typ: github
  • Beschreibung: Holt eine CSV-Datei (10_1000_IMDB_movies.csv) von einem GitHub-Repository, die Filmdaten enthält.
  • Einstellungen: Besitzt Parameter wie den Repository-Namen und den Dateipfad, um die Datei abzurufen.

3. Extract from File

  • Node-Name: Extract from File
  • Typ: extractFromFile
  • Beschreibung: Extrahiert Filmdaten aus der zuvor heruntergeladenen CSV-Datei.

4. Embeddings OpenAI

  • Node-Name: Embeddings OpenAI
  • Typ: embeddingsOpenAi
  • Beschreibung: Generiert Text-Embeddings für die Filmbeschreibungen durch OpenAI.
  • Einstellungen: Nutzt das Modell 8-text-embedding-3-small für die Verarbeitung.

5. Default Data Loader

  • Node-Name: Default Data Loader
  • Typ: documentDefaultDataLoader
  • Beschreibung: L3dt Daten und Metainformationen der Filme zur weiteren Verarbeitung in den Vektorstore.

6. Token Splitter

  • Node-Name: Token Splitter
  • Typ: textSplitterTokenSplitter
  • Beschreibung: Teilt den Text in Tokens auf, um die Interaktion mit dem Vektormodell zu ermöglichen.

7. Qdrant Vector Store

  • Node-Name: Qdrant Vector Store
  • Typ: vectorStoreQdrant
  • Beschreibung: Speichert die Embeddings im Qdrant Vektor-Database zur zukünftigen Abfrage.

8. When chat message received

  • Node-Name: When chat message received
  • Typ: chatTrigger
  • Beschreibung: Reagiert auf eingehende Chatnachrichten zur Empfehlung von Filmen.

9. OpenAI Chat Model

  • Node-Name: OpenAI Chat Model
  • Typ: lmChatOpenAi
  • Beschreibung: Nutzt das GPT-4o-Mini-Modell zur Generierung von Antworten auf Benutzeranfragen.

10. Call n8n Workflow Tool

  • Node-Name: Call n8n Workflow Tool
  • Typ: toolWorkflow
  • Beschreibung: Ruft den n Workflow auf, um empfohlene Filme von der Vektordatenbank abzurufen.

11. Execute Workflow Trigger

  • Node-Name: Execute Workflow Trigger
  • Typ: executeWorkflowTrigger
  • Beschreibung: Führt einen vordefinierten Workflow innerhalb von n8n aus.

12. Merge

  • Node-Name: Merge
  • Typ: merge
  • Beschreibung: Kombiniert verschiedene Datenströme für die weitere Verarbeitung.

13. Split Out

  • Node-Name: Split Out
  • Typ: splitOut
  • Beschreibung: Zerlegt die Daten in separate Teile zur Verarbeitung.

14. Aggregate

  • Node-Name: Aggregate
  • Typ: aggregate
  • Beschreibung: Fasst die Daten zu einer zusammen, um die Antwort für den Benutzer zu formatieren.

15. AI Agent

  • Node-Name: AI Agent
  • Typ: agent
  • Beschreibung: Verarbeitet Anfragen und gibt die besten Filmempfehlungen auch unter Verwendung von Vektoren zurück.

16. Sticky Notes

  • Node-Name: Sticky Note
  • Typ: stickyNote
  • Beschreibung: Visuelle Notizen zur Dokumentation wichtiger Schritte im Workflow.

Ergebnis

Dieser Workflow erstellt effektiv einen RAG Chatbot zur Filmempfehlung, indem er Nutzeranfragen verarbeitet, Embeddings erzeugt und diese zur Suche in einer Vektordatenbank verwendet, um präzise Empfehlungen auszugeben.

Download Link

Facebook
Twitter
LinkedIn

Andere Projekte