Class: RubyLLM::Contract::Eval::EvaluationResult

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/contract/eval/evaluation_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(score:, passed:, label: nil, details: nil) ⇒ EvaluationResult

Returns a new instance of EvaluationResult.



9
10
11
12
13
14
15
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 9

def initialize(score:, passed:, label: nil, details: nil)
  @score = score.to_f.clamp(0.0, 1.0)
  @passed = passed
  @label = label || (passed ? "PASS" : "FAIL")
  @details = details
  freeze
end

Instance Attribute Details

#detailsObject (readonly)

Returns the value of attribute details.



7
8
9
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 7

def details
  @details
end

#labelObject (readonly)

Returns the value of attribute label.



7
8
9
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 7

def label
  @label
end

#passedObject (readonly)

Returns the value of attribute passed.



7
8
9
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 7

def passed
  @passed
end

#scoreObject (readonly)

Returns the value of attribute score.



7
8
9
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 7

def score
  @score
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 17

def failed?
  !@passed
end

#to_sObject



21
22
23
# File 'lib/ruby_llm/contract/eval/evaluation_result.rb', line 21

def to_s
  "#{@label} (score: #{@score}#{"#{@details}" if @details})"
end