Files
MtoRagSystem/patch_history/RETRIEX_ACCESSORY_PRICE_FOLLOWUP_FIX_README.md
2026-05-04 19:15:22 +02:00

1.7 KiB

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:

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.