Class: Riffer::Evals::Result
- Inherits:
-
Object
- Object
- Riffer::Evals::Result
- Defined in:
- lib/riffer/evals/result.rb
Overview
Represents the result of a single evaluation.
Contains the score, reason, and metadata from running an evaluator.
result = Riffer::Evals::Result.new(
evaluator: AnswerRelevancyEvaluator,
score: 0.85,
reason: "The response addresses the question directly.",
higher_is_better: true
)
result.score # => 0.85
result.evaluator # => AnswerRelevancyEvaluator
result.higher_is_better # => true
Instance Attribute Summary collapse
-
#evaluator ⇒ Object
readonly
The evaluator class that produced this result.
-
#higher_is_better ⇒ Object
readonly
Whether higher scores are better for this evaluator.
-
#metadata ⇒ Object
readonly
Additional metadata from the evaluation.
-
#reason ⇒ Object
readonly
Human-readable explanation of the score.
-
#score ⇒ Object
readonly
The evaluation score (0.0 to 1.0).
Instance Method Summary collapse
-
#initialize(evaluator:, score:, reason: nil, metadata: {}, higher_is_better: true) ⇒ Result
constructor
Initializes a new evaluation result.
-
#to_h ⇒ Object
Returns a hash representation of the result.
Constructor Details
#initialize(evaluator:, score:, reason: nil, metadata: {}, higher_is_better: true) ⇒ Result
Initializes a new evaluation result.
Raises Riffer::ArgumentError if score is not between 0.0 and 1.0.
– : (evaluator: singleton(Riffer::Evals::Evaluator), score: Float, ?reason: String?, ?metadata: Hash[Symbol, untyped], ?higher_is_better: bool) -> void
41 42 43 44 45 46 47 48 |
# File 'lib/riffer/evals/result.rb', line 41 def initialize(evaluator:, score:, reason: nil, metadata: {}, higher_is_better: true) @evaluator = evaluator @score = score.to_f validate_score! @reason = reason @metadata = @higher_is_better = higher_is_better end |
Instance Attribute Details
#evaluator ⇒ Object (readonly)
The evaluator class that produced this result.
21 22 23 |
# File 'lib/riffer/evals/result.rb', line 21 def evaluator @evaluator end |
#higher_is_better ⇒ Object (readonly)
Whether higher scores are better for this evaluator.
33 34 35 |
# File 'lib/riffer/evals/result.rb', line 33 def higher_is_better @higher_is_better end |
#metadata ⇒ Object (readonly)
Additional metadata from the evaluation.
30 31 32 |
# File 'lib/riffer/evals/result.rb', line 30 def @metadata end |
#reason ⇒ Object (readonly)
Human-readable explanation of the score.
27 28 29 |
# File 'lib/riffer/evals/result.rb', line 27 def reason @reason end |
#score ⇒ Object (readonly)
The evaluation score (0.0 to 1.0).
24 25 26 |
# File 'lib/riffer/evals/result.rb', line 24 def score @score end |
Instance Method Details
#to_h ⇒ Object
Returns a hash representation of the result.
– : () -> Hash[Symbol, untyped]
54 55 56 57 58 59 60 61 62 |
# File 'lib/riffer/evals/result.rb', line 54 def to_h { evaluator: evaluator.name, score: score, reason: reason, metadata: , higher_is_better: higher_is_better } end |