Zum Inhalt

Flex-Kartierung — Highlights

Flex-Kartierung ist eine Anwendung zur strukturierten Erfassung von Hochschulangeboten aus öffentlich zugänglichen Webseiten. Bearbeitende definieren in YAML-Dateien, welche Inhaltstypen erfasst werden sollen — etwa Forschungsprojekte, KI-Dienste, Handreichungen oder kooperative Dienste —, welche Felder ein Eintrag enthält und wie er als Steckbrief dargestellt wird. Aus eingegebenen URLs werden über eine mehrstufige LLM-gestützte Pipeline strukturierte Steckbriefe erzeugt und in einer durchsuchbaren statischen Website bereitgestellt. Der Schwerpunkt der Anwendung liegt auf einer eigenständigen Qualitätssicherungsschicht, die jedem extrahierten Wert eine geprüfte Aussage und einen Confidence-Score zuordnet, sowie auf einer frei konfigurierbaren Steckbrief-Definition.

Auf einen Blick

  • Strukturierte Steckbriefe aus beliebigen Hochschul-Webseiten erzeugen, ohne pro Seite manuell zu kopieren.
  • Eigene Inhaltstypen mit Feldern, Prompts und Steckbrief-Templates in YAML definieren — neue Steckbrief-Arten ohne Programmcode anlegen.
  • Extraktionsergebnisse über eine Review-Queue prüfen, korrigieren und gezielt erneut extrahieren.
  • Uneinheitliche Schreibweisen von Hochschulen und Orten (z.B. „TU München" / „Technische Universität München") über eine Entity-Verwaltung vereinheitlichen.
  • Zweisprachige Steckbriefe (Deutsch / Englisch) automatisch erzeugen, mit Schutz von Eigennamen und URLs vor unbeabsichtigter Übersetzung.
  • Eine vollständig statische öffentliche Website mit Kategorieseiten, Detailseiten, Volltextsuche, Sitemap und API exportieren.
  • Crawlen, Extrahieren und Generieren als asynchrone Hintergrundaufträge ausführen, ohne die Bedienoberfläche zu blockieren.

Highlights

Im Unterschied zu einem direkten LLM-Prompt oder einem einfachen Crawl-Skript verbindet Flex-Kartierung eine konfigurierbare Steckbrief-Definition mit einer mehrstufigen Verarbeitungspipeline und einer eigenständigen Qualitätssicherungsschicht. Daraus folgt, dass das Ergebnis pro Feld nachvollziehbar bewertet, manuell korrigierbar und über die Zeit reproduzierbar ist.

  • Eigene Steckbrief-Definition pro Inhaltstyp. Kategorien, Feldgruppen, Prompts, Confidence-Schwellen und Markdown-Templates werden vollständig in YAML beschrieben. Eine neue Erfassungsart entsteht durch eine Konfigurationsdatei, nicht durch Codeänderungen.

  • Zweistufige Extraktion mit eigenständiger Validierungs-Phase. Für jedes Feld führt das System einen Extract- und einen anschließenden Validate-Aufruf durch; die Validate-Phase liefert eine Qualitätsklasse (HIGH / MEDIUM / LOW / INSUFFICIENT), einen Score und eine Begründung.

  • Confidence-basierte Review-Queue. Felder unterhalb der pro Prompt definierten Required-Confidence werden automatisch zur manuellen Prüfung markiert und stehen mit Quellkontext zum Inline-Editieren bereit.

  • LLM-gestützte Entity-Normalisierung mit Schwellwerten und Review. Extraktionen mit Entity-Bezug (Hochschulen, Orte) werden gegen einen kanonischen Entity-Bestand abgeglichen; ab einer Mindest-Konfidenz erfolgt automatisches Verlinken, dazwischen wird eine Review-Aufgabe erzeugt.

  • Prompt-Dependencies für kontextabhängige Felder. Ergebnisse einzelner Felder können als Kontext in nachgelagerte Prompts übergeben werden (z.B. „Welches Fachgebiet an {institution} führt das Projekt durch?"), ausgeführt in dependency-aufgelösten Wellen.

  • Mehrstufige Übersetzungspipeline mit Eigennamen-Schutz. Validierte Felder werden einzeln ins Englische übersetzt, mit expliziten Regeln für Personen-, Institutions- und Produktnamen, URLs und Fachabkürzungen.

  • Anbindung an drei Quellen-/Backend-Typen: öffentliche Hochschul-Webseiten über einen Crawler mit robots.txt- und Rate-Limit-Beachtung; ein OpenAI-kompatibles LLM-Backend; PostgreSQL als Persistenz; Redis als Queue und Cache.

  • Robustheitsschicht zwischen Pipeline und Backend. Ein Circuit Breaker pausiert Anfragen an das LLM bei wiederholten Fehlern; ein Retry-Manager mit exponentiellem Backoff und Jitter fängt vorübergehende Fehler ab.

  • Vollständig nachvollziehbare Verarbeitung. Pro Quelle werden das gecrawlte Markdown, das rohe Extract-Ergebnis, das validierte Ergebnis, manuelle Korrekturen und Übersetzungen getrennt gespeichert; die Verarbeitung ist über strukturierte Logs und Prometheus-Metriken einsehbar.

  • Statische Auslieferung der öffentlichen Inhalte. Die generierte Website ist serverlos und kann als reine Dateien hinter einem CDN oder Webserver betrieben werden; clientseitige Suche und API-Endpunkte für maschinelle Konsumenten sind enthalten.