Projektplan und Tech-Stack nach erster Besprechung mit BauIn angepasst
- Geprüft werden Nachträge je Position: "im Vertrag enthalten?" mit Fundstellen - Gliederung Projekt → PFA → Vertrag → LVs, Suchreihenfolge über PFAs - GAEB X86 als Grundlage, PDF zur Anzeige; LV-Suche als Meilenstein M2 - KI-API ITM über API-Werk: Sprachmodell vorhanden, Polling statt Webhook - Bewertungsmatrix und Stellungnahme als Optionen; Höhe Phase 2, Regelwerk Phase 3 - Termine: 16.10. BauIn, M1 30.10., M2 20.11., M3 18.12., M4 29.01. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
558e698e3b
commit
56eb2ea455
+18
-10
@@ -1,16 +1,16 @@
|
||||
# KI-BauIN – Tech-Stack
|
||||
|
||||
Stand: 1. Oktober 2026. Grundlage ist die allgemeine Tech-Stack-Referenz einer bestehenden
|
||||
Stand: 2. Oktober 2026. Grundlage ist die allgemeine Tech-Stack-Referenz einer bestehenden
|
||||
Laravel-Verwaltungsanwendung (Kollegenprojekt). Dieses Dokument übernimmt deren Grundsätze
|
||||
und benennt, wo KI-BauIN bewusst abweicht und warum.
|
||||
|
||||
## Beteiligte
|
||||
|
||||
- **ITM:** Anbieter der KI-API (OCR, Embeddings, Reranker, ggf. Sprachmodell), Projektleitung und
|
||||
abrechnende Firma. Stellt auch die Server (Staging, Produktion) und den Gitea, auf den das
|
||||
- **ITM:** Anbieter der KI-API (über API-Werk: Dokumentdienst mit OCR, Embeddings, Reranker,
|
||||
Sprachmodell), Projektleitung und abrechnende Firma. Stellt auch die Server (Staging, Produktion) und den Gitea, auf den das
|
||||
Repository gespiegelt wird.
|
||||
- **BauIn:** Endkunde. Liefert Fachdaten (LVs, MKAs, Bewertungsmatrizen), stellt den Fachexperten
|
||||
und nutzt das System.
|
||||
- **BauIn:** Endkunde. Prüft als Bauüberwachung im Auftrag der DB Nachträge dem Grunde nach.
|
||||
Liefert Fachdaten (LVs, Nachträge, Bewertungsmatrizen), stellt den Fachexperten und nutzt das System.
|
||||
- „Kunde“ meint in diesem Dokument BauIn; wo ITM gemeint ist, steht ITM.
|
||||
|
||||
## 1. Backend und Oberfläche
|
||||
@@ -27,7 +27,10 @@ und benennt, wo KI-BauIN bewusst abweicht und warum.
|
||||
| Mehrsprachigkeit | Deutsch (Standard) und Englisch, Sprache je Benutzer; Übersetzungen über Laravel Lang (nur Entwicklung), eigene Texte in `lang/project/` | ergänzt |
|
||||
| Vite 8, Node.js/npm | Asset-Build | gleich |
|
||||
| Composer | Abhängigkeiten mit Lockfile | gleich |
|
||||
| PhpSpreadsheet | Excel-Export der Bewertungsmatrix | geplant, sobald die Vorlage vorliegt |
|
||||
| GAEB-Import | LVs und Nachtrags-LVs aus GAEB DA XML (X86); D86 nur als Rückfall | ergänzt |
|
||||
| pdf.js (lokal ausgeliefert, kein CDN) | Anzeige der LV- und Nachtrags-PDFs mit Sprung zur Fundstelle | ergänzt |
|
||||
| PhpSpreadsheet | Ergebnisliste als Excel; Option: Bewertungsmatrix in der Vorlage der DB | geplant |
|
||||
| PHPWord | Option: Stellungnahme aus Word-Vorlage (nur .docx) | Option |
|
||||
| Dompdf | PDF-Erzeugung | vorerst nicht nötig |
|
||||
|
||||
Aufbau als modularer Laravel-Monolith: Livewire-Komponenten für die Interaktion, Services für
|
||||
@@ -44,8 +47,8 @@ Länderspezifisches (DE/AT) hinter Schnittstellen im Kern, Umsetzungen in `app/L
|
||||
| Datenbank-Warteschlange | Dokumentverarbeitung, Embeddings, KI-Aufrufe | gleich |
|
||||
| Laravel Scheduler | Wiederanlauf hängender Aufträge, Aufräumarbeiten | gleich |
|
||||
| Meilisearch | Hybride Suche (Volltext + Vektoren) mit Rechte-Filtern; Index jederzeit aus MySQL neu aufbaubar | ergänzt |
|
||||
| KI-API ITM | OCR, Embeddings (Qwen3-Embedding-8B), Reranker, ggf. Sprachmodell | ergänzt; Anbindung folgt |
|
||||
| Persistenter Ereigniseingang mit HMAC-Prüfung | Falls die KI-API Ergebnisse per Webhook meldet | geplant, abhängig von der API |
|
||||
| KI-API ITM (API-Werk, `https://api-werk.de`) | Dokumentdienst (OCR-Gateway/OpenDataLoader: PDF → Markdown/JSON, asynchron mit Abfrage des Ergebnisses), Modelle `embed`, `rerank`, `chat`, `chat-noreasoning` (OpenAI-kompatibel). Drei Schlüssel, nur im Backend; 120 Anfragen/min je Schlüssel; 50 MB je Datei; keine Idempotenz | ergänzt; Anbindung folgt |
|
||||
| Persistenter Ereigniseingang mit HMAC-Prüfung | – | nicht nötig: API-Werk meldet nicht per Webhook, Ergebnisse werden abgefragt |
|
||||
| Nachrichten-Outbox | – | vorerst nicht nötig; Benachrichtigungen über die Warteschlange |
|
||||
|
||||
Redis wird nicht eingesetzt: Warteschlange, Cache und Sessions laufen über die Datenbank.
|
||||
@@ -67,7 +70,9 @@ Redis wird nicht eingesetzt: Warteschlange, Cache und Sessions laufen über die
|
||||
| Keine externen Ressourcen | Test prüft alle Seiten auf fremde Hosts | ergänzt (Vorgabe „alles lokal“) |
|
||||
|
||||
Rechte werden an den Zugriffswegen und an den auslösenden Aktionen geprüft, zusätzlich bei
|
||||
Suchtreffern und bevor Inhalte an ein Sprachmodell gehen.
|
||||
Suchtreffern (vor dem Reranking) und bevor Inhalte an ein Sprachmodell gehen. Dokumentinhalte
|
||||
sind für das Sprachmodell Daten, keine Anweisungen. Keine Authorization-Köpfe, ganzen Dokumente
|
||||
oder Prompts in technischen Logs.
|
||||
|
||||
## 4. Entwicklung und Qualität
|
||||
|
||||
@@ -113,6 +118,9 @@ Ergänzt bzw. anders als in der Referenz:
|
||||
- Verlangen BauIn oder ITM eine Festplattenverschlüsselung auf den Servern bei ITM?
|
||||
- Backups: Speicherort, Aufbewahrungsdauer und wer dafür zuständig ist.
|
||||
- Weitere Sprachen über Deutsch und Englisch hinaus (technisch vorbereitet, fachlich nicht angefragt).
|
||||
- Datenschutz der KI-API: Standort von API-Werk und KI-Server, Auftragsverarbeitung, Aufbewahrung
|
||||
hochgeladener Dokumente und Ergebnisse.
|
||||
- Anmeldung mit eigenem Passwort und 2FA oder mit dem Microsoft-Konto von BauIn.
|
||||
|
||||
## Architekturübersicht
|
||||
|
||||
@@ -126,7 +134,7 @@ flowchart LR
|
||||
App --> Search[(Meilisearch)]
|
||||
App --> Queue[Datenbank-Warteschlange]
|
||||
Queue --> Worker[Worker unter systemd]
|
||||
Worker --> KI[KI-API ITM: OCR, Embeddings, Reranker]
|
||||
Worker --> KI[KI-API ITM über API-Werk: OCR, Embeddings, Reranker, Sprachmodell]
|
||||
Worker --> DB
|
||||
Worker --> Search
|
||||
Cron[Cron] --> Scheduler[Laravel Scheduler]
|
||||
|
||||
Reference in New Issue
Block a user