← Alle Projekte

Karla

Der KI-Reiseführer für Karlsruhe

Karla ist der KI-Chatbot auf dem offiziellen Tourismusportal karlsruhe-erleben.de und beantwortet Fragen zu Veranstaltungen, Orten und Anreise live aus der städtischen Datenbank.

Ich verantworte die technische Umsetzung: Chatbot-Architektur, Wissensbasis, Qualitätssicherung und das monatliche Reporting für den Kunden.

Status
Live, laufende Weiterentwicklung
Plattform
Flowise, Qdrant, eigene Ingest-Pipeline
Rolle
Technische Umsetzung und Betrieb
Sprachen
Deutsch, Englisch, Französisch
Auftraggeber
KME Karlsruhe Marketing und Event, KTG Karlsruhe Tourismus

Fallstudie von Fabian Bitzer 4 Min. Lesezeit

Karla ist der KI-Chatbot auf dem offiziellen Tourismusportal karlsruhe-erleben.de. Sie beantwortet Fragen zu Veranstaltungen, Sehenswürdigkeiten und Gastronomie in Karlsruhe live aus der städtischen Datenbank und dem Webseiteninhalt. Ich verantworte die technische Umsetzung: Chatbot, Wissensbasis, Qualitätssicherung und das monatliche Reporting für den Kunden.

Ein Reiseführer für eine ganze Stadt

Karlsruhe Marketing und Event (KME) und die Karlsruhe Tourismus GmbH (KTG) betreiben mit karlsruhe-erleben.de das offizielle Tourismusportal der Stadt. Besucherinnen und Besucher stellen dort dieselben Fragen wie an jeder Tourist-Information: Was ist heute los? Wo kann ich gut essen? Wie komme ich am besten in die Stadt? Die Antworten liegen verteilt in einer Veranstaltungsdatenbank, in Hunderten Ortsbeschreibungen und auf Dutzenden Webseiten zu Anreise, Stadtteilen und Sehenswürdigkeiten.

Karla ist der Chatbot, der diese Fragen direkt auf der Website beantwortet, auf Deutsch, Englisch und Französisch, rund um die Uhr. Das Projekt läuft unter der Leitung von Prof. Dr. Gerald Lembke, der als Qualitätsbeauftragter die fachliche und redaktionelle Seite verantwortet. Ich habe die technische Umsetzung übernommen: die gesamte Chatbot-Architektur, die Anbindung an die Datenquellen, die Qualitätssicherung und das laufende Reporting an den Kunden.

Startseite von karlsruhe-erleben.de: die Überschrift Dein Karlsruhe erleben über dem Karlsruher Schloss in der Dämmerung.
Das offizielle Tourismusportal karlsruhe-erleben.de, auf dem Karla die Fragen der Gäste beantwortet.

Wie Karla eine Frage beantwortet

Karla ist kein einzelnes Sprachmodell, sondern ein Agent mit mehreren Werkzeugen, der je nach Frage selbst entscheidet, wo die Antwort herkommt:

  1. Veranstaltungsfragen (“Was ist dieses Wochenende los?”) gehen an ein eigenes Werkzeug, das live gegen die Toubiz-API der KTG abfragt, dieselbe Datenbank, aus der auch der Veranstaltungskalender der Website gespeist wird. Ein zweites Werkzeug liefert zuerst immer das aktuelle Datum, denn das Sprachmodell kennt weder den heutigen Tag noch die Uhrzeit von sich aus, und ohne diesen Zwischenschritt hätte es “heute” und “morgen” zuverlässig falsch beantwortet.
  2. Fragen zu Orten (Restaurants, Sehenswürdigkeiten, öffentliche Toiletten, Öffnungszeiten) laufen über ein zweites Werkzeug gegen dieselbe Toubiz-Datenbank, diesmal den Orts- und Artikelbestand.
  3. Allgemeine Fragen zu Karlsruhe (Anreise, Geschichte, Stadtteile) beantwortet Karla aus einer eigenen Wissensbasis, die aus den redaktionellen Inhalten der Website selbst aufgebaut ist.

Diese Aufteilung ist der Kern der Architektur: Wo es eine strukturierte, aktuelle Quelle gibt, nutzt Karla sie live, statt sich auf einen möglicherweise veralteten Textausschnitt zu verlassen. Der System-Prompt schreibt das ausdrücklich vor: Karla antwortet nur auf Basis von Werkzeugergebnissen und erfindet nie Öffnungszeiten, Preise oder Adressen.

Frage

Was ist am Wochenende los?

Werkzeugheutiges Datum geholt

  • VeranstaltungenToubiz-API, live
  • OrteToubiz-API, Orte
  • Allgemeine FragenWissensbasis, Qdrant

Karla

Veranstaltungskalender

DEENFR

Wie Karla eine Frage verteilt: Zuerst holt sie das heutige Datum, dann wählt sie die passende Quelle. Bei Veranstaltungen fragt sie die städtische Datenbank live ab, statt sich auf einen älteren Textausschnitt zu verlassen, und antwortet nur aus dem, was die Werkzeuge liefern.

