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
|