class RubyLLM::Evaluation

Defines reusable evaluations with a dataset, semantic criteria, and Ruby assertions. Datasets default to app/evals/<class_name>.yml, .yaml, .json, or .jsonl. Without declared criteria, evaluates correctness against each case’s expected_output.

class SupportEvaluation < RubyLLM::Evaluation
  def perform(input)
    SupportAgent.new.ask(input)
  end
end

SupportEvaluation.run.save("tmp/support.json")