last step

This commit is contained in:
team2
2026-04-29 22:22:57 +02:00
parent 8ece67b461
commit d618265044
12 changed files with 918 additions and 656 deletions

View File

@@ -0,0 +1,72 @@
# RetrieX Patch 5: CommerceQueryParser YAML-only
Basis: aktualisierte `rag-inprogress.zip` nach Patch 4.
## Ziel
`CommerceQueryParserConfig` darf keine fachlichen PHP-Defaults mehr enthalten. Alle Commerce-Query-Parser-Werte liegen jetzt in YAML unter:
```yaml
retriex.commerce_query.config
```
## Geaenderte Dateien
- `config/retriex/commerce.yaml`
- `config/retriex/vocabulary.yaml`
- `config/services.yaml`
- `src/Config/CommerceQueryParserConfig.php`
- `src/Config/RetriexEffectiveConfigProvider.php`
## Inhalt
Nach YAML verschoben wurden:
- bekannte Marken
- zu entfernende Commerce-Phrasen
- Filter-/Stop-Tokens fuer Shop-Suchtexte
- Suchtoken-Korrekturen
- Canonical Maps
- semantische Shop-Suchtokens
- Normalisierung fuer `€` -> ` euro `
- Trim-Zeichen fuer Query-Texte
- Limits fuer Tokenlaengen und Suchtextaufbau
- Regexe fuer History-Kontext, Preise, Modell-/Zubehoer-Erkennung, Messwerte
- Regex-Templates fuer exakte Token-Entfernung und Brand/Model-Erkennung
## Wichtig
- `CommerceQueryParserConfig` enthaelt keine `private const` Defaults mehr.
- Fehlende Pflichtwerte fallen nicht mehr still auf PHP zurueck, sondern erzeugen einen `InvalidArgumentException`.
- Die alten `commerce_query`-Vocabulary-Views/Maps wurden aus `vocabulary.yaml` entfernt, damit nicht zwei YAML-Stellen scheinbar denselben Parser steuern.
- `config/services.yaml` injiziert nur noch `%retriex.commerce_query.config%`; die alte Vocabulary-Abhaengigkeit im Parser-Config-Service ist entfernt.
## Nicht geaendert
- Retrieval-Scoring
- PromptBuilder
- AgentRunner
- Shop-Matching
- SSE/Job-Logik
- CommerceIntentConfig
## Lokale Pruefung nach Einspielen
```bash
php bin/console cache:clear
php bin/console mto:agent:config:validate
php bin/console mto:agent:config:audit-source --details
php bin/console mto:agent:regression:test
```
Besonders pruefen:
- Testomat 808 / 0,02 Grad dH
- Folgefrage Indikatortyp 300
- Preisfrage zum Indikator
- `welcher pockettester ist fuer Redox messung gut` -> `suche im shop`
- `mit welchem testomat kann ich freies chlor messen`
## Hinweis
Im ZIP-Arbeitsverzeichnis konnte ich Symfony-Kommandos nicht ausfuehren, weil `vendor/` nicht enthalten ist. PHP-Syntax der geaenderten PHP-Dateien wurde mit `php -l` geprueft.