Module: ActiveAgent::GenerationProvider::ClassMethods
- Defined in:
- lib/active_agent/generation_provider.rb
Instance Method Summary collapse
- #configuration(name_or_provider, **options) ⇒ Object
- #configure_provider(config) ⇒ Object
- #generation_provider ⇒ Object
- #generation_provider=(name_or_provider) ⇒ Object
- #generation_provider_name ⇒ Object
Instance Method Details
#configuration(name_or_provider, **options) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/active_agent/generation_provider.rb', line 15 def configuration(name_or_provider, **) config = ActiveAgent.config[name_or_provider.to_s] || ActiveAgent.config.dig(ENV["RAILS_ENV"], name_or_provider.to_s) || {} config = { "service" => "OpenAI" } if config.empty? && name_or_provider == :openai config.merge!() raise "Failed to load provider #{name_or_provider}: configuration not found for provider" if config["service"].nil? configure_provider(config) rescue LoadError => e raise RuntimeError, "Failed to load provider #{name_or_provider}: #{e.}" end |
#configure_provider(config) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/active_agent/generation_provider.rb', line 25 def configure_provider(config) service_name = config["service"] require "active_agent/generation_provider/#{service_name.underscore}_provider" ActiveAgent::GenerationProvider.const_get("#{service_name.camelize}Provider").new(config) end |
#generation_provider ⇒ Object
32 33 34 35 |
# File 'lib/active_agent/generation_provider.rb', line 32 def generation_provider self.generation_provider = :openai if _generation_provider.nil? _generation_provider end |
#generation_provider=(name_or_provider) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/active_agent/generation_provider.rb', line 42 def generation_provider=(name_or_provider) case name_or_provider when Symbol, String provider = configuration(name_or_provider) assign_provider(name_or_provider.to_s, provider) when OpenAI::Client name = :openai assign_provider(name, name_or_provider) else raise ArgumentError end end |
#generation_provider_name ⇒ Object
37 38 39 40 |
# File 'lib/active_agent/generation_provider.rb', line 37 def generation_provider_name self.generation_provider = :openai if _generation_provider_name.nil? _generation_provider_name end |