10 implementations of IEvaluator
Microsoft.Extensions.AI.Evaluation (1)
CompositeEvaluator.cs (1)
18
public sealed class CompositeEvaluator :
IEvaluator
Microsoft.Extensions.AI.Evaluation.Integration.Tests (1)
TestEvaluator.cs (1)
12
internal class TestEvaluator :
IEvaluator
Microsoft.Extensions.AI.Evaluation.Quality (8)
CoherenceEvaluator.cs (1)
44
public sealed class CoherenceEvaluator :
IEvaluator
CompletenessEvaluator.cs (1)
40
public sealed class CompletenessEvaluator :
IEvaluator
EquivalenceEvaluator.cs (1)
40
public sealed class EquivalenceEvaluator :
IEvaluator
FluencyEvaluator.cs (1)
38
public sealed class FluencyEvaluator :
IEvaluator
GroundednessEvaluator.cs (1)
39
public sealed class GroundednessEvaluator :
IEvaluator
RelevanceEvaluator.cs (1)
42
public sealed class RelevanceEvaluator :
IEvaluator
RelevanceTruthAndCompletenessEvaluator.cs (1)
46
public sealed partial class RelevanceTruthAndCompletenessEvaluator :
IEvaluator
RetrievalEvaluator.cs (1)
48
public sealed class RetrievalEvaluator :
IEvaluator
117 references to IEvaluator
Microsoft.Extensions.AI.Evaluation (50)
CompositeEvaluator.cs (16)
15
/// An <see cref="
IEvaluator
"/> that composes other <see cref="
IEvaluator
"/>s to execute multiple (concurrent)
22
/// composed <see cref="
IEvaluator
"/>s.
26
private readonly IReadOnlyList<
IEvaluator
> _evaluators;
30
/// <see cref="
IEvaluator
"/>s.
32
/// <param name="evaluators">An array of <see cref="
IEvaluator
"/>s that are to be composed.</param>
33
public CompositeEvaluator(params
IEvaluator
[] evaluators)
34
: this(evaluators as IEnumerable<
IEvaluator
>)
40
/// <see cref="
IEvaluator
"/>s.
42
/// <param name="evaluators">An enumeration of <see cref="
IEvaluator
"/>s that are to be composed.</param>
43
public CompositeEvaluator(IEnumerable<
IEvaluator
> evaluators)
49
foreach (
IEvaluator
evaluator in evaluators)
83
/// <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
92
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
96
/// <see cref="
IEvaluator
"/>s may need to accurately evaluate the supplied <paramref name="modelResponse"/>.
134
async ValueTask<EvaluationResult> EvaluateAsync(
IEvaluator
e)
EvaluationContext.cs (5)
11
/// available in the conversation history) or other data that an <see cref="
IEvaluator
"/> may need to accurately
20
/// An <see cref="
IEvaluator
"/> that needs additional contextual information can require that callers should include an
23
/// <see cref="
IEvaluator
.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, ChatConfiguration?, IEnumerable{EvaluationContext}?, CancellationToken)"/>.
32
/// This is because an <see cref="
IEvaluator
"/> can (optionally) choose to record any <see cref="EvaluationContext"/>s
81
/// This is because an <see cref="
IEvaluator
"/> can (optionally) choose to record any
EvaluationMetric.cs (1)
52
/// Gets or sets any <see cref="EvaluationContext"/>s that were considered by the <see cref="
IEvaluator
"/> as part
EvaluatorExtensions.cs (25)
12
/// Extension methods for <see cref="
IEvaluator
"/>.
23
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
30
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
34
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
45
this
IEvaluator
evaluator,
63
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
70
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
77
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
88
this
IEvaluator
evaluator,
108
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
115
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
119
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
130
this
IEvaluator
evaluator,
148
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
155
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
159
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
170
this
IEvaluator
evaluator,
193
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
200
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
207
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
218
this
IEvaluator
evaluator,
238
/// <see cref="EvaluationResult"/> should match <see cref="
IEvaluator
.EvaluationMetricNames"/>.
245
/// <param name="evaluator">The <see cref="
IEvaluator
"/> that should perform the evaluation.</param>
252
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
263
this
IEvaluator
evaluator,
IEvaluator.cs (3)
20
/// <see cref="
IEvaluator
"/>.
44
/// more composed <see cref="
IEvaluator
"/>s use an AI model to perform evaluation.
48
/// <see cref="
IEvaluator
"/> may need to accurately evaluate the supplied <paramref name="modelResponse"/>.
Microsoft.Extensions.AI.Evaluation.Integration.Tests (22)
QualityEvaluatorTests.cs (8)
51
IEvaluator
rtcEvaluator = new RelevanceTruthAndCompletenessEvaluator();
53
IEvaluator
coherenceEvaluator = new CoherenceEvaluator();
54
IEvaluator
fluencyEvaluator = new FluencyEvaluator();
55
IEvaluator
relevanceEvaluator = new RelevanceEvaluator();
65
IEvaluator
groundednessEvaluator = new GroundednessEvaluator();
66
IEvaluator
equivalenceEvaluator = new EquivalenceEvaluator();
67
IEvaluator
completenessEvaluator = new CompletenessEvaluator();
68
IEvaluator
retrievalEvaluator = new RetrievalEvaluator();
ResultsTests.cs (1)
23
public static ReportingConfiguration CreateReportingConfiguration(
IEvaluator
evaluator)
SafetyEvaluatorTests.cs (11)
62
IEvaluator
hateAndUnfairnessEvaluator = new HateAndUnfairnessEvaluator();
63
IEvaluator
selfHarmEvaluator = new SelfHarmEvaluator();
64
IEvaluator
sexualEvaluator = new SexualEvaluator();
65
IEvaluator
violenceEvaluator = new ViolenceEvaluator();
66
IEvaluator
protectedMaterialEvaluator = new ProtectedMaterialEvaluator();
67
IEvaluator
groundednessProEvaluator = new GroundednessProEvaluator();
68
IEvaluator
ungroundedAttributesEvaluator = new UngroundedAttributesEvaluator();
69
IEvaluator
indirectAttackEvaluator = new IndirectAttackEvaluator();
100
IEvaluator
codeVulnerabilityEvaluator = new CodeVulnerabilityEvaluator();
110
IEvaluator
fluencyEvaluator = new FluencyEvaluator();
111
IEvaluator
contentHarmEvaluator = new ContentHarmEvaluator();
TestEvaluator.cs (2)
18
IReadOnlyCollection<string>
IEvaluator
.EvaluationMetricNames
26
async ValueTask<EvaluationResult>
IEvaluator
.EvaluateAsync(
Microsoft.Extensions.AI.Evaluation.Quality (8)
CoherenceEvaluator.cs (1)
14
/// An <see cref="
IEvaluator
"/> that evaluates the 'Coherence' of a response produced by an AI model.
CompletenessEvaluator.cs (1)
15
/// An <see cref="
IEvaluator
"/> that evaluates the 'Completeness' of a response produced by an AI model.
EquivalenceEvaluator.cs (1)
15
/// An <see cref="
IEvaluator
"/> that evaluates the 'Equivalence' of a response produced by an AI model with another
FluencyEvaluator.cs (1)
14
/// An <see cref="
IEvaluator
"/> that evaluates the 'Fluency' of a response produced by an AI model.
GroundednessEvaluator.cs (1)
15
/// An <see cref="
IEvaluator
"/> that evaluates the 'Groundedness' of a response produced by an AI model.
RelevanceEvaluator.cs (1)
14
/// An <see cref="
IEvaluator
"/> that evaluates the 'Relevance' of a response produced by an AI model.
RelevanceTruthAndCompletenessEvaluator.cs (1)
18
/// An <see cref="
IEvaluator
"/> that evaluates the 'Relevance', 'Truth' and 'Completeness' of a response produced by an
RetrievalEvaluator.cs (1)
16
/// An <see cref="
IEvaluator
"/> that evaluates an AI system's performance in retrieving information for additional
Microsoft.Extensions.AI.Evaluation.Reporting (20)
ReportingConfiguration.cs (6)
15
/// <see cref="
IEvaluator
"/>s that should be invoked, the <see cref="Evaluation.ChatConfiguration"/> that should be
16
/// used by these <see cref="
IEvaluator
"/>s, how the resulting <see cref="ScenarioRunResult"/>s should be persisted,
25
/// Gets the set of <see cref="
IEvaluator
"/>s that should be invoked to evaluate AI responses.
27
public IReadOnlyList<
IEvaluator
> Evaluators { get; }
102
/// The set of <see cref="
IEvaluator
"/>s that should be invoked to evaluate AI responses.
137
IEnumerable<
IEvaluator
> evaluators,
ScenarioRun.cs (3)
90
/// AI-based <see cref="
IEvaluator
"/>s that are invoked as part of the evaluation of this
108
IEnumerable<
IEvaluator
> evaluators,
138
/// <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/> may need to accurately evaluate the
ScenarioRunExtensions.cs (6)
23
/// Additional contextual information that the <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/>
51
/// <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/> may need to accurately evaluate the
77
/// Additional contextual information that the <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/>
101
/// Additional contextual information that the <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/>
134
/// <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/> may need to accurately evaluate the
164
/// <see cref="
IEvaluator
"/>s included in this <see cref="ScenarioRun"/> may need to accurately evaluate the
ScenarioRunResult.cs (3)
44
/// <see cref="
IEvaluator
"/>s invoked during the execution of the <see cref="ScenarioRun"/> use an LLM.
83
/// <see cref="
IEvaluator
"/>s invoked during the execution of the <see cref="ScenarioRun"/> use an LLM.
163
/// Can be <see langword="null"/> if none of the <see cref="
IEvaluator
"/>s invoked during the execution of the
Storage\DiskBasedReportingConfiguration.cs (2)
25
/// The set of <see cref="
IEvaluator
"/>s that should be invoked to evaluate AI responses.
65
IEnumerable<
IEvaluator
> evaluators,
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (2)
Storage\AzureStorageReportingConfiguration.cs (2)
25
/// The set of <see cref="
IEvaluator
"/>s that should be invoked to evaluate AI responses.
65
IEnumerable<
IEvaluator
> evaluators,
Microsoft.Extensions.AI.Evaluation.Safety (15)
CodeVulnerabilityEvaluator.cs (1)
12
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate code completion
ContentHarmEvaluator.cs (2)
12
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
26
/// <see cref="EvaluationMetric"/>s returned by this <see cref="
IEvaluator
"/>.
ContentSafetyEvaluator.cs (4)
20
/// An <see langword="abstract"/> base class that can be used to implement <see cref="
IEvaluator
"/>s that utilize the
31
/// returned by this <see cref="
IEvaluator
"/>.
36
IDictionary<string, string> metricNames) :
IEvaluator
74
/// <see cref="
IEvaluator
"/> may need to accurately evaluate the supplied <paramref name="modelResponse"/>.
GroundednessProEvaluator.cs (1)
14
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate the groundedness of
HateAndUnfairnessEvaluator.cs (1)
9
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
IndirectAttackEvaluator.cs (1)
9
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
ProtectedMaterialEvaluator.cs (1)
12
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
SelfHarmEvaluator.cs (1)
9
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
SexualEvaluator.cs (1)
9
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
UngroundedAttributesEvaluator.cs (1)
14
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by
ViolenceEvaluator.cs (1)
9
/// An <see cref="
IEvaluator
"/> that utilizes the Azure AI Foundry Evaluation service to evaluate responses produced by