Class: RubricLLM::Result
- Inherits:
-
Object
show all
- Defined in:
- lib/rubric_llm/result.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(scores:, details:, sample: {}) ⇒ Result
Returns a new instance of Result.
7
8
9
10
11
|
# File 'lib/rubric_llm/result.rb', line 7
def initialize(scores:, details:, sample: {})
@scores = scores
@details = details
@sample = sample
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
49
50
51
52
53
|
# File 'lib/rubric_llm/result.rb', line 49
def method_missing(name, *args)
return scores[name] if args.empty? && scores.key?(name)
super
end
|
Instance Attribute Details
#details ⇒ Object
Returns the value of attribute details.
5
6
7
|
# File 'lib/rubric_llm/result.rb', line 5
def details
@details
end
|
#sample ⇒ Object
Returns the value of attribute sample.
5
6
7
|
# File 'lib/rubric_llm/result.rb', line 5
def sample
@sample
end
|
#scores ⇒ Object
Returns the value of attribute scores.
5
6
7
|
# File 'lib/rubric_llm/result.rb', line 5
def scores
@scores
end
|
Instance Method Details
#errors ⇒ Object
29
30
31
32
33
|
# File 'lib/rubric_llm/result.rb', line 29
def errors
details.each_with_object({}) do |(name, detail), acc|
acc[name] = detail[:error] if detail.is_a?(Hash) && detail.key?(:error)
end
end
|
#overall ⇒ Object
13
14
15
16
17
18
|
# File 'lib/rubric_llm/result.rb', line 13
def overall
valid = scores.values.compact
return nil if valid.empty?
valid.sum / valid.size.to_f
end
|
#pass?(threshold: 0.8) ⇒ Boolean
20
21
22
23
24
25
26
27
|
# File 'lib/rubric_llm/result.rb', line 20
def pass?(threshold: 0.8)
return false unless valid?
score = overall
return false if score.nil?
score >= threshold
end
|
#to_h ⇒ Object
39
40
41
|
# File 'lib/rubric_llm/result.rb', line 39
def to_h
{ scores:, details:, overall: overall, errors: }
end
|
#valid? ⇒ Boolean
35
36
37
|
# File 'lib/rubric_llm/result.rb', line 35
def valid?
errors.empty?
end
|