class Riffer::Evals::Judge
Attributes
Public Class Methods
Source
# File lib/riffer/evals/judge.rb, line 32 def initialize(model:, tags: {}) provider_name, model_name = model.split("/", 2) unless [provider_name, model_name].all? { |part| part.is_a?(String) && !part.strip.empty? } raise Riffer::ArgumentError, "Invalid model string: #{model}" end @model = model @tags = tags end
Public Instance Methods
Source
# File lib/riffer/evals/judge.rb, line 44 def evaluate(instructions:, input:, output:, ground_truth: nil) system_message = build_system_message(instructions) user_message = build_user_message(input: input, output: output, ground_truth: ground_truth) options = { system: system_message, prompt: user_message, model: model_name, tools: [EvaluationTool], } #: Hash[Symbol, untyped] options[:tags] = tags unless tags.empty? response = provider_instance.generate_text(**options) parse_tool_response(response) end