Module: Legion::Extensions::Llm::Bedrock::Runners::FleetWorker

Extended by:
Logging::Helper
Defined in:
lib/legion/extensions/llm/bedrock/runners/fleet_worker.rb

Overview

Runner entrypoint for Bedrock fleet request execution.

Class Method Summary collapse

Class Method Details

.handle_fleet_request(payload, delivery: nil, properties: nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/legion/extensions/llm/bedrock/runners/fleet_worker.rb', line 18

def handle_fleet_request(payload, delivery: nil, properties: nil)
  log.debug do
    "bedrock.runner.fleet_worker.handle_fleet_request: request_id=#{payload_value(payload, :request_id)} " \
      "provider_instance=#{payload_value(payload, :provider_instance) || 'default'}"
  end
  Legion::Extensions::Llm::Fleet::ProviderResponder.call(
    payload: payload,
    provider_family: Bedrock::PROVIDER_FAMILY,
    provider_class: Bedrock::Provider,
    provider_instances: -> { Bedrock.discover_instances },
    delivery: delivery,
    properties: properties
  )
end

.payload_value(payload, key) ⇒ Object



33
34
35
36
37
# File 'lib/legion/extensions/llm/bedrock/runners/fleet_worker.rb', line 33

def payload_value(payload, key)
  return nil unless payload.respond_to?(:[])

  payload[key] || payload[key.to_s]
end