Class: Ask::Eval::Judge
- Inherits:
-
Object
- Object
- Ask::Eval::Judge
- Defined in:
- lib/ask/eval/judge.rb
Overview
Direct Known Subclasses
Ask::Eval::Judges::Bias, Ask::Eval::Judges::Correctness, Ask::Eval::Judges::Faithful, Ask::Eval::Judges::Hallucination, Ask::Eval::Judges::Toxicity
Defined Under Namespace
Classes: Result
Instance Attribute Summary collapse
-
#cost_tracker ⇒ Hash?
readonly
Cost accumulator if tracking is enabled.
-
#model ⇒ Object?
readonly
The judge model (callable, provider, or nil for auto-detect).
Instance Method Summary collapse
-
#call(test_case) ⇒ Ask::Eval::Judge::Result
Evaluate a test case and return a verdict.
-
#initialize(model: nil, track_cost: false) ⇒ Judge
constructor
A new instance of Judge.
Constructor Details
#initialize(model: nil, track_cost: false) ⇒ Judge
Returns a new instance of Judge.
28 29 30 31 32 |
# File 'lib/ask/eval/judge.rb', line 28 def initialize(model: nil, track_cost: false) @model = model || default_model @track_cost = track_cost @cost_tracker = track_cost ? CostTracker.new : nil end |
Instance Attribute Details
#cost_tracker ⇒ Hash? (readonly)
Returns cost accumulator if tracking is enabled.
22 23 24 |
# File 'lib/ask/eval/judge.rb', line 22 def cost_tracker @cost_tracker end |
#model ⇒ Object? (readonly)
Returns the judge model (callable, provider, or nil for auto-detect).
19 20 21 |
# File 'lib/ask/eval/judge.rb', line 19 def model @model end |
Instance Method Details
#call(test_case) ⇒ Ask::Eval::Judge::Result
Evaluate a test case and return a verdict.
37 38 39 |
# File 'lib/ask/eval/judge.rb', line 37 def call(test_case) raise NotImplementedError, "#{self.class} must implement #call" end |