Module: DSPy::Callbacks

Included in:
Evals, Module
Defined in:
lib/dspy/callbacks.rb

Overview

Provides Rails-style callback hooks for DSPy modules

Examples:

Define callbacks in base class

class DSPy::Module
  include DSPy::Callbacks

  create_before_callback :forward
  create_after_callback :forward
  create_around_callback :forward
end

Use callbacks in subclasses

class MyAgent < DSPy::Module
  before :setup_context
  after :log_metrics
  around :manage_memory

  private

  def setup_context
    @start_time = Time.now
  end

  def log_metrics
    puts "Duration: #{Time.now - @start_time}"
  end

  def manage_memory
    load_context
    yield
    save_context
  end
end

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



41
42
43
# File 'lib/dspy/callbacks.rb', line 41

def self.included(base)
  base.extend(ClassMethods)
end