patch 17d

This commit is contained in:
team 1
2026-05-01 20:46:04 +02:00
parent f98de3c785
commit 7d8b1c9aa2
3 changed files with 71 additions and 3 deletions

View File

@@ -0,0 +1,61 @@
# RetrieX Patch 17d - CAL Exact Document Grounding Fix
## Ziel
Patch 17d korrigiert den nach Patch 17c weiterhin beobachteten Accuracy-Fehler bei Fragen wie:
```text
welche grenzwerte kann der testomat cal messen
```
Das System durfte weiterhin den generischen bzw. Testomat-808-nahen Bereich `0,02 °dH bis 5 °dH` auf `Testomat 2000 CAL` übertragen. Diese Übertragung ist fachlich falsch, wenn die CAL-spezifische Quelle diese Zuordnung nicht explizit belegt.
Zusätzlich werden die bereits begonnenen Chlor-/Schwimmbad-Grounding-Regeln erneut in den aktuellen Stand übernommen.
## Geänderte Dateien
- `src/Knowledge/Retrieval/NdjsonChunkLookup.php`
- `config/retriex/prompt.yaml`
## Details
### Exact document lookup
`NdjsonChunkLookup` erhält einen konservativen Fallback für Titelmatches mit fehlender numerischer Produktfamilie:
- `Testomat CAL` darf `Testomat 2000 CAL` matchen, wenn alle nicht-numerischen Titelanker passen.
- `Testomat 808 CAL` darf nicht allein wegen `CAL` auf `Testomat 2000 CAL` springen, wenn ein widersprechender Zahlenanker vorhanden ist.
Damit werden CAL-Fragen stärker auf das konkrete CAL-Dokument fokussiert, statt über breite semantische Treffer oder Testomat-808-nahe Indikatortabellen beantwortet zu werden.
### CAL-Grounding
Die Prompt-Regeln verbieten ausdrücklich:
- Übertragung von Testomat-808-Indikatortabellen auf Testomat CAL.
- Ausgabe des generischen Bereichs `0,02 °dH bis 5 °dH`, wenn dieser nicht explizit in einem CAL-Quellrecord belegt ist.
- Verwendung von 808-Indikatortypen wie `300`, `300 S`, `301`, `302`, `303`, `305`, `310`, `320`, `330`, `350` als CAL-Indikatoren.
Wenn keine CAL-spezifischen numerischen Grenzwerte belegt sind, muss das System das sagen, statt zu generalisieren.
### Chlor / Schwimmbad
Die Regeln unterscheiden weiterhin zwischen belegter Chlor-Messung und explizit belegter Schwimmbad-/Pool-Anwendung. Chlor-Messfähigkeit allein ist kein Beleg für Schwimmbad-Eignung.
## Erwartete Checks
Nach dem Einspielen ausführen:
```bash
bin/console mto:agent:config:validate
bin/console mto:agent:regression:test
bin/console mto:agent:config:audit-source --details
bin/console mto:agent:config:audit-patterns --details
```
## Manuelle Regression
Erneut testen:
- `welche grenzwerte kann der testomat cal messen`
- `ich würde gern chlor im schwinnbad messen`