This commit is contained in:
team 1
2026-05-06 10:05:56 +02:00
parent e18abf4135
commit 68bfbd7802
11 changed files with 388 additions and 8 deletions

View File

@@ -684,6 +684,54 @@ final class AgentRunnerConfig
return $this->getRequiredString('messages.no_llm_data_received');
}
public function isFinalAnswerGuardEnabled(): bool
{
return $this->getRequiredBool('final_answer_guard.enabled');
}
public function getFinalAnswerGuardMaxOutputChars(): int
{
return $this->getRequiredInt('final_answer_guard.max_output_chars');
}
public function getFinalAnswerGuardTruncationMessage(): string
{
return $this->getRequiredString('final_answer_guard.truncation_message');
}
public function isFinalAnswerRepeatedLineGuardEnabled(): bool
{
return $this->getRequiredBool('final_answer_guard.repeated_line.enabled');
}
public function getFinalAnswerRepeatedLineMinOutputChars(): int
{
return $this->getRequiredInt('final_answer_guard.repeated_line.min_output_chars');
}
public function getFinalAnswerRepeatedLineMinLineChars(): int
{
return $this->getRequiredInt('final_answer_guard.repeated_line.min_line_chars');
}
public function getFinalAnswerRepeatedLineMaxRepetitions(): int
{
return $this->getRequiredInt('final_answer_guard.repeated_line.max_line_repetitions');
}
public function getFinalAnswerRepeatedLineTrailingWindowLines(): int
{
return $this->getRequiredInt('final_answer_guard.repeated_line.trailing_window_lines');
}
/**
* @return string[]
*/
public function getFinalAnswerRepeatedLineIgnorePatterns(): array
{
return $this->getRequiredStringList('final_answer_guard.repeated_line.ignore_patterns');
}
public function getNoLlmFallbackMaxShopResults(): int
{
return $this->getRequiredInt('no_llm_fallback.max_shop_results');

View File

@@ -42,7 +42,10 @@ final readonly class RetriexEffectiveConfigProvider
'runtime' => $this->runtimeConfig(),
'index' => $this->indexConfig(),
'model_generation' => $this->modelConfig(),
'llm' => ['timeout_seconds' => $this->param('retriex.llm.timeout_seconds')],
'llm' => [
'timeout_seconds' => $this->param('retriex.llm.timeout_seconds'),
'num_predict' => $this->param('retriex.llm.num_predict'),
],
'retrieval' => $this->retrievalConfig(),
'prompt' => $this->promptConfig(),
'agent' => $this->agentConfig(),
@@ -639,6 +642,19 @@ final readonly class RetriexEffectiveConfigProvider
'generic_internal_error' => $this->agentRunnerConfig->getGenericInternalErrorMessage(),
'debug_internal_error_prefix' => $this->agentRunnerConfig->getDebugInternalErrorPrefix(),
],
'final_answer_guard' => [
'enabled' => $this->agentRunnerConfig->isFinalAnswerGuardEnabled(),
'max_output_chars' => $this->agentRunnerConfig->getFinalAnswerGuardMaxOutputChars(),
'truncation_message' => $this->agentRunnerConfig->getFinalAnswerGuardTruncationMessage(),
'repeated_line' => [
'enabled' => $this->agentRunnerConfig->isFinalAnswerRepeatedLineGuardEnabled(),
'min_output_chars' => $this->agentRunnerConfig->getFinalAnswerRepeatedLineMinOutputChars(),
'min_line_chars' => $this->agentRunnerConfig->getFinalAnswerRepeatedLineMinLineChars(),
'max_line_repetitions' => $this->agentRunnerConfig->getFinalAnswerRepeatedLineMaxRepetitions(),
'trailing_window_lines' => $this->agentRunnerConfig->getFinalAnswerRepeatedLineTrailingWindowLines(),
'ignore_patterns' => $this->agentRunnerConfig->getFinalAnswerRepeatedLineIgnorePatterns(),
],
],
'rag_evidence_guard' => [
'cleanup_profile' => $this->agentRunnerConfig->getRagEvidenceCleanupProfile(),
'stop_terms' => $this->agentRunnerConfig->getRagEvidenceStopTerms(),