This commit is contained in:
team 1
2026-05-05 08:16:45 +02:00
parent b259b6cd2d
commit de12386a98
11 changed files with 523 additions and 6 deletions

View File

@@ -918,6 +918,40 @@ final class AgentRunnerConfig
return $this->getOptionalStringList('shop_prompt.current_input_preservation.terms');
}
public function isShopQueryProductAttributeCleanupEnabled(): bool
{
return $this->getRequiredBool('shop_prompt.product_attribute_query_cleanup.enabled');
}
public function getShopQueryProductAttributeCleanupMinTokens(): int
{
return $this->getRequiredInt('shop_prompt.product_attribute_query_cleanup.min_query_tokens_after_cleanup');
}
/**
* @return string[]
*/
public function getShopQueryProductAttributeCleanupProductTypeTerms(): array
{
return $this->getRequiredStringList('shop_prompt.product_attribute_query_cleanup.product_type_terms');
}
/**
* @return string[]
*/
public function getShopQueryProductAttributeCleanupStopTerms(): array
{
return $this->getRequiredStringList('shop_prompt.product_attribute_query_cleanup.stop_terms');
}
/**
* @return string[]
*/
public function getShopQueryProductAttributeCleanupComparativeConstraintPatterns(): array
{
return $this->getRequiredStringList('shop_prompt.product_attribute_query_cleanup.comparative_constraint_patterns');
}
public function getShopPromptIntro(): string
{
return $this->getRequiredString('shop_prompt.intro');

View File

@@ -670,6 +670,22 @@ final class PromptBuilderConfig
return $this->getRequiredString('measurement_evidence_guard.generic_safe_no_accessory_evidence_answer_template_de');
}
/**
* @return string[]
*/
public function getMeasurementEvidenceAccessoryLookupGuardTerms(): array
{
return $this->getRequiredStringList('measurement_evidence_guard.accessory_lookup_guard_terms');
}
/**
* @return string[]
*/
public function getMeasurementEvidenceAccessoryLookupPassthroughTerms(): array
{
return $this->getRequiredStringList('measurement_evidence_guard.accessory_lookup_passthrough_terms');
}
public function getMeasurementEvidenceRuleTemplate(string $key): string
{
return $this->getRequiredString('measurement_evidence_guard.rule_templates.' . $key);

View File

@@ -845,6 +845,13 @@ final readonly class RetriexEffectiveConfigProvider
'min_primary_results_without_repair' => $this->searchRepairConfig->getMinPrimaryResultsWithoutRepair(),
'strict_requested_accessory_code_repair' => $this->searchRepairConfig->shouldRestrictRequestedAccessoryCodeRepair(),
'prefer_prompt_anchored_model_for_requested_accessory_code' => $this->searchRepairConfig->shouldPreferPromptAnchoredModelForRequestedAccessoryCode(),
'direct_product_attribute_lookup' => [
'enabled' => $this->searchRepairConfig->isDirectProductAttributeLookupRepairEnabled(),
'min_query_tokens_after_cleanup' => $this->searchRepairConfig->getDirectProductAttributeLookupMinTokens(),
'product_type_terms' => $this->searchRepairConfig->getDirectProductAttributeLookupProductTypeTerms(),
'stop_terms' => $this->searchRepairConfig->getDirectProductAttributeLookupStopTerms(),
'comparative_constraint_patterns' => $this->searchRepairConfig->getDirectProductAttributeLookupComparativeConstraintPatterns(),
],
'requested_accessory_code_fallback_query_templates' => $this->searchRepairConfig->getRequestedAccessoryCodeFallbackQueryTemplates(),
'requested_accessory_code_fallback_terms' => $this->searchRepairConfig->getRequestedAccessoryCodeFallbackTerms(),
'requested_accessory_code_context_prefix_terms' => $this->searchRepairConfig->getRequestedAccessoryCodeContextPrefixTerms(),

View File

@@ -50,6 +50,37 @@ final class SearchRepairConfig
return $this->requiredBool('prefer_prompt_anchored_model_for_requested_accessory_code');
}
public function isDirectProductAttributeLookupRepairEnabled(): bool
{
return $this->requiredBool('direct_product_attribute_lookup.enabled');
}
public function getDirectProductAttributeLookupMinTokens(): int
{
return $this->requiredPositiveInt('direct_product_attribute_lookup.min_query_tokens_after_cleanup');
}
/** @return string[] */
public function getDirectProductAttributeLookupProductTypeTerms(): array
{
return $this->configOrVocabularyStringList(
'direct_product_attribute_lookup.product_type_terms',
'search_repair.direct_product_type_terms'
);
}
/** @return string[] */
public function getDirectProductAttributeLookupStopTerms(): array
{
return $this->requiredStringList('direct_product_attribute_lookup.stop_terms');
}
/** @return string[] */
public function getDirectProductAttributeLookupComparativeConstraintPatterns(): array
{
return $this->requiredStringList('direct_product_attribute_lookup.comparative_constraint_patterns');
}
/** @return string[] */
public function getRequestedAccessoryCodeFallbackQueryTemplates(): array
{