Module: LLM::Eval::Run
- Included in:
- LLM::Eval
- Defined in:
- lib/llm/eval/run.rb
Overview
Run-level report generation.
Instance Method Summary collapse
-
#run_aggregate
Writes the run-level report, accumulating every sample.
Instance Method Details
#run_aggregate
This method returns an undefined value.
Writes the run-level report, accumulating every sample.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/llm/eval/run.rb', line 10 def run_aggregate dir = File.join(Dir.getwd, "runs", name.to_s, llm.name.to_s, model.to_s) FileUtils.mkdir_p(dir) json = File.join(dir, "run.json") data = if File.exist?(json) JSON.parse(File.read(json)) else { "eval" => name, "provider" => llm.name.to_s, "model" => model.to_s, "samples" => [] } end data["samples"] ||= [] data["samples"].reject! { it["sample"] == sample } data["samples"] << run_sample_entry data["samples"].sort_by! { it["sample"] } data["score"] = data["samples"].sum { it["score"] } / data["samples"].size.to_f File.write(json, JSON.pretty_generate(data)) File.write(File.join(dir, "run.txt"), run_text_report(data)) end |