patch 17c

This commit is contained in:
team 1
2026-05-01 20:38:10 +02:00
parent 1897fdf0eb
commit f98de3c785
4 changed files with 136 additions and 20 deletions

View File

@@ -0,0 +1,55 @@
# RetrieX Patch 17c - Accuracy CAL / Pool Grounding Hotfix
## Ziel
Patch 17c korrigiert zwei nach Patch 17b verbliebene Accuracy-Probleme:
1. **Testomat CAL / Grenzwerte**
- Prompts wie `welche grenzwerte kann der testomat cal messen` sollen den passenden Produktdatensatz `Testomat 2000 CAL` sicherer als exaktes Dokument auflösen, auch wenn der Nutzer die numerische Familienkennung `2000` nicht nennt.
- Fehlübertragungen von Testomat-808-Indikatorbereichen auf Testomat CAL werden im Prompt-Grounding weiter untersagt.
2. **Chlor / Schwimmbad**
- Chlor-Messfähigkeit und Schwimmbad-/Pool-Anwendung werden getrennt bewertet.
- Ein Produkt darf nur dann als Schwimmbad-/Pool-Lösung empfohlen werden, wenn dieselbe RAG- oder Shop-Quelle diese Anwendung explizit nennt.
## Geänderte Dateien
- `src/Knowledge/Retrieval/NdjsonChunkLookup.php`
- `config/retriex/prompt.yaml`
## Details
### Exact document lookup
`NdjsonChunkLookup` erhält einen zusätzlichen Fallback für Titelmatches mit fehlender numerischer Produktfamilie. Dadurch kann ein Prompt wie `Testomat CAL` auf einen Titel wie `Testomat 2000 CAL` matchen, wenn alle nicht-numerischen Titelanker übereinstimmen und kein widersprechender numerischer Promptanker vorhanden ist.
Beispiele:
- `Testomat CAL` -> darf `Testomat 2000 CAL` matchen.
- `Testomat 808 CAL` -> darf nicht allein wegen `CAL` auf `Testomat 2000 CAL` springen, wenn ein widersprechender Zahlenanker vorhanden ist.
### Prompt-Grounding
Die Promptregeln wurden um zwei Guardrails ergänzt:
- CAL darf nicht mit Testomat-808-Indikatorbereichen oder generischen `0,02 °dH bis 5 °dH`-Bereichen beantwortet werden, außer ein CAL-Quellrecord belegt diese Zuordnung explizit.
- Chlor-Messung ist kein automatischer Beleg für Schwimmbad-/Pool-Eignung. Diese Anwendung muss in derselben Quelle explizit stehen.
## 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`