Funktionen¶
Der Chart-Generator deckt den vollständigen Ablauf von der Datenaufnahme über die natürlichsprachliche Eingabe bis zur Ausgabe interaktiver oder statischer Visualisierungen ab. Der Funktionsumfang umfasst neben der eigentlichen Chart-Erzeugung mehrere Mechanismen zur Qualitätssicherung der durch den LLM erzeugten Ergebnisse.
Anwendungsszenarien¶
- Schnelle Datenexploration. Eine hochgeladene CSV- oder Excel-Datei kann unmittelbar mit Anfragen wie „Zeige Top 10 als Balkendiagramm" oder „Verteilung als Histogramm" exploriert werden, ohne dass Spaltennamen oder Aggregationen manuell konfiguriert werden müssen.
- Vergleich zwischen Tabellenblättern. Bei Excel-Mappen mit mehreren Sheets lässt sich mit einer einzigen Anfrage („Erstelle Charts für alle Sheets") pro Blatt ein passender Chart erzeugen, dessen Typ aus der jeweiligen Datenstruktur abgeleitet wird.
- Iteratives Verfeinern eines Charts. Ein bestehender Chart kann im Dialog Schritt für Schritt angepasst werden, etwa „Färbe die Balken rot", „Füge Prozentwerte hinzu" oder „Ändere den Titel". Die Grundstruktur des Charts bleibt dabei erhalten.
- Korrelationsanalyse. Mit einer Anfrage wie „Zeige eine Korrelations-Heatmap" wird automatisch eine Korrelationsmatrix der numerischen Spalten berechnet und als Heatmap visualisiert.
- Chart-Empfehlungen ohne Vorwissen. Direkt nach dem Datei-Upload werden auf Basis der Spaltentypen und Sheet-Struktur drei bis fünf konkrete Vorschläge mit fertigen Eingabeformulierungen erzeugt.
- Aufbereitung für Berichte. Fertige Charts können als interaktives HTML (für Webveröffentlichung) oder als hochauflösendes PNG (für Dokumente und Präsentationen) exportiert werden.
Auf einen Blick¶
- Datenformate Import: CSV, XLSX, XLS, mit Multi-Sheet-Unterstützung für Excel.
- Chart-Typen: Balken-, Linien-, Flächen-, Streu-, Kreis-, Donut-, Histogramm-, Boxplot-, Violin- und Heatmap-Diagramme.
- Eingabe in natürlicher Sprache, klassifiziert nach Erstellung, Modifikation, Mehrfacherstellung oder Beratung.
- Aggregationen: Summe, Mittelwert, Anzahl, Minimum, Maximum, Median und Standardabweichung.
- Hell- und Dunkel-Theme; sechs vordefinierte Farbschemata.
- Export: interaktives HTML, statisches PNG.
- Chart-Historie der letzten zehn Charts pro Sitzung.
Datenquellen und Datenaufbereitung¶
Der Chart-Generator unterstützt zwei Eingabeformate. Beim Laden werden Spaltentypen automatisch erkannt und für die nachfolgenden Schritte aufbereitet.
- CSV. Trennzeichen (Komma, Semikolon, Tabulator, Pipe) und Zeichensatz (UTF-8, Latin-1) werden automatisch erkannt. Fehlerhafte Zeilen werden übersprungen, bevor die Datei in einen DataFrame überführt wird.
- Excel (
.xlsx,.xls). Mehrere Tabellenblätter werden parallel geladen. Pro Blatt werden Metadaten (Spaltentypen, Statistiken, Stichproben, fehlende Werte) extrahiert.
Die geladenen DataFrames werden speicheroptimiert (numerische Spalten heruntergecastet, kategorische Spalten erkannt, Datumsspalten geparst). Konfigurierbare Obergrenzen für Dateigröße, Zeilen- und Spaltenanzahl verhindern unkontrollierten Ressourcenverbrauch.
Eingabeverarbeitung und Intent-Klassifikation¶
Jede Eingabe wird zunächst klassifiziert, bevor Code generiert wird. Unterschieden werden vier Absichten: Erstellen eines Charts für ein einzelnes Blatt, Erstellen mehrerer Charts (mehrere oder alle Blätter), Modifikation des aktuellen Charts und reine Beratung ohne Erzeugung.
- Trigger-Wort-Bibliothek und Entscheidungslogik unterstützen die Klassifikation.
- Kontextinformationen (vorhandene Sheets, aktuell angezeigter Chart) fließen in die Erkennung ein.
- Jede Klassifikation enthält eine Begründung und einen Konfidenzwert für die Nachvollziehbarkeit.
Chart-Erzeugung¶
Aus dem klassifizierten Intent wird ein Ausführungsplan erstellt, der Chart-Typ, Achsen, Gruppierung, Aggregation und Titel festlegt. Aus dem Plan wird Plotly-Express-Code generiert und ausgeführt.
- Unterstützung für zehn Chart-Typen mit typspezifischen Parametern (etwa Orientierung und Stapel-Modus bei Balkendiagrammen, Loch-Anteil bei Donut-Charts, Trendlinie bei Streudiagrammen).
- Aggregationen werden, sofern erforderlich, vor dem Plotten auf dem DataFrame ausgeführt.
- Standard-Interaktivität (Hover, Zoom, Pan, Modebar) wird einheitlich auf alle erzeugten Charts angewendet.
Modifikation bestehender Charts¶
Anfragen, die einen bestehenden Chart anpassen, werden auf Basis des bisherigen Codes weitergeführt. Die Grundstruktur bleibt erhalten, gezielt verändert wird nur der vom Nutzer benannte Aspekt (Farbe, Titel, Labels, Größe, Stil, Daten). Bei semantischen Farbwünschen („rot für negativ") wird eine explizite Kategorie-zu-Farbe-Zuordnung erzeugt.
Empfehlungssystem¶
Direkt nach dem Datei-Upload werden auf Basis der Datenstruktur drei bis fünf konkrete Visualisierungsvorschläge erzeugt, jeweils mit Sheet-Bezug, Chart-Typ und einer fertig formulierten Eingabe zum Übernehmen. Über eine kurze Bestätigung („ok") können alle Vorschläge automatisch ausgeführt werden.
Qualitätssichernde Funktionen¶
Mehrere Mechanismen reduzieren Fehler und stabilisieren die Ergebnisse der LLM-gestützten Verarbeitung.
- Pipeline-Trennung. Intent-Erkennung, Planung und Ausführung sind als eigenständige Dienste mit separaten Prompts implementiert. Fehlerquellen lassen sich dadurch eingrenzen.
- Muster- und Anti-Muster-Bibliothek. Für gängige Chart- und Modifikationsfälle existieren Vorlagen; bekannte Fehlbildungen sind als Anti-Muster dokumentiert und Bestandteil der Prompts.
- Code-Validator. Vor der Ausführung wird der generierte Code semantisch geprüft, insbesondere bei Farbzuordnungen (Existenz der referenzierten Kategorien, Verwendung von
color_discrete_mapbei semantischen Anfragen). - Retry-Logik. Schlägt die Ausführung fehl, wird die Fehlermeldung an den LLM zurückgegeben; in bis zu drei Iterationen wird der Code überarbeitet.
- Seaborn-Fallback. Können auch wiederholte Korrekturversuche keinen lauffähigen Plotly-Code erzeugen, wird ein vereinfachter Seaborn-basierter Chart erstellt.
- Sandbox-Ausführung. Der erzeugte Code wird mit eingeschränkten Builtins und ohne Import-Möglichkeit ausgeführt.
- Spalten- und Typprüfung. Spaltennamen aus dem generierten Code werden gegen die tatsächlichen DataFrame-Spalten validiert.
- Nachvollziehbarkeit. Pro Chart werden Anfrage, Intent, generierter Code und verwendete Bibliothek gespeichert; Logging dokumentiert jeden Pipeline-Schritt.
Export, Sitzungen und Konfiguration¶
- Export. Charts können als interaktives HTML (Plotly über CDN oder eingebettet) oder als PNG (konfigurierbare Auflösung und Skalierung) gespeichert werden.
- Sitzungen. Pro Nutzersitzung werden DataFrames, Metadaten, aktuell angezeigter Chart und Chart-Historie (max. zehn Einträge) verwaltet.
- Themes. Hell- und Dunkel-Theme können während der Sitzung gewechselt werden; sechs vordefinierte Farbschemata stehen zur Auswahl.
- Konfiguration. Sämtliche Schwellenwerte (Datei-, Zeilen-, Spaltengrenzen, Anzahl LLM-Aufrufe, Retry-Anzahl, Themes, Export-Pfade, Server-Port, Reverse-Proxy-Pfad) sind über Umgebungsvariablen einstellbar.