Zum Hauptinhalt springen
Startseite / Portfolio / Construction DocAI
DocumentAI

Construction DocAI

Arbeitssicherheit, Genehmigungen, FIDIC-Verträge

Gebaut von Rogue AI · Vertikal abgestimmte Dokumentenextraktion für Baustellen-Unterlagen · Selbst gehostet · Lokales Labor

Allein über einen konzentrierten Abschnitt von Abenden gebaut; weiterentwickelt, sobald neue Dokumenttypen auftauchten.

Construction DocAI — Arbeitssicherheit, Genehmigungen, FIDIC-Verträge

Das Problem

Ein Bauprojekt erzeugt einen stetigen Strom an Unterlagen, die jemand sorgfältig lesen muss: Gefährdungsbeurteilungen und Arbeitsanweisungen, Bau- und Planungsgenehmigungen, FIDIC/JCT/NEC-Verträge mit ihren Klauseln zu Nachträgen und Einbehalt sowie ein Stapel von Versicherungszertifikaten und Gewerbe-Lizenzen von Nachunternehmern mit Ablaufdaten, die im Kleingedruckten vergraben sind. Das Lesen ist langsam, leicht zu überfliegen, und gerade die Dinge, die später beißen — ein abgelaufenes Versicherungszertifikat, eine Vertragsstrafenklausel, eine abgelaufene Genehmigung — sind genau die Details, die ein müder Prüfer übersieht. Ich wollte ein Werkzeug, das die langweilige erste Lesung übernimmt und die Daten, Klauseln und Risiken sichtbar macht, damit ein Mensch die wirklich wichtigen Teile prüfen kann.

Was ich gebaut habe

Eine fokussierte Web-App, in der man ein Baustellen-Dokument hochlädt und auswählt, um welchen Dokumenttyp es sich handelt; dann extrahiert ein selbst gehostetes Vision-Language-Modell die compliance-relevanten Daten und markiert Risiken, mit strukturierten Ergebnissen, die sich exportieren lassen. Statt eines Alleskönner-Analysators gibt es vier Modi — Sicherheitsdokumente, Baugenehmigungen, Bauverträge und Nachunternehmer-Compliance — jeder gesteuert durch seinen eigenen, auf diesen Dokumenttyp abgestimmten Prompt. Bewusst gibt es keine Datenbank: jeder Upload ist eine In-Memory-Sitzung mit einer 60-Minuten-TTL, sodass Dokumente nicht aufbewahrt werden.

Architektur

Vier vertikale Analysemodi statt eines generischen Lesers
Getrennte Routen für Sicherheitsdokumente (RAMS, Gefährdungsbeurteilungen, Arbeitsanweisungen, Sicherheitszertifikate), Baugenehmigungen (Gültigkeit, Bebauungskonformität), Bauverträge (FIDIC/JCT/NEC-Nachträge, Einbehalt, Vertragsstrafen) und Nachunternehmer-Compliance (Versicherungszertifikate, Gewerbe-Lizenzen, Ablaufverfolgung). Jeder Modus trägt seinen eigenen Extraktions-Prompt — der größte einzelne Hebel für die Ausgabequalität.
Selbst gehostetes Vision-Language-Modell über Ollama
Die gesamte Inferenz läuft gegen eine lokale Ollama-Instanz über ein internes Docker-Netzwerk — keine kommerzielle KI-API, keine Dokumente, die den Host verlassen. Ein bildfähiges Modell liest die Seite so, wie sie angeordnet ist, was bei gestempelten Genehmigungen und tabellarischen Zertifikatsdaten zählt, an denen reine Textextraktion scheitert.
Zustandslose Sitzungen im Arbeitsspeicher — keine Datenbank
Es gibt überhaupt keine Persistenzschicht. Jede Analyse ist eine Sitzung im Arbeitsspeicher mit einer 60-Minuten-TTL, danach ist sie weg. Kein Schema, keine Migrationen, nichts auf der Platte aufbewahrt — eine bewusste Passung für ein Werkzeug der Wegwerf-Analyse und eine Sache weniger, die abgesichert werden muss.
Gehärteter, abgeschotteter Container
Läuft als nicht-root, schreibgeschützter Container mit allen entzogenen Linux-Capabilities und gesetztem no-new-privileges, mit schreibbarem Scratch-Speicher beschränkt auf kleine tmpfs-Mounts und expliziten Grenzen für Speicher, CPU und PIDs. Jeder Port ist nur an Loopback gebunden; die App spricht über ein dediziertes internes Netzwerk mit dem Modell.
Austauschbares Inferenz-Backend
Dieselbe App kann ihre LLM-Aufrufe statt über das lokale Ollama über eine geteilte Host-Bridge leiten, umgeschaltet durch eine einzige Umgebungsvariable. Standardmäßig bleibt es beim selbst gehosteten Modell, um das Offline-Verhalten ohne externe API zu bewahren; die Bridge ist eine optionale Wahl für anspruchsvolleres Schließen, wenn man es möchte.

