Class: Sublayer::Generators::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/sublayer/generators/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#resultsObject (readonly)

Returns the value of attribute results.



4
5
6
# File 'lib/sublayer/generators/base.rb', line 4

def results
  @results
end

Class Method Details

.llm_output_adapter(options) ⇒ Object



6
7
8
9
# File 'lib/sublayer/generators/base.rb', line 6

def self.llm_output_adapter(options)
  output_adapter = Sublayer::Components::OutputAdapters.create(options).extend(Sublayer::Components::OutputAdapters::Formattable)
  const_set(:OUTPUT_ADAPTER, output_adapter)
end

Instance Method Details

#generateObject



11
12
13
14
15
16
17
# File 'lib/sublayer/generators/base.rb', line 11

def generate
  self.class::OUTPUT_ADAPTER.load_instance_data(self) if self.class::OUTPUT_ADAPTER.respond_to?(:load_instance_data)

  raw_results = Sublayer.configuration.ai_provider.call(prompt: prompt, output_adapter: self.class::OUTPUT_ADAPTER)

  @results = self.class::OUTPUT_ADAPTER.respond_to?(:materialize_result) ? self.class::OUTPUT_ADAPTER.materialize_result(raw_results) : raw_results
end