@@ -11,20 +11,44 @@ namespace Microsoft.Extensions.AI.Evaluation.Quality;
11
11
12
12
internal sealed class RelevanceTruthAndCompletenessRating
13
13
{
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 : [ ] ) ;
16
25
17
- public int Relevance { get ; }
18
- public string ? RelevanceReasoning { get ; }
19
- public string [ ] RelevanceReasons { get ; } = [ ] ;
26
+ [ JsonRequired ]
27
+ public int Relevance { get ; set ; }
20
28
21
- public int Truth { get ; }
22
- public string ? TruthReasoning { get ; }
23
- public string [ ] TruthReasons { get ; } = [ ] ;
29
+ [ JsonRequired ]
30
+ public string RelevanceReasoning { get ; set ; }
24
31
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 ; }
28
52
29
53
private const int MinValue = 1 ;
30
54
private const int MaxValue = 5 ;
@@ -36,17 +60,12 @@ internal sealed class RelevanceTruthAndCompletenessRating
36
60
Completeness < MinValue || Completeness > MaxValue ;
37
61
#pragma warning restore S1067
38
62
39
- public RelevanceTruthAndCompletenessRating ( int relevance , int truth , int completeness )
40
- {
41
- ( Relevance , Truth , Completeness ) = ( relevance , truth , completeness ) ;
42
- }
43
-
44
63
[ JsonConstructor ]
45
64
#pragma warning disable S107 // Methods should not have too many parameters.
46
65
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 )
50
69
#pragma warning restore S107
51
70
{
52
71
( Relevance , RelevanceReasoning , RelevanceReasons ,
0 commit comments