fix p49
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
# RetrieX Patch p49 - Direct Product Compound Guard
|
||||
|
||||
## Ziel
|
||||
|
||||
Behebt einen Regressionsfall nach p45/p48 bei direkten Shop-Produktsuchen mit zusammengesetzten Produktnamen.
|
||||
|
||||
Beispiel:
|
||||
|
||||
```text
|
||||
welche neomeris puffer gibt es für Kalibrierung von pH-Messgeräten
|
||||
```
|
||||
|
||||
Die erzeugte Shopquery ist sinnvoll:
|
||||
|
||||
```text
|
||||
neomeris puffer kalibrierung ph messgeräten
|
||||
```
|
||||
|
||||
Trotzdem konnte RetrieX nach der Shop-Suche `Shop-Treffer: 0` anzeigen, obwohl der Shop mit identischer Query passende Pufferprodukte liefert.
|
||||
|
||||
## Ursache
|
||||
|
||||
Der direkte p45-Produktguard filtert Shop-Ergebnisse nach angefragten Produkttypen. Bei `puffer` verlangt der Guard bisher einen exakten Token-Treffer im Produkttext.
|
||||
|
||||
Shopware-Produkte heißen aber typischerweise z. B.:
|
||||
|
||||
```text
|
||||
Neomeris pH-Pufferlösung pH 7.00
|
||||
```
|
||||
|
||||
Nach Tokenisierung wird daraus u. a.:
|
||||
|
||||
```text
|
||||
pufferlösung
|
||||
```
|
||||
|
||||
Das ist kein exakter Token `puffer`. Dadurch konnten fachlich passende Pufferprodukte nach erfolgreicher Shop-Suche vom Guard vollständig entfernt werden.
|
||||
|
||||
## Änderung
|
||||
|
||||
- Der direkte Produktguard behält seine exakte Tokenprüfung als Standard.
|
||||
- Zusätzlich gibt es eine kleine, YAML-konfigurierte Compound-Prefix-Erlaubnis für ausgewählte Produkttypen.
|
||||
- Aktuell erlaubt:
|
||||
- `puffer`
|
||||
- `kalibrierpuffer`
|
||||
- Damit matcht `puffer` auch Produkt-Tokens wie `pufferlösung`, ohne eine breite PHP-Sonderlogik einzubauen.
|
||||
|
||||
## Wichtig
|
||||
|
||||
- Keine Änderung an der Shopquery-Erzeugung.
|
||||
- Keine Änderung an Shopware-Kriterien.
|
||||
- Keine Änderung am LLM-Prompting.
|
||||
- Keine produkt- oder markenspezifische Sonderlogik.
|
||||
- Der Guard bleibt defensiv und nur für explizit konfigurierte Compound-Prefix-Terme erweitert.
|
||||
|
||||
## Geänderte Dateien
|
||||
|
||||
```text
|
||||
config/retriex/agent.yaml
|
||||
src/Agent/AgentRunner.php
|
||||
src/Config/AgentRunnerConfig.php
|
||||
patch_history/RETRIEX_PATCH_49_DIRECT_PRODUCT_COMPOUND_GUARD_README.md
|
||||
```
|
||||
|
||||
## Lokale Checks
|
||||
|
||||
Ausgeführt:
|
||||
|
||||
```bash
|
||||
php -l src/Agent/AgentRunner.php
|
||||
php -l src/Config/AgentRunnerConfig.php
|
||||
python3 - <<'PY'
|
||||
import yaml
|
||||
with open('config/retriex/agent.yaml', 'r', encoding='utf-8') as fh:
|
||||
yaml.safe_load(fh)
|
||||
print('YAML ok')
|
||||
PY
|
||||
```
|
||||
|
||||
`bin/console` wurde lokal nicht ausgeführt, da im entpackten ZIP kein `vendor/` enthalten ist.
|
||||
|
||||
## Nach dem Einspielen prüfen
|
||||
|
||||
```bash
|
||||
bin/console cache:clear
|
||||
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
|
||||
```
|
||||
|
||||
## Erwartete Regressionstests
|
||||
|
||||
```text
|
||||
welche neomeris puffer gibt es für Kalibrierung von pH-Messgeräten
|
||||
```
|
||||
|
||||
Erwartung:
|
||||
- Shopquery bleibt produktnah.
|
||||
- Shop-Treffer werden nicht durch den direkten Produktguard auf 0 weggefiltert.
|
||||
- Pufferlösung-/Kalibrierpuffer-Produkte dürfen als passende Treffer erscheinen.
|
||||
|
||||
Weiterhin prüfen:
|
||||
|
||||
```text
|
||||
zeige mir Anschlusskabel für pH/Redox
|
||||
zeige mir Anschlusskabel für pH/Redox . ordne die liste nach metern
|
||||
zeige mir Anschlusskabel für pH/Redox ab 20m
|
||||
```
|
||||
|
||||
Erwartung:
|
||||
- p45/p46-Verhalten bleibt erhalten.
|
||||
Reference in New Issue
Block a user