From 7e868be24e4acfc05d18c561f8235c6022023270 Mon Sep 17 00:00:00 2001 From: team 1 Date: Tue, 5 May 2026 14:47:44 +0200 Subject: [PATCH] p43D --- config/retriex/prompt.yaml | 81 +------------------ config/retriex/vocabulary.yaml | 79 ++++++++++++++++++ ...PT_ROLE_VOCABULARY_CONSOLIDATION_README.md | 33 ++++++++ src/Config/PromptBuilderConfig.php | 15 +++- 4 files changed, 127 insertions(+), 81 deletions(-) create mode 100644 patch_history/RETRIEX_PATCH_43D_PROMPT_ROLE_VOCABULARY_CONSOLIDATION_README.md diff --git a/config/retriex/prompt.yaml b/config/retriex/prompt.yaml index 14ba989..f6c5d0f 100644 --- a/config/retriex/prompt.yaml +++ b/config/retriex/prompt.yaml @@ -56,6 +56,9 @@ parameters: vocabulary_views: technical_product_keywords: prompt.technical_product_keywords accessory_request_keywords: prompt.accessory_request_keywords + main_device_request_keywords: prompt.main_device_request_keywords + main_device_product_keywords: prompt.main_device_product_keywords + accessory_product_keywords: prompt.accessory_product_keywords sections: system_label: SYSTEM @@ -81,84 +84,6 @@ parameters: shop_search: source_line: 'Source: Shop Search' role_guard: - main_device_request_keywords: - - messanlage - - messanlagen - - anlage - - anlagen - - messgerät - - messgeraet - - analysegerät - - analysegeraet - - analysator - - analyzer - - gerät - - geraet - - system - - monitor - - controller - - testomat - - testoamt - main_device_product_keywords: - - messanlage - - messanlagen - - messgerät - - messgeraet - - analysegerät - - analysegeraet - - analysator - - analyzer - - online-analysator - - online analysegerät - - gerät - - geraet - - system - - monitor - - controller - - testomat - accessory_product_keywords: - - indikator - - indikatoren - - indicator - - reagenz - - reagenzien - - reagent - - zubehör - - zubehor - - ersatzteil - - ersatzteile - - kit - - set - - verbrauchsmaterial - - consumable - - nachfüll - - nachfuell - - refill - - lösung - - loesung - - solution - - teststreifen - - anschlusskabel - - kabel - - sensorkabel - - elektrodenkabel - - elektrode - - puffer - - kalibrierpuffer - - kalibrierlösung - - kalibrierloesung - - filter - - pumpenkopf - - motorblock - - service set - - serviceset - - service-set - - ph-indikator - - ph indikator - - ph-indikatoren - - ph indikatoren - - direct_main_device_request_patterns: - '/\b(welcher|welches|welche)\s+[^?.!,;]{0,40}(testomat|messgerät|messgeraet|analysegerät|analysegeraet|gerät|geraet|analysator)\b/u' - '/\b(suche|finde|empfiehl|empfehle)\s+[^?.!,;]{0,40}(testomat|messgerät|messgeraet|analysegerät|analysegeraet|gerät|geraet|analysator)\b/u' diff --git a/config/retriex/vocabulary.yaml b/config/retriex/vocabulary.yaml index eea76c9..8c89296 100644 --- a/config/retriex/vocabulary.yaml +++ b/config/retriex/vocabulary.yaml @@ -526,6 +526,85 @@ parameters: - kalibrierpuffer - kalibrierlösung - kalibrierloesung + main_device_request_keywords: + add: + - messanlage + - messanlagen + - anlage + - anlagen + - messgerät + - messgeraet + - analysegerät + - analysegeraet + - analysator + - analyzer + - gerät + - geraet + - system + - monitor + - controller + - testomat + - testoamt + main_device_product_keywords: + add: + - messanlage + - messanlagen + - messgerät + - messgeraet + - analysegerät + - analysegeraet + - analysator + - analyzer + - online-analysator + - online analysegerät + - gerät + - geraet + - system + - monitor + - controller + - testomat + accessory_product_keywords: + add: + - indikator + - indikatoren + - indicator + - reagenz + - reagenzien + - reagent + - zubehör + - zubehor + - ersatzteil + - ersatzteile + - kit + - set + - verbrauchsmaterial + - consumable + - nachfüll + - nachfuell + - refill + - lösung + - loesung + - solution + - teststreifen + - anschlusskabel + - kabel + - sensorkabel + - elektrodenkabel + - elektrode + - puffer + - kalibrierpuffer + - kalibrierlösung + - kalibrierloesung + - filter + - pumpenkopf + - motorblock + - service set + - serviceset + - service-set + - ph-indikator + - ph indikator + - ph-indikatoren + - ph indikatoren maps: shop: accessory_focus_variants: diff --git a/patch_history/RETRIEX_PATCH_43D_PROMPT_ROLE_VOCABULARY_CONSOLIDATION_README.md b/patch_history/RETRIEX_PATCH_43D_PROMPT_ROLE_VOCABULARY_CONSOLIDATION_README.md new file mode 100644 index 0000000..61cbf56 --- /dev/null +++ b/patch_history/RETRIEX_PATCH_43D_PROMPT_ROLE_VOCABULARY_CONSOLIDATION_README.md @@ -0,0 +1,33 @@ +# RetrieX Patch 43D - Prompt Role Vocabulary Consolidation + +## Purpose + +Reduce duplicated role keyword lists in `prompt.yaml` without changing effective behavior. + +## Changes + +- Moves prompt role keyword lists into central `vocabulary.yaml` views: + - `prompt.main_device_request_keywords` + - `prompt.main_device_product_keywords` + - `prompt.accessory_product_keywords` +- Adds matching `prompt.yaml` `vocabulary_views` references. +- Updates `PromptBuilderConfig` so old local overrides still win, while default values come from vocabulary views. + +## Non-goals + +- No ranking changes. +- No prompt rule changes. +- No retrieval changes. +- No new PHP keyword lists. +- No admin UI. + +## Validation + +Run after applying: + +```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 +``` diff --git a/src/Config/PromptBuilderConfig.php b/src/Config/PromptBuilderConfig.php index 5fcdd0a..7cf7736 100644 --- a/src/Config/PromptBuilderConfig.php +++ b/src/Config/PromptBuilderConfig.php @@ -586,7 +586,10 @@ final class PromptBuilderConfig */ public function getMainDeviceRequestRoleKeywords(): array { - return $this->getRequiredStringList('role_guard.main_device_request_keywords'); + return $this->getConfiguredStringListOrVocabularyView( + 'role_guard.main_device_request_keywords', + 'vocabulary_views.main_device_request_keywords' + ); } /** @@ -594,7 +597,10 @@ final class PromptBuilderConfig */ public function getMainDeviceProductRoleKeywords(): array { - return $this->getRequiredStringList('role_guard.main_device_product_keywords'); + return $this->getConfiguredStringListOrVocabularyView( + 'role_guard.main_device_product_keywords', + 'vocabulary_views.main_device_product_keywords' + ); } /** @@ -602,7 +608,10 @@ final class PromptBuilderConfig */ public function getAccessoryProductRoleKeywords(): array { - return $this->getRequiredStringList('role_guard.accessory_product_keywords'); + return $this->getConfiguredStringListOrVocabularyView( + 'role_guard.accessory_product_keywords', + 'vocabulary_views.accessory_product_keywords' + ); } /**