Chatbots mit GPT & Co: Step-by-Step Guide aus der Praxis
Aktuell begegnen mir viele Chatbot-Projekte, bei denen GPT-ähnliche Chatbots selbst entwickelt werden.
Da ich inzwischen zahlreiche solcher Projekte begleitet habe, gebe ich hier einen kompakten Step-by-Step-Überblick zur Erstellung eins Bot inkusive meinen Erfahrung zu:
- zentrale Learnings
- Best Practices
- realistischen Aufwand
Die einzelnen Schritte sind unterteilt in den Aufbau der Infrastktur und die eigentliche Entwicklung/Programmierung.
Technische Details (z. B. Zusammenspiel von LLM, Vektor-Datenbank und Embedding-Modell) sind bewusst vereinfacht.
Übersicht
Arbeitspakete eines RAG-basierten Chatbot-Systems
—
Infrastruktur
1. Git Repository
Im Projektverlauf entstehen eine Vielzahl von Dokumenten und Dateien z.B. Python Code, Dockerfiles, K8S Kubernetes Manifeste und Helm Charts. Hierfür ist ein zentrales Git Repository mit einer initialen Ordnerstruktur die beste Wahl.
- Tools – Empfehlung: GitHub
- Aufwand: 1 Personentag
2. Kubernetes-Cluster
Das klingt zunächst nach viel Aufwand und teurer Hardware. Tatsächlich gibt es für interne Agents Mini-Kubernetes-Setups ab ca. 100 €/Monat.
- Tools – Empfehlung: Microk8s, Ubuntu VM (z. B. Hetzner, IONOS Cloud)
- Aufwand: 1–2 Personentage
3. GitOps-System
Ein Chatbot benötigt mehrere Services. Die lassen sich mit GitOps-Tools einfach visuell managen.
4. KI-Komponenten: LLM & Embedding
Ein Chatbot benötigt zwei zentrale KI-Komponenten: ein Embedding-Modell zur Vektorisierung und ein LLM zur Antworterzeugung.
4a. Self-hosted KI
Für Projekte mit eigener GPU-Hardware (z. B. Nvidia A100, L40).
- Tools – Empfehlung: vLLM, Jina Embeddings ,
- Aufwand: 2–3 Personentage
4b. KI aus der Cloud
Für Projekte ohne eigene Hardware.
- Tools – Empfehlung: OpenAI API
- Aufwand: 1–2 Personentage
4c. Multimodale Modelle (optional)
Wenn der Bot auch mit Bildern, Sprache oder Videos umgehen soll.
- Tools – Empfehlung: GPT-4o
- Aufwand: 1–2 Personentage
5. Vektor-Datenbank
Soll der Bot primär für Recherche eingesetzt werden, braucht er einen strukturierten Wissensspeicher – nämlich eine Vektor-Datenbank, in der relevante Inhalte vektorisiert und durchsuchbar abgelegt werden.
- Tools – Empfehlung: Qdrant
- Aufwand: 1–2 Personentage
- Laufende Kosten: 0 € (bei Self-hosting)
6. Staging Area
Einfache Weboberfläche, in der Mitarbeitende PDFs oder Texte ablegen können, die dann per Data Pipeline verarbeitet und dem Bot zur Verfügung gestellt werden sollen.
- Tools – Empfehlung: Filebrowser
- Aufwand: 1–2 Personentage
Programmierung
Nach oder auch schon während dem Setup der Infrastuktur kann mit der Entwicklung der einzelnen Module begonnen werden. Die Architektur kann in drei Hauptmodule unterschieden werden:
- Data Pipeline
- Frontend
- Chatbot Core
Architektur-Übersicht eines RAG-basierten Chatbot-Systems
7. Datenpipeline
Ein Python-Skript zerlegt Dateien in Chunks und speichert diese über das Embedding-Modell in der Vektor-Datenbank.
- Tools – Empfehlung: Python, LangChain, Qdrant-Client
- Aufwand: 5 Personentage
8. Headless Bot (Kern)
Der Bot empfängt Nutzereingaben, erstellt Vektor-Queries und generiert mit dem LLM eine Antwort. Der Headless Bot besitzt selbst jedoch kein User Interface ist nur per REST API z.B. mit CURL erreichbar.
9. Benutzeroberfläche (UI)
Die Oberfläche kann als Web-App, MS Teams App oder Discord Bot umgesetzt werden.
- Tools – Empfehlung: Streamlit
- Aufwand: 10 Personentage
Fazit: Wie aufwendig ist so ein Bot?
Viele der Komponenten des Bots sind als fertige Bausteine verfügbar. Jedoch entsteht durch die Vielzahl an Technologien und die Koordination des Zusammenspiels der Bausteine insbesondere bei Projekten ohne Vorerfahrung erhöhter Aufwand.
Wer auf der grünen Wiese mit einem gewissen Maß an Vorerfahrung in den verwendeten Technologien einen solchen Bot entwickeln möchte, kann mit folgendem Aufwand kalkulieren:
- Infrastruktur: ca. 8–12 Personentage
- Entwicklung: ca. 30 Personentage
- Gesamtaufwand: 38–42 Personentage
Das entspricht etwa 2 Monaten Entwicklungszeit für eine Einzelperson – oder einem kleinen Team innerhalb weniger Wochen bei paralleler Arbeit.
Und geht’s auch schneller?
Ja – mit einem passenden Helm-Chart lässt sich die gesamte Umgebung per Kubernetes automatisiert aufsetzen und wiederverwenden. Hierfür müssen die Einzelkomponenten wie Pipeline und Headless Chatbot als Docker Images verfügbar sein und entsprechend konfigurierbar entwickelt worden sein. So dass z.B.:
- Prompts in Config Files oder Environment Variables hinterlegt sind
- Stylesheets z.B. über ConfigMaps gesteuert werden können
- Images ohne Rebuild des Container Images getauscht werden können
Wer dies schon bei der Entwicklung berücksichtigt, kann so einen für verschiedene Kunden wiederverwendbaren Chatbot entwickeln.