This commit is contained in:
team 1
2026-05-04 16:33:36 +02:00
parent 33b2b30d99
commit 387506b239
13 changed files with 198 additions and 57 deletions

View File

@@ -583,6 +583,7 @@ final readonly class RetriexEffectiveConfigProvider
'max_length_ratio_percent' => $this->agentRunnerConfig->getInputNormalizationMaxLengthRatioPercent(),
'heartbeat_message' => $this->agentRunnerConfig->getInputNormalizationHeartbeatMessage(),
'output_prefix_pattern' => $this->agentRunnerConfig->getInputNormalizationOutputPrefixPattern(),
'placeholder_outputs' => $this->agentRunnerConfig->getInputNormalizationPlaceholderOutputs(),
'skip_patterns' => $this->agentRunnerConfig->getInputNormalizationSkipPatterns(),
'prompt' => [
'intro' => $this->agentRunnerConfig->getInputNormalizationIntro(),
@@ -602,6 +603,10 @@ final readonly class RetriexEffectiveConfigProvider
'terms' => $this->agentRunnerConfig->getInputNormalizationFuzzyRoutingTerms(),
],
],
'followup_actions' => [
'commerce' => $this->agentRunnerConfig->getCommerceFollowUpActions(),
'knowledge' => $this->agentRunnerConfig->getKnowledgeFollowUpActions(),
],
'messages' => [
'empty_prompt' => $this->agentRunnerConfig->getEmptyPromptMessage(),
'analyze_request' => $this->agentRunnerConfig->getAnalyzeRequestMessage(),
@@ -929,6 +934,9 @@ final readonly class RetriexEffectiveConfigProvider
return [
'stopwords' => $this->stopWordsConfig->getStopWords(),
'protected_terms' => $this->languageCleanupConfig->getProtectedTerms(),
'normalization' => [
'ascii_transliteration' => $this->languageCleanupConfig->getAsciiTransliterationMap(),
],
'cleanup_profile_names' => $this->languageCleanupConfig->getCleanupProfileNames(),
'cleanup_profiles' => $profiles,
];
@@ -1200,6 +1208,7 @@ final readonly class RetriexEffectiveConfigProvider
private function validateAgent(array $agent, array &$errors, array &$warnings): void
{
$this->validateStringListMap($agent['messages'] ?? [], 'agent.messages', $errors, $warnings);
$this->validateStringListMap($agent['followup_actions'] ?? [], 'agent.followup_actions', $errors, $warnings);
$this->validateStringListMap($agent['source_labels'] ?? [], 'agent.source_labels', $errors, $warnings);
$this->validateStringListMap($agent['html_templates'] ?? [], 'agent.html_templates', $errors, $warnings);
@@ -1217,6 +1226,9 @@ final readonly class RetriexEffectiveConfigProvider
$errors[] = 'agent.follow_up_context.commercial_table_follow_up.query_template_without_model must not be empty.';
}
$inputNormalization = is_array($agent['input_normalization'] ?? null) ? $agent['input_normalization'] : [];
$this->validateStringList($this->toList($inputNormalization['placeholder_outputs'] ?? []), 'agent.input_normalization.placeholder_outputs', $errors, $warnings);
$ragEvidence = is_array($agent['rag_evidence_guard'] ?? null) ? $agent['rag_evidence_guard'] : [];
$ragEvidenceCleanupProfile = $ragEvidence['cleanup_profile'] ?? null;
if (!is_string($ragEvidenceCleanupProfile) || trim($ragEvidenceCleanupProfile) === '') {