- docs/projektplan.md neu gegliedert: Arbeitsweise mit Freigaben, Zuständigkeiten, Meilensteine mit Abnahmekriterien, Arbeitspakete mit Status, Zeitplan, Entscheidungen - docs/plaene/: Teilplan je Arbeitspaket (detailliert für AP0, AP1, AP2, AP3, AP5, AP11, AP13; grob für AP4, AP6–AP10, AP12, Optionen) und Vorlage - docs/fragen.md: alle offenen Fragen mit Status, Empfänger und betroffenem Teilplan - CLAUDE.md: Umsetzung nur nach freigegebenem Teilplan Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
# AP4 – Indexierung und LV-Suche
|
||
|
||
| | |
|
||
|---|---|
|
||
| Status | grob geplant, Detaillierung bis KW 43 |
|
||
| Aufwand | 1,0 PW |
|
||
| Zeitraum | KW 44–46 |
|
||
| Meilenstein | M2 |
|
||
| Freigabe | offen |
|
||
|
||
## Ziel
|
||
|
||
Alle LV-Positionen und Vorbemerkungen eines Projekts sind über Stichwort und Bedeutung
|
||
durchsuchbar. Jeder sieht nur, was er sehen darf, und springt vom Treffer ins PDF. Das ist auch
|
||
die Grundlage der Vorprüfung.
|
||
|
||
## Umfang
|
||
|
||
**Enthalten:**
|
||
- Abschnitte bilden, Embeddings erzeugen
|
||
- Rohvektoren in MySQL, Index in Meilisearch, Neuaufbau aus MySQL
|
||
- Zentraler Suchdienst mit Pflichtfilter für Rechte und Suchreihenfolge
|
||
- Hybride Suche mit Reranking
|
||
- Oberfläche der LV-Suche
|
||
|
||
**Nicht enthalten:**
|
||
- Vorschläge zur Prüfung (AP6)
|
||
- Regelwerk (Phase 3)
|
||
|
||
## Voraussetzungen
|
||
|
||
- AP2 Teil 1 (Ausstattung, Quantisierung), AP3 (Clients), AP5 (LV-Elemente)
|
||
- A2 (weitere Vertragsunterlagen?), A4 (beauftragte Nachträge mit durchsuchen?), A10 (Suchreihenfolge)
|
||
|
||
## Entscheidungen (vorläufig)
|
||
|
||
| Nr. | Frage | Vorschlag |
|
||
|---|---|---|
|
||
| E4.1 | Einheit eines Abschnitts | Je Position: OZ, Kurztext und Langtext. Vorbemerkungen nach Absätzen. PDFs ohne GAEB in Abschnitten von etwa 500–1.000 Tokens |
|
||
| E4.2 | Kandidaten vor dem Reranking | 40, danach die besten 10 (nach AP2 Teil 2 anpassen) |
|
||
| E4.3 | Gewichtung Stichwort/Bedeutung | `semanticRatio` 0,6, einstellbar |
|
||
|
||
## Schritte (grob)
|
||
|
||
- [ ] **4.1** Abschnittsbildung aus `lv_elemente` und PDF-Texten
|
||
- [ ] **4.2** Embedding-Jobs:
|
||
- Stapel, Vorrang für Suchanfragen
|
||
- Rohvektor als float32-BLOB mit Modell, Dimension und Vorverarbeitungsstand
|
||
- [ ] **4.3** Meilisearch-Index:
|
||
- Filterfelder Mandant, Land, Projekt, Abschnitt, Vertrag, Auftragnehmer, LV, Art, vertraulich
|
||
- Embedder `userProvided`
|
||
- [ ] **4.4** Zentraler Suchdienst:
|
||
- Pflichtfilter aus den Rechten des Benutzers
|
||
- Suchreihenfolge Vertrag → Abschnitt → Projekt nach den Projekteinstellungen
|
||
- Reranking
|
||
- [ ] **4.5** Neuaufbau des Index aus MySQL (Artisan-Befehl)
|
||
- [ ] **4.6** Oberfläche LV-Suche:
|
||
- Bereich wählbar: Vertrag, PFA oder Projekt
|
||
- Treffer nach LV gruppiert, „Im PDF zeigen“
|
||
- [ ] **4.7** Pilot-PFA auf Staging indexieren (du); Kennzahlen zu Dauer und Kosten
|
||
|
||
## Abnahmekriterien
|
||
|
||
- Die Kriterien von M2 zur LV-Suche sind erfüllt.
|
||
- Ein Benutzer ohne Recht erhält keinen Treffer und keine Trefferzahl aus fremden Projekten oder
|
||
vertraulichen Dokumenten (Tests).
|
||
|
||
## Risiken
|
||
|
||
- Last auf der KI-API bei der Erstindexierung (C8): nachts in Stapeln laufen lassen.
|