Class: EvalRuby::Metrics::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/eval_ruby/metrics/base.rb

Overview

Abstract base class for all evaluation metrics. Subclasses must implement #call.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(judge: nil) ⇒ Base

Returns a new instance of Base.

Parameters:



12
13
14
# File 'lib/eval_ruby/metrics/base.rb', line 12

def initialize(judge: nil)
  @judge = judge
end

Instance Attribute Details

#judgeEvalRuby::Judges::Base? (readonly)

Returns the LLM judge instance.

Returns:



9
10
11
# File 'lib/eval_ruby/metrics/base.rb', line 9

def judge
  @judge
end

Instance Method Details

#call(**kwargs) ⇒ Hash{Symbol => Object}

Evaluates the metric.

Parameters:

  • kwargs (Hash)

    metric-specific keyword arguments

Returns:

  • (Hash{Symbol => Object})

    must include :score and :details keys

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/eval_ruby/metrics/base.rb', line 20

def call(**kwargs)
  raise NotImplementedError, "#{self.class}#call must be implemented"
end