Module: ActiveAgent::Provider

Defined in:
lib/active_agent/provider.rb,
lib/active_agent/providers/gemini.rb,
lib/active_agent/providers/openai.rb,
lib/active_agent/providers/anthropic.rb

Defined Under Namespace

Classes: Anthropic, Base, Gemini, OpenAI

Class Method Summary collapse

Class Method Details

.for(provider_name, model) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/active_agent/provider.rb', line 74

def self.for(provider_name, model)
  case provider_name.to_sym
  when :gemini
    require_relative "providers/gemini"
    Gemini.new(api_key: ActiveAgent.configuration.gemini_api_key, model: model)
  when :openai
    require_relative "providers/openai"
    OpenAI.new(api_key: ActiveAgent.configuration.openai_api_key, model: model)
  when :anthropic
    require_relative "providers/anthropic"
    Anthropic.new(api_key: ActiveAgent.configuration.anthropic_api_key, model: model)
  else
    raise ArgumentError, "Unknown provider: #{provider_name}"
  end
end