Class: SkillBench::Services::JudgeParamsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/skill_bench/services/judge_params_builder.rb

Overview

Builds judge parameters from provider configuration.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provider, config) ⇒ JudgeParamsBuilder

Returns a new instance of JudgeParamsBuilder.

Parameters:

  • provider (Object)

    The resolved provider

  • config (Hash, nil)

    Provider config



18
19
20
21
# File 'lib/skill_bench/services/judge_params_builder.rb', line 18

def initialize(provider, config)
  @provider = provider
  @config = config
end

Class Method Details

.call(provider, config) ⇒ Hash

Builds judge parameters from provider configuration.

Parameters:

  • provider (Object)

    The resolved provider

  • config (Hash, nil)

    Provider config

Returns:

  • (Hash)

    Judge parameters with api_key, model, and provider



12
13
14
# File 'lib/skill_bench/services/judge_params_builder.rb', line 12

def self.call(provider, config)
  new(provider, config).call
end

Instance Method Details

#callHash

Builds judge parameters from provider configuration.

Returns:

  • (Hash)

    Judge parameters with api_key, model, and provider



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/skill_bench/services/judge_params_builder.rb', line 26

def call
  return { provider: :mock } if @provider.name == 'mock'

  config = @config || safe_merged_config
  return {} unless config

  {
    api_key: config[:api_key],
    model: config[:model] || @provider.llm,
    provider: @provider.runtime.to_sym
  }
rescue KeyError, NoMethodError
  # Expected errors from missing config keys or nil config
  {}
end