Architektur

Baustein Aufgabe
Flowise Orchestriert den Agenten, die Werkzeuge und das Gespräch
Qdrant Vektordatenbank für den Webseiteninhalt
Sprachmodell über Requesty EU-gehostetes Gateway, aktuell ein Gemini-Flash-Modell
Toubiz-API Live-Datenquelle für Veranstaltungen und Orte
Eigene Ingest-Pipeline Crawlt, zerlegt und aktualisiert die Wissensbasis

Der Chatbot selbst läuft in Flowise, einem Open-Source-Werkzeug für KI-Agenten, selbst gehostet auf einem eigenen Server. Die laufende Version ist fest gepinnt, und jeder Wechsel läuft zuerst gegen eine Testkopie, nie direkt gegen den produktiven Bot.

Für die Wissensbasis betreibe ich eine eigene Ingest-Pipeline, die die Website-Inhalte crawlt, in Abschnitte zerlegt und in Qdrant einbettet. Sie lief anfangs nächtlich automatisiert, läuft inzwischen aber gezielt über ein kleines internes Werkzeug: Die Redaktion trägt eine geänderte Seite ein, die Pipeline liest sie neu ein und ersetzt nur die betroffenen Abschnitte. Das hat sich als robuster erwiesen als ein nächtlicher Komplettlauf über tausende Seiten, bei dem sich Fehler einzelner Seiten in der Fläche verlieren.

Qualitätssicherung: gegen echte Testfragen prüfen, nicht nur gegen das Bauchgefühl

Bevor ein neues Sprachmodell oder ein neuer Prompt live geht, läuft er gegen eine feste Testmatrix aus mehreren Dutzend echten Nutzerfragen, von Veranstaltungsfragen über Anreise bis zu Fragen auf Englisch und Französisch. Jede Antwort wird automatisiert auf feste Kriterien geprüft, etwa ob eine erwartete Quellenangabe enthalten ist oder ob verbotene Formatierungen auftauchen. Auf dieser Basis habe ich mehrere Sprachmodelle systematisch gegeneinander getestet, bevor eines davon produktiv ging.

Dazu kommt eine Deny-Liste mit mehreren hundert Einträgen, die verhindert, dass Karla auf Manipulationsversuche oder unpassende Anfragen eingeht und stattdessen sachlich bleibt oder an die Tourist-Information verweist. Auch diese Regeln prüfe ich im laufenden Betrieb, nicht nur vor dem Rollout.

Monatliches Reporting für den Kunden

Über den Chatbot selbst hinaus habe ich ein eigenes Reporting-System gebaut, das KME jeden Monat einen Auswertungsbericht liefert. Ein Skript berechnet zunächst alle Kennzahlen aus dem Gesprächsexport, danach ordnet eine Gruppe von KI-Agenten jede einzelne Konversation des Monats einem Thema zu, prüft kritische Anfragen im Detail und bewertet die Antwortqualität. Aus beidem entsteht ein eigenständiges HTML-Dashboard, das direkt per Mail an das Kundenteam geht.

Der Bau des Berichts bricht bewusst ab, wenn diese inhaltliche Bewertung fehlt, damit nie ein reiner Zahlenbericht ohne echte Einordnung verschickt wird.

Was ich gelernt habe

Am meisten Zeit hat nicht der Chatbot selbst gekostet, sondern die Datenanbindung: Eine öffentliche API bedeutet nicht, dass ihre Dokumentation vollständig ist. Mehrere Parameter der Toubiz-API funktionierten anders als dokumentiert, und der Unterschied zeigte sich erst beim Testen gegen echte Antworten, nicht beim Lesen der Doku. Seitdem gilt für mich bei jeder Drittanbieter-API: gegen die echte Antwort prüfen, nicht gegen die Beschreibung.

Die zweite Lehre betrifft Zustände statt Aufrufe. Eine Einstellung, die nur als Parameter eines einzelnen Aufrufs existiert und nirgends gespeichert wird, geht beim nächsten Aufruf ohne diesen Parameter automatisch verloren, auch wenn sie vorher korrekt gesetzt war. Das hat mich gelehrt, Konfiguration grundsätzlich als gespeicherten Zustand zu behandeln, nicht als Übergabewert.

Status

Karla läuft produktiv auf karlsruhe-erleben.de und wird laufend weiterentwickelt, zuletzt mit einem Wechsel des Sprachmodells im September 2026. Du baust ein ähnliches Projekt, einen Chatbot mit Anbindung an bestehende Datenquellen oder eine Auswertung für wiederkehrende Berichte? Schreib mir an kontakt@bitzer-fabian.de.

Nächstes Projekt

CLEW Agent

KI-Agent, der Zendesk-Tickets für eine Snowboard-Marke vorschreibt, nie selbst sendet.