Class: RubyLLM::Contract::Eval::Evaluator::ProcEvaluator

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

Overview

Adapts custom Ruby callables to the EvaluationResult contract.

Instance Method Summary collapse

Constructor Details

#initialize(callable) ⇒ ProcEvaluator

Returns a new instance of ProcEvaluator.



9
10
11
# File 'lib/ruby_llm/contract/eval/evaluator/proc_evaluator.rb', line 9

def initialize(callable)
  @callable = callable
end

Instance Method Details

#call(output:, expected: nil, input: nil) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument,Metrics



13
14
15
16
17
# File 'lib/ruby_llm/contract/eval/evaluator/proc_evaluator.rb', line 13

def call(output:, expected: nil, input: nil) # rubocop:disable Lint/UnusedMethodArgument,Metrics
  result = invoke_callable(output, input)
  warn_nil_result if result.nil?
  build_evaluation_result(result)
end