Zum Inhalt

Chart-Generator

Der Chart-Generator ist eine Webanwendung zur Erzeugung interaktiver Datenvisualisierungen aus CSV- und Excel-Dateien über natürlichsprachliche Anfragen. Anstelle einer einstufigen Code-Generierung kommt eine agentische Pipeline zum Einsatz, die eine Anfrage in mehrere Verarbeitungsschritte zerlegt: Erkennung der Absicht, Erstellung eines Ausführungsplans und kontrollierte Ausführung des generierten Codes. Die Pipeline stützt sich auf einen extern angebundenen, OpenAI-kompatiblen LLM-Endpoint und kombiniert ihn mit Mustervorlagen, Validierungen und einer Fallback-Logik.

Auf einen Blick

  • CSV- und Excel-Dateien hochladen und ohne Programmierkenntnisse visualisieren.
  • Charts in natürlicher Sprache anfordern (Beispiel: „Zeige Top 10 als Balkendiagramm").
  • Bestehende Charts iterativ anpassen, etwa Farben, Beschriftungen oder Achsen ändern.
  • Mehrere Tabellenblätter einer Excel-Mappe in einem Schritt visualisieren.
  • Vorschläge für geeignete Visualisierungen aus den hochgeladenen Daten ableiten lassen.
  • Charts als interaktives HTML oder als PNG exportieren.
  • Auf eine Chart-Historie der letzten zehn Visualisierungen pro Sitzung zurückgreifen.

Highlights

Im Unterschied zu einem direkten LLM-Prompt oder einem einfachen Generator-Skript zerlegt der Chart-Generator jede Anfrage in eindeutig verantwortete Schritte und prüft deren Ergebnisse. Dadurch werden typische Fehlermuster sprachmodellbasierter Code-Generierung früher erkannt, korrigiert oder kompensiert.

  • Agentische dreistufige Pipeline. Eine Anfrage durchläuft drei spezialisierte Dienste: Intent-Erkennung (Klassifikation der Absicht), Plan-Erstellung (Festlegung von Chart-Typ, Spalten, Aggregation) und Ausführung (Code-Generierung und -Ausführung). Die Trennung erlaubt zielgerichtete Prompts und nachvollziehbare Zwischenergebnisse.
  • Muster- und Anti-Muster-Bibliothek. Für gängige Chart-Typen, Aggregationen und Modifikationen liegen geprüfte Code-Vorlagen vor. Anti-Muster benennen typische Fehler (etwa fehlendes dropna, ungültige Parameter), die der LLM vermeiden soll.
  • Semantische Farb-Validierung. Anfragen wie „rot für negative Werte" oder die Vorgabe von Ampelfarben werden erkannt und in eine explizite Kategorie-zu-Farbe-Zuordnung übersetzt, statt positionsbasierte Farbpaletten zu verwenden.
  • Automatische Fehlerkorrektur. Schlägt die Code-Ausführung fehl, wird der Fehler an den LLM zurückgegeben und der Code in bis zu drei Iterationen überarbeitet. Erst danach greift ein Fallback.
  • Seaborn-Fallback. Wenn die Plotly-basierte Generierung trotz Korrekturversuchen scheitert, übernimmt eine Seaborn-Variante mit reduziertem Funktionsumfang, sodass eine Visualisierung in den meisten Fällen erzeugt werden kann.
  • Sandbox-Ausführung des generierten Codes. Der erzeugte Python-Code wird in einer eingeschränkten Umgebung mit definierten Builtins und ohne Import-Möglichkeit ausgeführt.
  • Multi-Sheet-Verarbeitung. Für Excel-Mappen werden pro Tabellenblatt eigenständige Pläne erstellt; eine Anfrage „für alle Sheets" erzeugt parallel passende Charts pro Blatt.
  • Anbindung an zwei Datenquellen: CSV (mit automatischer Erkennung von Trennzeichen und Zeichensatz) sowie Excel (.xlsx, .xls, mehrere Tabellenblätter).
  • Konfigurierbare Verarbeitungsgrenzen. Dateigröße, Zeilen- und Spaltenobergrenzen, Anzahl der LLM-Aufrufe pro Anfrage sowie Retry-Verhalten lassen sich über Umgebungsvariablen einstellen.
  • Sitzungsbasierte Chart-Historie. Generierte Charts werden inklusive Quellcode, Anfrage und Metadaten je Sitzung vorgehalten und können erneut geladen werden.