Class: RubyLLM::Contract::Eval::CaseResultBuilder

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

Instance Method Summary collapse

Instance Method Details

#call(test_case:, step_result:, evaluation:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ruby_llm/contract/eval/case_result_builder.rb', line 7

def call(test_case:, step_result:, evaluation:)
  trace = step_result.respond_to?(:trace) ? step_result.trace : nil

  CaseResult.new(
    name: test_case.name,
    input: test_case.input,
    output: step_result.parsed_output,
    expected: test_case.expected,
    step_status: step_result.status,
    score: evaluation.score,
    passed: evaluation.passed,
    label: evaluation.label,
    details: evaluation.details,
    duration_ms: trace_metric(trace, :total_latency_ms, :latency_ms),
    cost: trace_metric(trace, :total_cost, :cost)
  )
end