mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-08-24 20:52:11 +00:00
fixed issue where augumentation failed
This commit is contained in:
parent
88999d985c
commit
50aa5c485d
@ -45,23 +45,38 @@ public sealed class AugmentationOne : IAugmentationProcess
|
|||||||
var validationAgent = Program.SERVICE_PROVIDER.GetService<AgentRetrievalContextValidation>()!;
|
var validationAgent = Program.SERVICE_PROVIDER.GetService<AgentRetrievalContextValidation>()!;
|
||||||
if (validationAgent.SetLLMProvider(provider, chatThread.DataSecurity, chatThread.DataConfidenceLevel))
|
if (validationAgent.SetLLMProvider(provider, chatThread.DataSecurity, chatThread.DataConfidenceLevel))
|
||||||
{
|
{
|
||||||
// Let's validate all retrieval contexts:
|
try
|
||||||
var validationResults = await validationAgent.ValidateRetrievalContextsAsync(lastUserPrompt, chatThread, retrievalContexts, token);
|
{
|
||||||
|
// Let's validate all retrieval contexts:
|
||||||
|
var validationResults = await validationAgent.ValidateRetrievalContextsAsync(lastUserPrompt, chatThread, retrievalContexts, token);
|
||||||
|
if (validationResults.Count == 0)
|
||||||
|
LOGGER.LogWarning("Retrieval context validation returned no results. Continuing augmentation with all retrieved contexts.");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Now, filter the retrieval contexts to the most relevant ones:
|
||||||
|
//
|
||||||
|
var targetWindow = validationResults.DetermineTargetWindow(TargetWindowStrategy.TOP10_BETTER_THAN_GUESSING);
|
||||||
|
var threshold = validationResults.GetConfidenceThreshold(targetWindow);
|
||||||
|
|
||||||
//
|
// Filter the retrieval contexts:
|
||||||
// Now, filter the retrieval contexts to the most relevant ones:
|
retrievalContexts = validationResults.Where(x => x.RetrievalContext is not null && x.Confidence >= threshold).Select(x => x.RetrievalContext!).ToList();
|
||||||
//
|
}
|
||||||
var targetWindow = validationResults.DetermineTargetWindow(TargetWindowStrategy.TOP10_BETTER_THAN_GUESSING);
|
}
|
||||||
var threshold = validationResults.GetConfidenceThreshold(targetWindow);
|
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
||||||
|
{
|
||||||
// Filter the retrieval contexts:
|
throw;
|
||||||
retrievalContexts = validationResults.Where(x => x.RetrievalContext is not null && x.Confidence >= threshold).Select(x => x.RetrievalContext!).ToList();
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
LOGGER.LogError(exception, "Retrieval context validation failed. Continuing augmentation with all retrieved contexts.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LOGGER.LogWarning("Skipping retrieval context validation because no sufficiently trusted validation agent provider is available.");
|
LOGGER.LogWarning("Skipping retrieval context validation because no sufficiently trusted validation agent provider is available. Continuing augmentation with all retrieved contexts.");
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGGER.LogInformation($"Starting the augmentation process over {numTotalRetrievalContexts:###,###,###,###} retrieval contexts.");
|
LOGGER.LogInformation($"Starting the augmentation process over {retrievalContexts.Count:###,###,###,###} of {numTotalRetrievalContexts:###,###,###,###} retrieved contexts.");
|
||||||
|
|
||||||
//
|
//
|
||||||
// We build a huge prompt from all retrieval contexts:
|
// We build a huge prompt from all retrieval contexts:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user