39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# RetrieX accessory price follow-up precision fix
|
|
|
|
This patch hardens commerce follow-up handling for questions such as:
|
|
|
|
- "was kostet der indikator"
|
|
- "was kostet indikatortyp 300"
|
|
|
|
Problem fixed:
|
|
|
|
- Technical RAG correctly resolves `0,02 °dH -> Testomat 808 -> Indikatortyp 300`.
|
|
- The subsequent commerce follow-up generated the correct primary query (`indikatortyp 300 testomat 808`), but shop repair broadened the search again.
|
|
- Repair queries could add model-only searches or nearby products, causing device prices or unrelated reagents to appear in the final answer.
|
|
|
|
Changes:
|
|
|
|
- Requested accessory codes are extracted with a configurable regex that also matches `indikatortyp 300`.
|
|
- If a requested accessory/reagent code is present, shop repair is restricted to focused accessory-code queries.
|
|
- Prompt-anchored models are preferred over proximity-only models for requested accessory-code repair.
|
|
- Fallback accessory-code repair query templates are configurable.
|
|
- Prompt grounding rules now explicitly forbid answering accessory price follow-ups with device prices or unrelated reagent prices.
|
|
|
|
No changes:
|
|
|
|
- No retrieval/scoring/vector logic changed.
|
|
- No hard keyword list added to the retriever core.
|
|
- No PromptBuilder text removed; only more precise shop grounding rules were added.
|
|
|
|
After applying:
|
|
|
|
```bash
|
|
php bin/console cache:clear
|
|
php bin/console mto:agent:config:validate
|
|
php bin/console mto:agent:regression:test
|
|
```
|
|
|
|
Expected behavior:
|
|
|
|
If the shop does not contain a clear product for `Indikatortyp 300`, RetrieX should say that the price is not available in the provided shop data and must not add the price of `Testomat 808`, `Testomat 2000`, or unrelated reagents.
|