Tech-Stack

Next.jsOllamallavaDocker

Was zuerst gebrochen ist

  • Ein einziger generischer Prompt nach dem Muster 'lies dieses Dokument' ist überall nur mittelmäßig. Der Genauigkeitssprung kam erst, als die Arbeit in modus-spezifische Prompts aufgeteilt wurde — einer abgestimmt auf FIDIC/JCT/NEC-Vertragsklauseln, einer auf Sicherheits-RAMS und Arbeitsanweisungen, einer auf Gültigkeit von Genehmigungen und Bebauungskonformität. Das Modell wurde nicht klüger; die Anweisungen wurden enger.

  • Baustellen-Unterlagen sind optisch unordentlich: gestempelte Genehmigungen, eingescannte Arbeitsanweisungen, Tabellen mit Ablaufdaten von Versicherungen. Ein bildfähiges Modell, das das Seitenlayout betrachtet, schlägt reine Textextraktion bei diesen Dokumenten — aber der Vorteil ist ungleichmäßig: saubere digitale PDFs werden sauber extrahiert, gefaxte und neu eingescannte Zertifikate nicht.

  • Sitzungen mit kurzer TTL im Arbeitsspeicher statt in einer Datenbank zu halten, hat eine ganze Klasse von Aufwand beseitigt — kein Schema, keine Migrationen, keine aufbewahrten Dokumente auf der Platte. Für ein Werkzeug, bei dem jeder Upload eine Wegwerf-Analyse ist, war das die richtige Abwägung, keine Abkürzung.

Ergebnis

Ein funktionierender Demonstrator, der eine langsame manuelle Lesung von Baustellen-Unterlagen in einen schnellen strukturierten ersten Durchgang verwandelt — er zieht Klauseln, Daten und Risiken pro Dokumenttyp heraus, sodass ein Mensch sich auf die Prüfung statt auf die Abschrift konzentrieren kann. Er belegt das Muster, das mir wichtig ist: vertikal abgestimmte Prompts auf einem selbst gehosteten Modell, vollständig lokal, ohne dass Dokumente aufbewahrt oder an Dritte gesendet werden. Die ehrliche Grenze ist, dass es ein Demonstrator auf Portfolio-Niveau mit einem kleinen Modell in einem lokalen Labor ist — die Genauigkeit hängt von der Dokumentenqualität ab, und es ist die Assistenz eines Prüfers, keine Instanz mit Autorität.

Ehrliche Grenzen

Dies ist ein selbst gehosteter Portfolio-Demonstrator, allein gebaut und in einem lokalen Labor laufend — der frühere öffentliche VPS wurde stillgelegt. Er nutzt ein selbst gehostetes Vision-Language-Modell statt einer kommerziellen API, sodass die Qualität dem entspricht, was ein lokales Modell der 7B-Klasse leisten kann, nicht einem Spitzenmodell. Die Extraktionsgenauigkeit schwankt stark je nach Dokumentenlayout: eine saubere digitale Genehmigung wird gut gelesen; ein gestempeltes, eingescanntes, kontrastarmes Zertifikat kann Felder weglassen oder falsch lesen. Es gibt keine Datenbank — Sitzungen leben im Arbeitsspeicher mit einer 60-Minuten-TTL, sodass zwischen Besuchen nichts erhalten bleibt. Behandle die Ausgabe als schnellen ersten Durchgang für eine menschliche Prüfung, niemals als Compliance-Freigabe.

Verwandte Beiträge

← Zurück zum Portfolio