@@ -11,20 +11,44 @@ namespace Microsoft.Extensions.AI.Evaluation.Quality;
1111
1212internal sealed class RelevanceTruthAndCompletenessRating
1313{
14- public static RelevanceTruthAndCompletenessRating Inconclusive { get ; }
15- = new RelevanceTruthAndCompletenessRating ( relevance : - 1 , truth : - 1 , completeness : - 1 ) ;
14+ public static RelevanceTruthAndCompletenessRating Inconclusive { get ; } =
15+ new RelevanceTruthAndCompletenessRating (
16+ relevance : 0 ,
17+ relevanceReasoning : string . Empty ,
18+ relevanceReasons : [ ] ,
19+ truth : 0 ,
20+ truthReasoning : string . Empty ,
21+ truthReasons : [ ] ,
22+ completeness : 0 ,
23+ completenessReasoning : string . Empty ,
24+ completenessReasons : [ ] ) ;
1625
17- public int Relevance { get ; }
18- public string ? RelevanceReasoning { get ; }
19- public string [ ] RelevanceReasons { get ; } = [ ] ;
26+ [ JsonRequired ]
27+ public int Relevance { get ; set ; }
2028
21- public int Truth { get ; }
22- public string ? TruthReasoning { get ; }
23- public string [ ] TruthReasons { get ; } = [ ] ;
29+ [ JsonRequired ]
30+ public string RelevanceReasoning { get ; set ; }
2431
25- public int Completeness { get ; }
26- public string ? CompletenessReasoning { get ; }
27- public string [ ] CompletenessReasons { get ; } = [ ] ;
32+ [ JsonRequired ]
33+ public string [ ] RelevanceReasons { get ; set ; }
34+
35+ [ JsonRequired ]
36+ public int Truth { get ; set ; }
37+
38+ [ JsonRequired ]
39+ public string TruthReasoning { get ; set ; }
40+
41+ [ JsonRequired ]
42+ public string [ ] TruthReasons { get ; set ; }
43+
44+ [ JsonRequired ]
45+ public int Completeness { get ; set ; }
46+
47+ [ JsonRequired ]
48+ public string CompletenessReasoning { get ; set ; }
49+
50+ [ JsonRequired ]
51+ public string [ ] CompletenessReasons { get ; set ; }
2852
2953 private const int MinValue = 1 ;
3054 private const int MaxValue = 5 ;
@@ -36,17 +60,12 @@ internal sealed class RelevanceTruthAndCompletenessRating
3660 Completeness < MinValue || Completeness > MaxValue ;
3761#pragma warning restore S1067
3862
39- public RelevanceTruthAndCompletenessRating ( int relevance , int truth , int completeness )
40- {
41- ( Relevance , Truth , Completeness ) = ( relevance , truth , completeness ) ;
42- }
43-
4463 [ JsonConstructor ]
4564#pragma warning disable S107 // Methods should not have too many parameters.
4665 public RelevanceTruthAndCompletenessRating (
47- int relevance , string ? relevanceReasoning , string [ ] relevanceReasons ,
48- int truth , string ? truthReasoning , string [ ] truthReasons ,
49- int completeness , string ? completenessReasoning , string [ ] completenessReasons )
66+ int relevance , string relevanceReasoning , string [ ] relevanceReasons ,
67+ int truth , string truthReasoning , string [ ] truthReasons ,
68+ int completeness , string completenessReasoning , string [ ] completenessReasons )
5069#pragma warning restore S107
5170 {
5271 ( Relevance , RelevanceReasoning , RelevanceReasons ,
0 commit comments