Class: DSPy::Teleprompt::GEPA::InstructionProposer

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dspy/teleprompt/gepa.rb

Overview

InstructionProposer: Analyzes execution traces and generates improved instructions using LLM reflection

Instance Method Summary collapse

Constructor Details

#initialize(config:) ⇒ InstructionProposer

Returns a new instance of InstructionProposer.



1840
1841
1842
# File 'lib/dspy/teleprompt/gepa.rb', line 1840

def initialize(config:)
  @config = config
end

Instance Method Details

#propose_instruction(original_instruction:, execution_traces:, failed_examples:) ⇒ Object



1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
# File 'lib/dspy/teleprompt/gepa.rb', line 1846

def propose_instruction(original_instruction:, execution_traces:, failed_examples:)
  if execution_traces.empty? && failed_examples.empty?
    # No traces or failures to analyze, return original
    return original_instruction
  end

  # Use LLM-based reflection to generate improved instruction
  reflect_and_propose(
    original_instruction: original_instruction,
    execution_traces: execution_traces,
    failed_examples: failed_examples
  )
rescue => e
  # Fallback to original instruction on error
  original_instruction
end