patch 20
This commit is contained in:
58
RETRIEX_PATCH_20B_ROUTING_NORMALIZATION_FIX_README.md
Normal file
58
RETRIEX_PATCH_20B_ROUTING_NORMALIZATION_FIX_README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# RetrieX Patch 20b – Routing Normalization Fix
|
||||
|
||||
## Ziel
|
||||
|
||||
Patch 20b korrigiert den ersten LLM-Normalisierungsansatz aus p20. Die LLM-gestützte Eingabekorrektur bleibt erhalten, wird aber robuster und sauberer im Routing verwendet.
|
||||
|
||||
## Problem
|
||||
|
||||
Der Test `was kpstet der indikator` blieb nach p20 weiterhin RAG-only. Ursache: Wenn das LLM wegen strenger Guardrails unsicher war, konnte es den Originaltext unverändert zurückgeben. Dann erkannte die Commerce-/Shop-Intent-Logik das falsch geschriebene Routing-Wort nicht.
|
||||
|
||||
Zusätzlich darf die normalisierte Routing-Frage nicht die eigentliche Nutzerfrage in History und Antwortkontext ersetzen.
|
||||
|
||||
## Lösung
|
||||
|
||||
- Originalprompt bleibt erhalten.
|
||||
- Separater `routingPrompt` wird vor Intent-, RAG- und Shop-Routing verwendet.
|
||||
- LLM-Normalisierung bleibt der erste Schritt.
|
||||
- Danach generischer Fuzzy-Fallback gegen kanonische Routing-Terme aus YAML.
|
||||
- Keine Tippfehlerlisten wie manuell gepflegte Vertipper.
|
||||
- Fuzzy-Matching arbeitet nur gegen kanonische Signalwörter wie `kostet`, `suche`, `shop`, `messgerät`, `lösung`, `schwimmbad` usw.
|
||||
- Mehrdeutige oder unsichere Korrekturen werden verworfen.
|
||||
- Produktnamen, Zahlen und fachliche Ergänzungen werden nicht hinzugefügt.
|
||||
|
||||
## Zusätzliche Intent-Korrektur
|
||||
|
||||
Die Formulierung `ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad` wird als beratende Produktsuche behandelt. Dafür wurde ein zusätzliches Advisory-Product-Selection-Pattern sowie Preiswert-/Günstig-Signale in YAML ergänzt.
|
||||
|
||||
## Geänderte Dateien
|
||||
|
||||
- `src/Agent/AgentRunner.php`
|
||||
- `src/Config/AgentRunnerConfig.php`
|
||||
- `src/Config/RetriexEffectiveConfigProvider.php`
|
||||
- `config/retriex/agent.yaml`
|
||||
- `config/retriex/intent.yaml`
|
||||
|
||||
## Pflichtchecks
|
||||
|
||||
```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 Regressionen
|
||||
|
||||
1. `was kpstet der indikator`
|
||||
- Erwartung: interne Routing-Normalisierung zu `was kostet der indikator`
|
||||
- Shop-Suche wird angefragt
|
||||
|
||||
2. `ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad`
|
||||
- Erwartung: beratende Shop-/Produktsuche wird ausgelöst
|
||||
- Chlor-/pH-Messfähigkeit darf genannt werden
|
||||
- Schwimmbad-Eignung nur vorsichtig formulieren, wenn nicht explizit belegt
|
||||
|
||||
3. Stabile 1.5.1-Baseline
|
||||
- `Was ist der niedrigste Grenzwert für die Wasserhärte, welcher mit einem Testomaten überwacht werden kann?`
|
||||
- `mit welchem indikator wird der wert gemessen`
|
||||
Reference in New Issue
Block a user