This commit is contained in:
team 1
2026-05-01 19:49:43 +02:00
parent a42f8d656d
commit 1897fdf0eb
9 changed files with 215 additions and 0 deletions

View File

@@ -1653,6 +1653,13 @@ final readonly class AgentRunner
$haystack = $this->normalizeRagEvidenceText(implode("\n\n", array_map('strval', $knowledgeChunks)));
if (
$this->isAggregateRagEvidenceQuery($prompt)
&& !$this->containsAnyRagEvidenceTerm($haystack, $this->agentRunnerConfig->getRagEvidenceAggregateEvidenceTerms())
) {
return 'weak';
}
foreach ($needles as $needleGroup) {
foreach ($needleGroup as $needle) {
if ($this->containsRagEvidenceTerm($haystack, $needle)) {
@@ -1687,6 +1694,37 @@ final readonly class AgentRunner
};
}
private function isAggregateRagEvidenceQuery(string $prompt): bool
{
$normalizedPrompt = $this->normalizeRagEvidenceText($prompt);
if ($normalizedPrompt === '') {
return false;
}
foreach ($this->agentRunnerConfig->getRagEvidenceAggregateQueryPatterns() as $pattern) {
if (@preg_match($pattern, $normalizedPrompt) === 1) {
return true;
}
}
return false;
}
/**
* @param string[] $terms
*/
private function containsAnyRagEvidenceTerm(string $haystack, array $terms): bool
{
foreach ($terms as $term) {
if ($this->containsRagEvidenceTerm($haystack, $term)) {
return true;
}
}
return false;
}
/**
* @return array<int, string[]>
*/