Class: RubyLLM::Contract::Step::Runner
- Inherits:
-
Object
- Object
- RubyLLM::Contract::Step::Runner
- Includes:
- LimitChecker
- Defined in:
- lib/ruby_llm/contract/step/runner.rb
Instance Method Summary collapse
- #call(input) ⇒ Object
-
#initialize(input_type:, output_type:, prompt_block:, contract_definition:, adapter:, model:, output_schema: nil, max_output: nil, max_input: nil, max_cost: nil, on_unknown_pricing: :refuse, temperature: nil, extra_options: {}, observers: []) ⇒ Runner
constructor
A new instance of Runner.
Constructor Details
#initialize(input_type:, output_type:, prompt_block:, contract_definition:, adapter:, model:, output_schema: nil, max_output: nil, max_input: nil, max_cost: nil, on_unknown_pricing: :refuse, temperature: nil, extra_options: {}, observers: []) ⇒ Runner
Returns a new instance of Runner.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ruby_llm/contract/step/runner.rb', line 9 def initialize(input_type:, output_type:, prompt_block:, contract_definition:, adapter:, model:, output_schema: nil, max_output: nil, max_input: nil, max_cost: nil, on_unknown_pricing: :refuse, temperature: nil, extra_options: {}, observers: []) @config = RunnerConfig.new( input_type: input_type, output_type: output_type, prompt_block: prompt_block, contract_definition: contract_definition, adapter: adapter, model: model, output_schema: output_schema, max_output: max_output, max_input: max_input, max_cost: max_cost, on_unknown_pricing: on_unknown_pricing, temperature: temperature, extra_options: , observers: observers ) end |
Instance Method Details
#call(input) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/ruby_llm/contract/step/runner.rb', line 31 def call(input) validated_input = input_validator.call(input) return validated_input if validated_input.is_a?(Result) = prompt_compiler.call(input) rescue RubyLLM::Contract::Error => e Result.new(status: :input_error, raw_output: nil, parsed_output: nil, validation_errors: [e.]) else execute_pipeline(, input) end |