Sha256: be9b45b0dd2001343912a6fe4da637ddb0f89d2a91bfad289cd5d9ba16e21854

Contents?: true

Size: 667 Bytes

Versions: 1

Compression:

Stored size: 667 Bytes

Contents

# frozen_string_literal: true

require "roseflow/action"
require "roseflow/ai/provider"
require "roseflow/openai/config"

module Roseflow
  module Actions
    module AI
      class ResolveProvider
        extend Roseflow::Action

        expects :provider
        promises :provider

        executed do |context|
          context[:provider] = resolve_provider(context[:provider])
        end

        private_class_method

        def self.resolve_provider(provider)
          case provider
          when :openai
            Roseflow::AI::Provider.new(name: :openai, credentials: Roseflow::OpenAI::Config.new)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
roseflow-0.1.0 lib/roseflow/actions/ai/resolve_provider.rb