class Riffer::Evals::ScenarioResult
rbs_inline: enabled
Attributes
Public Class Methods
Source
# File lib/riffer/evals/scenario_result.rb, line 14 def initialize(input:, output:, ground_truth:, results:, messages: [], token_usage: nil) @input = input @output = output @ground_truth = ground_truth @results = results @messages = messages @token_usage = token_usage end
Public Instance Methods
Source
# File lib/riffer/evals/scenario_result.rb, line 34 def evaluator_token_usage results.filter_map(&:token_usage).reduce(:+) end
Source
# File lib/riffer/evals/scenario_result.rb, line 25 def scores acc = {} #: Hash[singleton(Riffer::Evals::Evaluator), Float] results.each_with_object(acc) do |result, hash| hash[result.evaluator] = result.score end end
Source
# File lib/riffer/evals/scenario_result.rb, line 40 def to_h { input: input, output: output, ground_truth: ground_truth, scores: scores.transform_keys(&:name), results: results.map(&:to_h), messages: messages.map(&:to_h), token_usage: token_usage&.to_h, evaluator_token_usage: evaluator_token_usage&.to_h, } end