p80
This commit is contained in:
@@ -1161,6 +1161,8 @@ parameters:
|
||||
- tc
|
||||
- redox
|
||||
- orp
|
||||
- select
|
||||
- sensor
|
||||
- 0,02
|
||||
stopword_cleanup:
|
||||
origin: genre_native
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# RetrieX Patch 80 - Chlor Select Sensor Query Preservation
|
||||
|
||||
## Ziel
|
||||
|
||||
Direkte Shop-Suchen nach exakt benannten Sensor-Produkten sollen nicht auf einen zu generischen Messparameter reduziert werden.
|
||||
|
||||
Beispiel vor dem Patch:
|
||||
|
||||
```text
|
||||
ich suche den chlor select sensor
|
||||
Gesendete Suchquery: chlor
|
||||
```
|
||||
|
||||
Dadurch konnten generische Chlor-Sensoren, z. B. JUMO tecLine CL2, die Shop-Ergebnisse dominieren, obwohl der Shop ein Produkt mit dem Titel `Chlor Select Sensor` enthält.
|
||||
|
||||
## Änderung
|
||||
|
||||
Die bestehende genre-native `shop_query_runtime.current_input_preservation_terms` in `config/retriex/genre.yaml` wurde um zwei Wasseranalyse-/Shop-Titel-relevante Tokens erweitert:
|
||||
|
||||
- `select`
|
||||
- `sensor`
|
||||
|
||||
Dadurch kann die vorhandene generische Preservation-Logik beide Tokens aus der aktuellen Nutzereingabe in die finale Shopquery zurückholen, wenn ein Optimizer oder Cleanup-Schritt die Query bereits zu stark gekürzt hat.
|
||||
|
||||
## Erwartetes Verhalten nach dem Patch
|
||||
|
||||
```text
|
||||
ich suche den chlor select sensor
|
||||
Gesendete Suchquery: chlor select sensor
|
||||
```
|
||||
|
||||
Der Patch ist bewusst klein und nutzt die bestehende v1.5.6-Architektur:
|
||||
|
||||
- keine PHP-Core-Änderung
|
||||
- keine neue Sonderlogik für ein einzelnes Produkt
|
||||
- keine Änderung an Retrieval, Ranking, Scoring, Shop-Matching oder Follow-up-Actions
|
||||
- fachliche Query-Preservation bleibt in `genre.yaml`
|
||||
|
||||
## Lokale Prüfungen
|
||||
|
||||
Im ZIP ohne `vendor/` wurden ausführbare lokale Prüfungen gemacht:
|
||||
|
||||
```bash
|
||||
php -l src/Agent/AgentRunner.php
|
||||
python3 -c "import yaml; yaml.safe_load(open('config/retriex/genre.yaml'))"
|
||||
```
|
||||
|
||||
Zusätzlich wurde die bestehende Query-Pipeline logisch simuliert:
|
||||
|
||||
- Routing bereits reduziert auf `chlor` -> Preservation ergibt `chlor select sensor`
|
||||
- Routing mit Originaleingabe `ich suche den chlor select sensor` -> Stopword/Positive-Filter ergibt `chlor select sensor`
|
||||
|
||||
## In der Zielumgebung ausführen
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
## Manueller Regressionstest
|
||||
|
||||
```text
|
||||
ich suche den chlor select sensor
|
||||
```
|
||||
|
||||
Erwartung:
|
||||
|
||||
- Gesendete Suchquery enthält `chlor select sensor`
|
||||
- Shop-Ergebnisse priorisieren den exakt betitelten `Chlor Select Sensor`
|
||||
- keine Regression bei bisherigen Preis-/Zubehör-/Variantentoken-Flows aus v1.5.6
|
||||
Reference in New Issue
Block a user