p43G
This commit is contained in:
@@ -189,26 +189,6 @@ parameters:
|
|||||||
- pH-Wert
|
- pH-Wert
|
||||||
- ph-wert
|
- ph-wert
|
||||||
- ph wert
|
- ph wert
|
||||||
positive_context_terms:
|
|
||||||
- Messung
|
|
||||||
- messen
|
|
||||||
- misst
|
|
||||||
- Messbereich
|
|
||||||
- Messparameter
|
|
||||||
- Messgröße
|
|
||||||
- Messgroesse
|
|
||||||
- Bestimmung
|
|
||||||
- bestimmen
|
|
||||||
- Analyse
|
|
||||||
- analysiert
|
|
||||||
- überwachen
|
|
||||||
- ueberwachen
|
|
||||||
- Indikator für
|
|
||||||
- Indikator fuer
|
|
||||||
- Reagenz für
|
|
||||||
- Reagenz fuer
|
|
||||||
- Sensor
|
|
||||||
- Elektrode
|
|
||||||
negative_context_terms:
|
negative_context_terms:
|
||||||
- Betriebsbereich
|
- Betriebsbereich
|
||||||
- Betriebsumgebung
|
- Betriebsumgebung
|
||||||
@@ -247,32 +227,6 @@ parameters:
|
|||||||
- ORP
|
- ORP
|
||||||
- Oxidations-Reduktionspotential
|
- Oxidations-Reduktionspotential
|
||||||
- Oxidations Reduktionspotential
|
- Oxidations Reduktionspotential
|
||||||
positive_context_terms:
|
|
||||||
- Messung
|
|
||||||
- messen
|
|
||||||
- misst
|
|
||||||
- Messbereich
|
|
||||||
- Messparameter
|
|
||||||
- Messgröße
|
|
||||||
- Messgroesse
|
|
||||||
- Bestimmung
|
|
||||||
- bestimmen
|
|
||||||
- Analyse
|
|
||||||
- analysiert
|
|
||||||
- überwachen
|
|
||||||
- ueberwachen
|
|
||||||
- Indikator für
|
|
||||||
- Indikator fuer
|
|
||||||
- Reagenz für
|
|
||||||
- Reagenz fuer
|
|
||||||
- Sensor
|
|
||||||
- Elektrode
|
|
||||||
negative_context_terms:
|
|
||||||
- Betriebsbereich
|
|
||||||
- Betriebsumgebung
|
|
||||||
- Einsatzbedingungen
|
|
||||||
- störungsfrei
|
|
||||||
- stoerungsfrei
|
|
||||||
non_equivalent_terms: []
|
non_equivalent_terms: []
|
||||||
safe_no_evidence_answer_de: Ich finde in den bereitgestellten Quellen keinen sicher belegten Treffer für Redox-/ORP-Messung.
|
safe_no_evidence_answer_de: Ich finde in den bereitgestellten Quellen keinen sicher belegten Treffer für Redox-/ORP-Messung.
|
||||||
safe_no_accessory_evidence_answer_de: Ich finde in den bereitgestellten Quellen keinen sicher belegten Redox-/ORP-Indikator oder ein Redox-/ORP-Reagenz für Messgeräte.
|
safe_no_accessory_evidence_answer_de: Ich finde in den bereitgestellten Quellen keinen sicher belegten Redox-/ORP-Indikator oder ein Redox-/ORP-Reagenz für Messgeräte.
|
||||||
@@ -288,32 +242,6 @@ parameters:
|
|||||||
- freiem Chlor
|
- freiem Chlor
|
||||||
- freien Chlor
|
- freien Chlor
|
||||||
- free chlorine
|
- free chlorine
|
||||||
positive_context_terms:
|
|
||||||
- Messung
|
|
||||||
- messen
|
|
||||||
- misst
|
|
||||||
- Messbereich
|
|
||||||
- Messparameter
|
|
||||||
- Messgröße
|
|
||||||
- Messgroesse
|
|
||||||
- Bestimmung
|
|
||||||
- bestimmen
|
|
||||||
- Analyse
|
|
||||||
- analysiert
|
|
||||||
- überwachen
|
|
||||||
- ueberwachen
|
|
||||||
- Indikator für
|
|
||||||
- Indikator fuer
|
|
||||||
- Reagenz für
|
|
||||||
- Reagenz fuer
|
|
||||||
- Sensor
|
|
||||||
- Elektrode
|
|
||||||
negative_context_terms:
|
|
||||||
- Betriebsbereich
|
|
||||||
- Betriebsumgebung
|
|
||||||
- Einsatzbedingungen
|
|
||||||
- störungsfrei
|
|
||||||
- stoerungsfrei
|
|
||||||
non_equivalent_terms:
|
non_equivalent_terms:
|
||||||
- Chlor gesamt
|
- Chlor gesamt
|
||||||
- Gesamtchlor
|
- Gesamtchlor
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
# RetrieX Patch p43G - Measurement Evidence Context Fallback Consolidation
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
p43G setzt die p43-Reihe zur Config-/Logik-Reduktion fort. Der Patch entfernt doppelte Measurement-Evidence-Kontextlisten aus einzelnen Prompt-Parameterdefinitionen und nutzt stattdessen die bereits vorhandenen generischen Kontextlisten als Fallback im `PromptBuilderConfig`-Accessor.
|
||||||
|
|
||||||
|
Der Patch ist bewusst klein gehalten:
|
||||||
|
|
||||||
|
- keine neue fachliche Runtime-Logik
|
||||||
|
- keine Scoringänderung
|
||||||
|
- keine Retrievaländerung
|
||||||
|
- keine Prompt-Regeländerung
|
||||||
|
- keine Admin-UI
|
||||||
|
- keine neuen harten Listen im PHP-Core
|
||||||
|
|
||||||
|
## Änderungen
|
||||||
|
|
||||||
|
### `config/retriex/prompt.yaml`
|
||||||
|
|
||||||
|
Aus `measurement_evidence_guard.parameters` wurden redundante Listen entfernt:
|
||||||
|
|
||||||
|
- `positive_context_terms` bei `ph`
|
||||||
|
- `positive_context_terms` bei `redox`
|
||||||
|
- `positive_context_terms` bei `free_chlorine`
|
||||||
|
- `negative_context_terms` bei `redox`
|
||||||
|
- `negative_context_terms` bei `free_chlorine`
|
||||||
|
|
||||||
|
Diese Listen waren 1:1 identisch mit:
|
||||||
|
|
||||||
|
- `measurement_evidence_guard.generic_positive_context_terms`
|
||||||
|
- `measurement_evidence_guard.generic_negative_context_terms`
|
||||||
|
|
||||||
|
Die pH-spezifischen `negative_context_terms` bleiben lokal erhalten, weil sie zusätzliche pH-spezifische Ausschlusskontexte enthalten.
|
||||||
|
|
||||||
|
### `src/Config/PromptBuilderConfig.php`
|
||||||
|
|
||||||
|
`getMeasurementEvidenceParameters()` ergänzt nun fehlende parameterlokale Kontextlisten über die generischen Listen:
|
||||||
|
|
||||||
|
- fehlende `positive_context_terms` -> `getMeasurementEvidenceGenericPositiveContextTerms()`
|
||||||
|
- fehlende `negative_context_terms` -> `getMeasurementEvidenceGenericNegativeContextTerms()`
|
||||||
|
|
||||||
|
Lokale Overrides bleiben weiterhin möglich. Wenn ein Parameter eine eigene Liste setzt, wird diese unverändert verwendet.
|
||||||
|
|
||||||
|
## Effektive Listen
|
||||||
|
|
||||||
|
Die effektiven Measurement-Evidence-Parameterlisten sind gegenüber p43F identisch geblieben:
|
||||||
|
|
||||||
|
- `generic_positive_context_terms`: identisch
|
||||||
|
- `generic_negative_context_terms`: identisch
|
||||||
|
- effektive `measurement_evidence_guard.parameters`: identisch
|
||||||
|
|
||||||
|
Reduktion expliziter Parameterlisten:
|
||||||
|
|
||||||
|
- explizite `positive_context_terms`: 3 -> 0
|
||||||
|
- explizite `negative_context_terms`: 3 -> 1
|
||||||
|
|
||||||
|
## Lokale Prüfungen
|
||||||
|
|
||||||
|
Ausgeführt:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php -l src/Config/PromptBuilderConfig.php
|
||||||
|
php -l src/Config/SearchRepairConfig.php
|
||||||
|
php -l src/Config/AgentRunnerConfig.php
|
||||||
|
python3 YAML parse check for config/retriex/*.yaml
|
||||||
|
python3 effective p43F-vs-p43G measurement evidence comparison
|
||||||
|
```
|
||||||
|
|
||||||
|
Ergebnis: grün.
|
||||||
|
|
||||||
|
Nicht lokal ausführbar:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
Grund: Der ZIP-Stand enthält kein `vendor/`; `bin/console` bricht mit `Dependencies are missing. Try running "composer install".` ab.
|
||||||
|
|
||||||
|
## Erwartete Pflichtchecks beim Anwender
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
@@ -781,6 +781,8 @@ final class PromptBuilderConfig
|
|||||||
}
|
}
|
||||||
|
|
||||||
$out = [];
|
$out = [];
|
||||||
|
$genericPositiveContextTerms = $this->getMeasurementEvidenceGenericPositiveContextTerms();
|
||||||
|
$genericNegativeContextTerms = $this->getMeasurementEvidenceGenericNegativeContextTerms();
|
||||||
|
|
||||||
foreach ($value as $item) {
|
foreach ($value as $item) {
|
||||||
if (!is_array($item)) {
|
if (!is_array($item)) {
|
||||||
@@ -799,8 +801,12 @@ final class PromptBuilderConfig
|
|||||||
'label' => $label,
|
'label' => $label,
|
||||||
'request_terms' => $this->normalizeMixedStringList($item['request_terms'] ?? []),
|
'request_terms' => $this->normalizeMixedStringList($item['request_terms'] ?? []),
|
||||||
'positive_terms' => $this->normalizeMixedStringList($item['positive_terms'] ?? []),
|
'positive_terms' => $this->normalizeMixedStringList($item['positive_terms'] ?? []),
|
||||||
'positive_context_terms' => $this->normalizeMixedStringList($item['positive_context_terms'] ?? []),
|
'positive_context_terms' => array_key_exists('positive_context_terms', $item)
|
||||||
'negative_context_terms' => $this->normalizeMixedStringList($item['negative_context_terms'] ?? []),
|
? $this->normalizeMixedStringList($item['positive_context_terms'])
|
||||||
|
: $genericPositiveContextTerms,
|
||||||
|
'negative_context_terms' => array_key_exists('negative_context_terms', $item)
|
||||||
|
? $this->normalizeMixedStringList($item['negative_context_terms'])
|
||||||
|
: $genericNegativeContextTerms,
|
||||||
'non_equivalent_terms' => $this->normalizeMixedStringList($item['non_equivalent_terms'] ?? []),
|
'non_equivalent_terms' => $this->normalizeMixedStringList($item['non_equivalent_terms'] ?? []),
|
||||||
'safe_no_evidence_answer_de' => isset($item['safe_no_evidence_answer_de']) && is_scalar($item['safe_no_evidence_answer_de'])
|
'safe_no_evidence_answer_de' => isset($item['safe_no_evidence_answer_de']) && is_scalar($item['safe_no_evidence_answer_de'])
|
||||||
? trim((string) $item['safe_no_evidence_answer_de'])
|
? trim((string) $item['safe_no_evidence_answer_de'])
|
||||||
|
|||||||
Reference in New Issue
Block a user