Zum Inhalt

Funktionen

LLM-Chat bietet einen Freitext-Chat mit optionaler Anreicherung durch Dokumente und Bilder. Eingaben werden über einen einheitlichen Upload-Mechanismus angenommen und automatisch nach Dateityp verarbeitet. Geladene Dokumente bleiben über alle Sitzungen hinweg verfügbar; Bilder werden als visueller Inhalt der jeweiligen Nachricht gesendet. Vorgefertigte Rollenprofile, Prompt-Vorlagen und ein Word-Export ergänzen den Funktionsumfang.

Anwendungsszenarien

  • Dokumente zusammenfassen und kritisch reflektieren: Längere Texte werden geladen und im Dialog auf Kernaussagen, Argumentationsstrukturen und Lücken hin befragt.
  • Daten und Quellen aus Dokumenten extrahieren: Aus geladenen Dokumenten werden gezielt Zahlen, Fakten, Verweise oder Zitate herausgesucht und strukturiert ausgegeben.
  • Bilder und Diagramme erläutern: Diagramme, Screenshots oder fotografierte Tafelbilder werden an eine Nachricht angehängt und im Kontext der gestellten Frage interpretiert.
  • Texte übersetzen und stilistisch überarbeiten: Texte werden zwischen Deutsch und Englisch übersetzt oder hinsichtlich Stil, Grammatik und Klarheit überarbeitet.
  • Mehrere Dokumente vergleichen: Mehrere Dokumente werden parallel geladen und für strukturierte Vergleiche herangezogen — etwa zur Gegenüberstellung von Konzepten, Methoden oder Quellen.
  • Recherchen über Sitzungen hinweg fortsetzen: Recherchen lassen sich auf mehrere thematische Sitzungen verteilen, wobei der Dokumentenpool sitzungsübergreifend erhalten bleibt.

Auf einen Blick

  • Anbindung an einen OpenAI-kompatiblen LLM-Endpunkt mit vorkonfigurierten Profilen für Qwen3, Qwen3.5, Kimi und GLM sowie einem Default-Profil für weitere Modelle.
  • Unterstützung von 14 Dokumentformaten (PDF, DOCX, DOC, XLSX, XLS, PPTX, PPT, HTML, HTM, TXT, MD, RST, CSV, RTF, PY) und 4 Bildformaten (JPG, PNG, GIF, WEBP).
  • Streaming-Antworten mit Filterung von Reasoning-Tags und einer Stop-Funktion während der Generierung.
  • Verwaltung mehrerer Chat-Sitzungen mit Auto-Titelvergabe; geladene Dokumente sind sitzungsübergreifend verfügbar.
  • Vier Rollenprofile für den System-Prompt sowie 13 thematische Prompt-Vorlagen, davon vier dokumentspezifisch.
  • Token-Budget-Anzeige, Duplikatsbereinigung beim Dokument-Upload und kontrollierte Ablehnung bei Überschreitung der Limits.
  • Word-Export des Chat-Verlaufs mit vollständigem Markdown- und LaTeX-Rendering.

Chat und Dialogsteuerung

Der Chat bildet den Kern der Anwendung. Antworten werden gestreamt, sodass die Ausgabe unmittelbar sichtbar wird. Für Modelle mit <think>-Notation werden interne Reasoning-Abschnitte aus der Ausgabe entfernt und während der Verarbeitung durch eine kompakte Statusanzeige ersetzt.

  • Streaming und Stop-Funktion: Modellantworten werden zeichenweise ausgegeben; eine laufende Generierung lässt sich jederzeit abbrechen.
  • System-Prompt mit Rollenprofilen: Vier vorgefertigte Profile (sachlicher Assistent, Tutor, inspirativ, leer) sind auswählbar und im Anschluss frei editierbar.
  • Prompt-Vorlagen: Klickbare Vorlagen für Zusammenfassung, Analyse, einfache Erklärung, Übersetzung (DE/EN), Stilüberarbeitung, Vergleich, Brainstorming und Schritt-für-Schritt-Anleitungen. Bei geladenen Dokumenten werden zusätzliche dokumentspezifische Vorlagen eingeblendet (Worum geht es?, Zahlen & Fakten, kritische Reflexion, Literatur & Quellen).
  • Auto-Titelvergabe: Nach der ersten Nachricht einer Sitzung wird ein Kurztitel im Format „Aktionswort: Thema" generiert.
  • Markdown- und LaTeX-Darstellung: Antworten werden mit Markdown-Formatierung dargestellt; LaTeX-Formeln werden inline ($…$) und als Block ($$…$$) gerendert.
  • Datumshinweis: Das aktuelle Datum wird automatisch als Bestandteil des System-Prompts mitgesendet.

Datenanbindung

LLM-Chat verbindet sich mit einem einzelnen externen Datenpunkt: einem Sprachmodell-Server.

  • OpenAI-kompatibler LLM-Endpunkt: Adressiert wird ein über die OpenAI-Chat-Completions-API ansprechbarer Server (etwa eine vLLM- oder kompatible Instanz). Verbindungsparameter wie Basis-URL, API-Schlüssel und Modellname sind über Umgebungsvariablen konfigurierbar. Vorkonfigurierte Modell-Profile bestehen für Qwen3, Qwen3.5, Kimi und GLM; weitere Modelle werden über ein Default-Profil unterstützt. Je Profil werden Sampling-Parameter (Temperature, top-p, top-k, min-p, Penalty-Werte) sowie modell­spezifische Reasoning-Schalter (chat_template_kwargs) gepflegt und per Modellnamen oder explizit per Konfigurationsvariable ausgewählt.

