Module: DSPy::Teleprompt::MIPROv2::AutoMode

Extended by:
T::Sig
Defined in:
lib/dspy/teleprompt/mipro_v2.rb

Overview

Auto-configuration modes for different optimization needs

Class Method Summary collapse

Class Method Details

.heavy(metric: nil, **kwargs) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/dspy/teleprompt/mipro_v2.rb', line 87

def self.heavy(metric: nil, **kwargs)
  optimizer = MIPROv2.new(metric: metric, **kwargs)
  optimizer.configure do |config|
    config.num_trials = 18
    config.num_instruction_candidates = 8
    config.max_bootstrapped_examples = 6
    config.max_labeled_examples = 24
    config.bootstrap_sets = 8
    config.optimization_strategy = :bayesian
    config.early_stopping_patience = 5
  end
  optimizer
end

.light(metric: nil, **kwargs) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/dspy/teleprompt/mipro_v2.rb', line 47

def self.light(metric: nil, **kwargs)
  optimizer = MIPROv2.new(metric: metric, **kwargs)
  optimizer.configure do |config|
    config.num_trials = 6
    config.num_instruction_candidates = 3
    config.max_bootstrapped_examples = 2
    config.max_labeled_examples = 8
    config.bootstrap_sets = 3
    config.optimization_strategy = :greedy
    config.early_stopping_patience = 2
  end
  optimizer
end

.medium(metric: nil, **kwargs) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/dspy/teleprompt/mipro_v2.rb', line 67

def self.medium(metric: nil, **kwargs)
  optimizer = MIPROv2.new(metric: metric, **kwargs)
  optimizer.configure do |config|
    config.num_trials = 12
    config.num_instruction_candidates = 5
    config.max_bootstrapped_examples = 4
    config.max_labeled_examples = 16
    config.bootstrap_sets = 5
    config.optimization_strategy = :adaptive
    config.early_stopping_patience = 3
  end
  optimizer
end