Class: Desiru::Optimizers::BootstrapFewShot
- Defined in:
- lib/desiru/optimizers/bootstrap_few_shot.rb
Overview
Bootstrap Few-Shot optimizer - automatically selects effective demonstrations
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #compile(program, trainset:, valset: nil) ⇒ Object
- #optimize_module(module_instance, examples) ⇒ Object
Methods inherited from Base
Constructor Details
This class inherits a constructor from Desiru::Optimizers::Base
Instance Method Details
#compile(program, trainset:, valset: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/desiru/optimizers/bootstrap_few_shot.rb', line 7 def compile(program, trainset:, valset: nil) trace_optimization('Starting BootstrapFewShot optimization', { trainset_size: trainset.size, valset_size: valset&.size || 0 }) # Create a working copy of the program optimized_program = deep_copy_program(program) # Optimize each module in the program optimize_modules(optimized_program, trainset, valset) # Evaluate final performance if valset final_score = evaluate(optimized_program, valset) trace_optimization('Final validation score', final_score) end optimized_program end |
#optimize_module(module_instance, examples) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/desiru/optimizers/bootstrap_few_shot.rb', line 28 def optimize_module(module_instance, examples) trace_optimization('Optimizing module', { module: module_instance.class.name, examples_available: examples.size }) # Bootstrap demonstrations bootstrapped_demos = bootstrap_demonstrations(module_instance, examples) # Select best demonstrations selected_demos = select_demonstrations( module_instance, bootstrapped_demos, examples ) # Return module with selected demonstrations module_instance.with_demos(selected_demos) end |