Dokumentverarbeitung

Dokumente werden serverseitig zu reinem Text extrahiert und als dauerhafter Bestandteil des Sitzungskontexts in den System-Prompt aufgenommen. Die Verarbeitung folgt einer zweistufigen Strategie.

  • Schnelle Extraktoren: Für jedes Format wird zunächst ein leichtgewichtiger, formatspezifischer Extraktor versucht — pdfminer.six für PDF, python-docx für DOCX (inklusive Tabellen), python-pptx für PPTX (inklusive Sprechernotizen-Strukturen und Tabellen), openpyxl für XLSX, ein eigener HTML-Parser für HTML/HTM sowie eine Direktlesung für reine Textformate (TXT, MD, RST, PY, CSV, RTF).
  • Universal-Fallback: Schlägt der schnelle Extraktor fehl oder existiert für das Format keiner (DOC, PPT, XLS), wird auf unstructured mit format­spezifischen Partitionern zurückgegriffen. Für PDF lässt sich zwischen einer schnellen Variante und einer hochauflösenden Layout-Analyse umschalten.
  • Bereinigung: Nach der Extraktion werden mehrfache Leerzeilen und Whitespaces reduziert, optional Seitenzahlen entfernt und zu kurze Absätze ausgefiltert; Überschriften werden erkannt und behalten.
  • Token-Schätzung: Pro Dokument wird der Token-Bedarf approximiert (rund drei Zeichen pro Token für Deutsch) und gegen das verfügbare Kontextbudget geprüft.

Bildverarbeitung

Bilder werden für die multimodale Eingabe an das Sprachmodell vorbereitet.

  • Validierung und Konvertierung: Geprüft werden Format und Dateigröße (Standard-Limit 20 MB). Die EXIF-Orientierung wird korrigiert, RGBA/LA/P-Modi werden gegen einen weißen Hintergrund nach RGB konvertiert.
  • Skalierung: Bilder werden bei Bedarf auf eine maximale Kantenlänge (Standard 2048 px) skaliert.
  • Übertragung: Die Übergabe erfolgt als Base64-kodierte JPEG-Datei in der von der OpenAI-API erwarteten image_url-Struktur.
  • Mehrere Bilder pro Nachricht: Mehrere Bilder können innerhalb einer Nachricht gemeinsam an das Modell übergeben werden, etwa für vergleichende Analysen.

Sitzungs- und Kontextverwaltung

  • Mehrere Chat-Sitzungen: Pro Browser-Tab werden bis zu 20 Sitzungen vorgehalten und sind in der Sidebar wechselbar.
  • Globaler Dokumentkontext: Geladene Dokumente sind unabhängig von der aktiven Sitzung verfügbar; ein Sitzungswechsel oder „Neuer Chat" entfernt sie nicht.
  • State pro Browser-Tab: Jeder Browser-Tab erhält eine eigene Anwendungs­instanz; ein Reload setzt den Zustand zurück.
  • Persistente Bilder im Verlauf: Verarbeitete Bilder werden für die Anzeige im Verlauf zwischengespeichert, sodass sie auch nach erneutem Öffnen einer Sitzung sichtbar bleiben.

Qualitätssicherung

  • Duplikatsbereinigung: Wird ein Dokument mit identischem Dateinamen erneut geladen, ersetzt es das bestehende Dokument; das Token-Budget wird entsprechend angepasst.
  • Token-Limit-Prüfung: Vor jeder Aufnahme eines Dokuments wird geprüft, ob der verfügbare Budget-Rest ausreicht. Bei Überschreitung wird das Dokument kontrolliert abgelehnt und der Nutzer per Hinweis informiert.
  • Dokument-Anzahl-Limit: Eine konfigurierbare Obergrenze (Standard 25 Dokumente) verhindert die unbegrenzte Anhäufung von Kontextquellen.
  • Reasoning-Filterung: <think>-Abschnitte werden auch bei zeichenweisem Streaming zuverlässig erkannt (inklusive partieller Tag-Anfänge) und aus der finalen Ausgabe entfernt.
  • Robustes Encoding-Handling: Bei Textdateien werden mehrere Zeichensätze (UTF-8, Latin-1, CP1252) durchprobiert, um Lesefehler zu vermeiden.
  • Eingabevalidierung gegen XSS: Vom Nutzer kommende Daten (Dateinamen, IDs) werden in der Sidebar HTML-encodiert dargestellt.
  • Aussagekräftige Fehlermeldungen: Verbindungs-, Modell- oder Auslastungsfehler des Sprachmodell-Servers werden in eindeutig formulierten, deutschsprachigen Hinweisen ausgegeben.

Export

  • Word-Export: Der Chat-Verlauf der aktuellen Sitzung wird als .docx-Datei ausgegeben. Der Markdown-Renderer übernimmt Überschriften (H1–H4), fett/kursiv/durchgestrichene Texte, Inline- und Block-Code, geordnete und ungeordnete Listen mit Verschachtelung, Tabellen, Blockzitate, horizontale Linien und Hyperlinks.