9 types derived from EvaluationContext
Microsoft.Extensions.AI.Evaluation.Quality (4)
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)
RetrievalEvaluatorContext.cs (1)
26public sealed class RetrievalEvaluatorContext : 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)
118 references to EvaluationContext
Microsoft.Extensions.AI.Evaluation (54)
CompositeEvaluator.cs (2)
106IEnumerable<EvaluationContext>? additionalContext = null, 131IEnumerable<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 55public IDictionary<string, EvaluationContext>? Context { get; set; }
EvaluationMetricExtensions.cs (7)
22/// <param name="context">The <see cref="EvaluationContext"/> objects to be added or updated.</param> 23public static void AddOrUpdateContext(this EvaluationMetric metric, IEnumerable<EvaluationContext> context) 30metric.Context ??= new Dictionary<string, EvaluationContext>(); 32foreach (var c in context) 44/// <param name="context">The <see cref="EvaluationContext"/> objects to be added or updated.</param> 45public 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> 26IEnumerable<EvaluationContext> context) 43/// <param name="context">The <see cref="EvaluationContext"/> objects to be added or updated.</param> 44public static void AddOrUpdateContextInAllMetrics(this EvaluationResult result, params EvaluationContext[] context) 45=> result.AddOrUpdateContextInAllMetrics(context as IEnumerable<EvaluationContext>);
EvaluatorExtensions.cs (6)
48IEnumerable<EvaluationContext>? additionalContext = null, 92IEnumerable<EvaluationContext>? additionalContext = null, 133IEnumerable<EvaluationContext>? additionalContext = null, 173IEnumerable<EvaluationContext>? additionalContext = null, 222IEnumerable<EvaluationContext>? additionalContext = null, 267IEnumerable<EvaluationContext>? additionalContext = null,
IEvaluator.cs (1)
61IEnumerable<EvaluationContext>? additionalContext = null,
Microsoft.Extensions.AI.Evaluation.Integration.Tests (11)
QualityEvaluatorTests.cs (4)
262groundedness.Context.TryGetValue(GroundednessEvaluatorContext.GroundingContextName, out EvaluationContext? context1) && 267equivalence.Context.TryGetValue(EquivalenceEvaluatorContext.GroundTruthContextName, out EvaluationContext? context2) && 272completeness.Context.TryGetValue(CompletenessEvaluatorContext.GroundTruthContextName, out EvaluationContext? context3) && 277retrieval.Context.TryGetValue(RetrievalEvaluatorContext.RetrievedContextChunksContextName, out EvaluationContext? context4) &&
SafetyEvaluatorTests.cs (6)
158IEnumerable<EvaluationContext> additionalContext = [groundednessProContext, ungroundedAttributesContext]; 176groundednessPro.Context.TryGetValue(GroundednessProEvaluatorContext.GroundingContextName, out EvaluationContext? context1) && 181ungroundedAttributes.Context.TryGetValue(UngroundedAttributesEvaluatorContext.GroundingContextName, out EvaluationContext? context2) && 233IEnumerable<EvaluationContext> additionalContext = [groundednessProContext, ungroundedAttributesContext]; 251groundednessPro.Context.TryGetValue(GroundednessProEvaluatorContext.GroundingContextName, out EvaluationContext? context1) && 256ungroundedAttributes.Context.TryGetValue(UngroundedAttributesEvaluatorContext.GroundingContextName, out EvaluationContext? context2) &&
TestEvaluator.cs (1)
30IEnumerable<EvaluationContext>? additionalContext,
Microsoft.Extensions.AI.Evaluation.Quality (12)
CoherenceEvaluator.cs (1)
71IEnumerable<EvaluationContext>? additionalContext = null,
CompletenessEvaluator.cs (1)
68IEnumerable<EvaluationContext>? additionalContext = null,
CompletenessEvaluatorContext.cs (1)
27/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for
EquivalenceEvaluator.cs (1)
67IEnumerable<EvaluationContext>? additionalContext = null,
EquivalenceEvaluatorContext.cs (1)
26/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for
FluencyEvaluator.cs (1)
65IEnumerable<EvaluationContext>? additionalContext = null,
GroundednessEvaluator.cs (1)
66IEnumerable<EvaluationContext>? additionalContext = null,
GroundednessEvaluatorContext.cs (1)
26/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for
RelevanceEvaluator.cs (1)
69IEnumerable<EvaluationContext>? additionalContext = null,
RelevanceTruthAndCompletenessEvaluator.cs (1)
82IEnumerable<EvaluationContext>? additionalContext = null,
RetrievalEvaluator.cs (1)
75IEnumerable<EvaluationContext>? additionalContext = null,
RetrievalEvaluatorContext.cs (1)
29/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for <see cref="RetrievalEvaluatorContext"/>.
Microsoft.Extensions.AI.Evaluation.Reporting (12)
JsonSerialization\EvaluationContextConverter.cs (3)
12internal sealed class EvaluationContextConverter : JsonConverter<EvaluationContext> 20public override EvaluationContext Read( 83public override void Write(Utf8JsonWriter writer, EvaluationContext value, JsonSerializerOptions options)
ScenarioRun.cs (1)
148IEnumerable<EvaluationContext>? additionalContext = null,
ScenarioRunExtensions.cs (6)
33IEnumerable<EvaluationContext>? additionalContext = null, 62IEnumerable<EvaluationContext>? additionalContext = null, 87IEnumerable<EvaluationContext>? additionalContext = null, 111IEnumerable<EvaluationContext>? additionalContext = null, 145IEnumerable<EvaluationContext>? additionalContext = null, 175IEnumerable<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)
12internal sealed class EvaluationContextConverter : JsonConverter<EvaluationContext> 20public override EvaluationContext Read( 83public override void Write(Utf8JsonWriter writer, EvaluationContext value, JsonSerializerOptions options)
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
326private class ContextComparer : IEqualityComparer<EvaluationContext> 330public bool Equals(EvaluationContext? x, EvaluationContext? y) 350public int GetHashCode(EvaluationContext obj)
Microsoft.Extensions.AI.Evaluation.Safety (22)
CodeVulnerabilityEvaluator.cs (1)
50IEnumerable<EvaluationContext>? additionalContext = null,
ContentHarmEvaluator.cs (1)
52IEnumerable<EvaluationContext>? additionalContext = null,
ContentSafetyEvaluator.cs (9)
47IEnumerable<EvaluationContext>? additionalContext = null, 92IEnumerable<EvaluationContext>? additionalContext = null, 116IReadOnlyList<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 207protected virtual IReadOnlyList<EvaluationContext>? FilterAdditionalContext( 208IEnumerable<EvaluationContext>? additionalContext)
GroundednessProEvaluator.cs (4)
51IEnumerable<EvaluationContext>? additionalContext = null, 73protected override IReadOnlyList<EvaluationContext>? FilterAdditionalContext( 74IEnumerable<EvaluationContext>? additionalContext) 81IEnumerable<EvaluationContext>? additionalContext)
GroundednessProEvaluatorContext.cs (1)
26/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for
ProtectedMaterialEvaluator.cs (1)
70IEnumerable<EvaluationContext>? additionalContext = null,
UngroundedAttributesEvaluator.cs (4)
55IEnumerable<EvaluationContext>? additionalContext = null, 77protected override IReadOnlyList<EvaluationContext>? FilterAdditionalContext( 78IEnumerable<EvaluationContext>? additionalContext) 85IEnumerable<EvaluationContext>? additionalContext)
UngroundedAttributesEvaluatorContext.cs (1)
27/// Gets the unique <see cref="EvaluationContext.Name"/> that is used for