13 types derived from EvaluationContext
Microsoft.Extensions.AI.Evaluation.NLP (1)
BLEUEvaluatorContext.cs (1)
21
public sealed class BLEUEvaluatorContext :
EvaluationContext
Microsoft.Extensions.AI.Evaluation.Quality (7)
CompletenessEvaluatorContext.cs (1)
24
:
EvaluationContext
(name: GroundTruthContextName, content: groundTruth)
EquivalenceEvaluatorContext.cs (1)
23
:
EvaluationContext
(name: GroundTruthContextName, content: groundTruth)
GroundednessEvaluatorContext.cs (1)
23
:
EvaluationContext
(name: GroundingContextName, content: groundingContext)
IntentResolutionEvaluatorContext.cs (1)
26
public sealed class IntentResolutionEvaluatorContext :
EvaluationContext
RetrievalEvaluatorContext.cs (1)
26
public sealed class RetrievalEvaluatorContext :
EvaluationContext
TaskAdherenceEvaluatorContext.cs (1)
27
public sealed class TaskAdherenceEvaluatorContext :
EvaluationContext
ToolCallAccuracyEvaluatorContext.cs (1)
28
public sealed class ToolCallAccuracyEvaluatorContext :
EvaluationContext
Microsoft.Extensions.AI.Evaluation.Reporting (1)
JsonSerialization\EvaluationContextConverter.cs (1)
15
:
EvaluationContext
(name, contents);
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
src\Libraries\Microsoft.Extensions.AI.Evaluation.Reporting\CSharp\JsonSerialization\EvaluationContextConverter.cs (1)
15
:
EvaluationContext
(name, contents);
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (1)
ScenarioRunResultTests.cs (1)
18
:
EvaluationContext
(name, contents);
Microsoft.Extensions.AI.Evaluation.Safety (2)
GroundednessProEvaluatorContext.cs (1)
23
:
EvaluationContext
(name: GroundingContextName, content: groundingContext)
UngroundedAttributesEvaluatorContext.cs (1)
24
:
EvaluationContext
(name: GroundingContextName, content: groundingContext)
126 references to EvaluationContext
Microsoft.Extensions.AI.Evaluation (54)
CompositeEvaluator.cs (2)
106
IEnumerable<
EvaluationContext
>? additionalContext = null,
131
IEnumerable<
EvaluationContext
>? additionalContext = null,
EvaluationContext.cs (31)
16
/// <see cref="
EvaluationContext
"/> objects are intended to be simple data containers that contain the contextual
21
/// instance of a specific derived <see cref="
EvaluationContext
"/> (containing the required contextual information)
23
/// <see cref="IEvaluator.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, ChatConfiguration?, IEnumerable{
EvaluationContext
}?, CancellationToken)"/>.
26
/// Derived implementations of <see cref="
EvaluationContext
"/> are free to include any additional properties as needed.
29
/// <see cref="
EvaluationContext
"/>.
32
/// This is because an <see cref="IEvaluator"/> can (optionally) choose to record any <see cref="
EvaluationContext
"/>s
36
/// <see cref="
EvaluationContext
"/>s recorded within the <see cref="EvaluationMetric.Context"/> will also be
37
/// serialized. However, for each such <see cref="
EvaluationContext
"/>, only the information captured within
40
/// of an <see cref="
EvaluationContext
"/> is stored and reported accurately, it is important to ensure that the
42
/// contextual information that is modeled by the <see cref="
EvaluationContext
"/>.
50
/// Gets or sets the name for this <see cref="
EvaluationContext
"/>.
61
/// <see cref="
EvaluationContext
"/>.
65
/// This property allows decomposition of the information present in an <see cref="
EvaluationContext
"/> into
71
/// For simple <see cref="
EvaluationContext
"/>s that only contain text, this property can return a
75
/// Derived implementations of <see cref="
EvaluationContext
"/> are free to include any additional properties as
78
/// <see cref="
EvaluationContext
"/>.
82
/// <see cref="
EvaluationContext
"/>s that it used, in the <see cref="EvaluationMetric.Context"/> property of each
85
/// Microsoft.Extensions.AI.Evaluation.Reporting NuGet package), the <see cref="
EvaluationContext
"/>s recorded
87
/// <see cref="
EvaluationContext
"/>, only the information captured within <see cref="Contents"/> will be
90
/// <see cref="
EvaluationContext
"/> is stored and reported accurately, it is important to ensure that the
92
/// contextual information that is modeled by the <see cref="
EvaluationContext
"/>.
97
/// <see cref="
EvaluationContext
"/>.
103
/// Initializes a new instance of the <see cref="
EvaluationContext
"/> class.
105
/// <param name="name">The name of the <see cref="
EvaluationContext
"/>.</param>
107
/// The contents of the <see cref="
EvaluationContext
"/>. (See <see cref="Contents"/>.)
116
/// Initializes a new instance of the <see cref="
EvaluationContext
"/> class.
118
/// <param name="name">The name of the <see cref="
EvaluationContext
"/>.</param>
120
/// The contents of the <see cref="
EvaluationContext
"/>. (See <see cref="Contents"/>.)
128
/// Initializes a new instance of the <see cref="
EvaluationContext
"/> class.
130
/// <param name="name">The name of the <see cref="
EvaluationContext
"/>.</param>
132
/// The content of the <see cref="
EvaluationContext
"/>. (See <see cref="Contents"/>.)
EvaluationMetric.cs (2)
52
/// Gets or sets any <see cref="
EvaluationContext
"/>s that were considered by the <see cref="IEvaluator"/> as part
55
public IDictionary<string,
EvaluationContext
>? Context { get; set; }
EvaluationMetricExtensions.cs (7)
22
/// <param name="context">The <see cref="
EvaluationContext
"/> objects to be added or updated.</param>
23
public static void AddOrUpdateContext(this EvaluationMetric metric, IEnumerable<
EvaluationContext
> context)
30
metric.Context ??= new Dictionary<string,
EvaluationContext
>();
32
foreach (
var
c in context)
44
/// <param name="context">The <see cref="
EvaluationContext
"/> objects to be added or updated.</param>
45
public static void AddOrUpdateContext(this EvaluationMetric metric, params
EvaluationContext
[] context)
46
=> metric.AddOrUpdateContext(context as IEnumerable<
EvaluationContext
>);
EvaluationResultExtensions.cs (5)
23
/// <param name="context">The <see cref="
EvaluationContext
"/> objects to be added or updated.</param>
26
IEnumerable<
EvaluationContext
> context)
43
/// <param name="context">The <see cref="
EvaluationContext
"/> objects to be added or updated.</param>
44
public static void AddOrUpdateContextInAllMetrics(this EvaluationResult result, params
EvaluationContext
[] context)
45
=> result.AddOrUpdateContextInAllMetrics(context as IEnumerable<
EvaluationContext
>);
EvaluatorExtensions.cs (6)
48
IEnumerable<
EvaluationContext
>? additionalContext = null,
92
IEnumerable<
EvaluationContext
>? additionalContext = null,
133
IEnumerable<
EvaluationContext
>? additionalContext = null,
173
IEnumerable<
EvaluationContext
>? additionalContext = null,
222
IEnumerable<
EvaluationContext
>? additionalContext = null,
267
IEnumerable<
EvaluationContext
>? additionalContext = null,
IEvaluator.cs (1)
61
IEnumerable<
EvaluationContext
>? additionalContext = null,
Microsoft.Extensions.AI.Evaluation.Integration.Tests (11)
QualityEvaluatorTests.cs (4)
262
groundedness.Context.TryGetValue(GroundednessEvaluatorContext.GroundingContextName, out
EvaluationContext
? context1) &&
267
equivalence.Context.TryGetValue(EquivalenceEvaluatorContext.GroundTruthContextName, out
EvaluationContext
? context2) &&
272
completeness.Context.TryGetValue(CompletenessEvaluatorContext.GroundTruthContextName, out
EvaluationContext
? context3) &&
277
retrieval.Context.TryGetValue(RetrievalEvaluatorContext.RetrievedContextChunksContextName, out
EvaluationContext
? context4) &&
SafetyEvaluatorTests.cs (6)
158
IEnumerable<
EvaluationContext
> additionalContext = [groundednessProContext, ungroundedAttributesContext];
176
groundednessPro.Context.TryGetValue(GroundednessProEvaluatorContext.GroundingContextName, out
EvaluationContext
? context1) &&
181
ungroundedAttributes.Context.TryGetValue(UngroundedAttributesEvaluatorContext.GroundingContextName, out
EvaluationContext
? context2) &&
233
IEnumerable<
EvaluationContext
> additionalContext = [groundednessProContext, ungroundedAttributesContext];
251
groundednessPro.Context.TryGetValue(GroundednessProEvaluatorContext.GroundingContextName, out
EvaluationContext
? context1) &&
256
ungroundedAttributes.Context.TryGetValue(UngroundedAttributesEvaluatorContext.GroundingContextName, out
EvaluationContext
? context2) &&
TestEvaluator.cs (1)
30
IEnumerable<
EvaluationContext
>? additionalContext,
Microsoft.Extensions.AI.Evaluation.NLP (2)
BLEUEvaluator.cs (1)
45
IEnumerable<
EvaluationContext
>? additionalContext = null,
BLEUEvaluatorContext.cs (1)
24
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
Microsoft.Extensions.AI.Evaluation.Quality (18)
CoherenceEvaluator.cs (1)
71
IEnumerable<
EvaluationContext
>? additionalContext = null,
CompletenessEvaluator.cs (1)
68
IEnumerable<
EvaluationContext
>? additionalContext = null,
CompletenessEvaluatorContext.cs (1)
27
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
EquivalenceEvaluator.cs (1)
67
IEnumerable<
EvaluationContext
>? additionalContext = null,
EquivalenceEvaluatorContext.cs (1)
26
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
FluencyEvaluator.cs (1)
65
IEnumerable<
EvaluationContext
>? additionalContext = null,
GroundednessEvaluator.cs (1)
66
IEnumerable<
EvaluationContext
>? additionalContext = null,
GroundednessEvaluatorContext.cs (1)
26
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
IntentResolutionEvaluator.cs (1)
79
IEnumerable<
EvaluationContext
>? additionalContext = null,
IntentResolutionEvaluatorContext.cs (1)
66
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
RelevanceEvaluator.cs (1)
69
IEnumerable<
EvaluationContext
>? additionalContext = null,
RelevanceTruthAndCompletenessEvaluator.cs (1)
82
IEnumerable<
EvaluationContext
>? additionalContext = null,
RetrievalEvaluator.cs (1)
75
IEnumerable<
EvaluationContext
>? additionalContext = null,
RetrievalEvaluatorContext.cs (1)
29
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for <see cref="RetrievalEvaluatorContext"/>.
TaskAdherenceEvaluator.cs (1)
78
IEnumerable<
EvaluationContext
>? additionalContext = null,
TaskAdherenceEvaluatorContext.cs (1)
67
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
ToolCallAccuracyEvaluator.cs (1)
80
IEnumerable<
EvaluationContext
>? additionalContext = null,
ToolCallAccuracyEvaluatorContext.cs (1)
68
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
Microsoft.Extensions.AI.Evaluation.Reporting (12)
JsonSerialization\EvaluationContextConverter.cs (3)
12
internal sealed class EvaluationContextConverter : JsonConverter<
EvaluationContext
>
20
public override
EvaluationContext
Read(
83
public override void Write(Utf8JsonWriter writer,
EvaluationContext
value, JsonSerializerOptions options)
ScenarioRun.cs (1)
148
IEnumerable<
EvaluationContext
>? additionalContext = null,
ScenarioRunExtensions.cs (6)
33
IEnumerable<
EvaluationContext
>? additionalContext = null,
62
IEnumerable<
EvaluationContext
>? additionalContext = null,
87
IEnumerable<
EvaluationContext
>? additionalContext = null,
111
IEnumerable<
EvaluationContext
>? additionalContext = null,
145
IEnumerable<
EvaluationContext
>? additionalContext = null,
175
IEnumerable<
EvaluationContext
>? additionalContext = null,
ScenarioRunResult.cs (2)
20
/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.
EvaluationContext
}?, CancellationToken)"/>
152
/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.
EvaluationContext
}?, CancellationToken)"/>
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (3)
src\Libraries\Microsoft.Extensions.AI.Evaluation.Reporting\CSharp\JsonSerialization\EvaluationContextConverter.cs (3)
12
internal sealed class EvaluationContextConverter : JsonConverter<
EvaluationContext
>
20
public override
EvaluationContext
Read(
83
public override void Write(Utf8JsonWriter writer,
EvaluationContext
value, JsonSerializerOptions options)
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
326
private class ContextComparer : IEqualityComparer<
EvaluationContext
>
330
public bool Equals(
EvaluationContext
? x,
EvaluationContext
? y)
350
public int GetHashCode(
EvaluationContext
obj)
Microsoft.Extensions.AI.Evaluation.Safety (22)
CodeVulnerabilityEvaluator.cs (1)
50
IEnumerable<
EvaluationContext
>? additionalContext = null,
ContentHarmEvaluator.cs (1)
52
IEnumerable<
EvaluationContext
>? additionalContext = null,
ContentSafetyEvaluator.cs (9)
47
IEnumerable<
EvaluationContext
>? additionalContext = null,
92
IEnumerable<
EvaluationContext
>? additionalContext = null,
116
IReadOnlyList<
EvaluationContext
>? relevantContext = FilterAdditionalContext(additionalContext);
198
/// Filters the <see cref="
EvaluationContext
"/>s supplied by the caller via <paramref name="additionalContext"/>
199
/// down to just the <see cref="
EvaluationContext
"/>s that are relevant to the evaluation being performed by this
202
/// <param name="additionalContext">The <see cref="
EvaluationContext
"/>s supplied by the caller.</param>
204
/// The <see cref="
EvaluationContext
"/>s that are relevant to the evaluation being performed by this
207
protected virtual IReadOnlyList<
EvaluationContext
>? FilterAdditionalContext(
208
IEnumerable<
EvaluationContext
>? additionalContext)
GroundednessProEvaluator.cs (4)
51
IEnumerable<
EvaluationContext
>? additionalContext = null,
73
protected override IReadOnlyList<
EvaluationContext
>? FilterAdditionalContext(
74
IEnumerable<
EvaluationContext
>? additionalContext)
81
IEnumerable<
EvaluationContext
>? additionalContext)
GroundednessProEvaluatorContext.cs (1)
26
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for
ProtectedMaterialEvaluator.cs (1)
70
IEnumerable<
EvaluationContext
>? additionalContext = null,
UngroundedAttributesEvaluator.cs (4)
55
IEnumerable<
EvaluationContext
>? additionalContext = null,
77
protected override IReadOnlyList<
EvaluationContext
>? FilterAdditionalContext(
78
IEnumerable<
EvaluationContext
>? additionalContext)
85
IEnumerable<
EvaluationContext
>? additionalContext)
UngroundedAttributesEvaluatorContext.cs (1)
27
/// Gets the unique <see cref="
EvaluationContext
.Name"/> that is used for