Module: RailsAIPromptable::Providers
- Defined in:
- lib/rails_ai_promptable/providers.rb,
lib/rails_ai_promptable/providers/base_provider.rb,
lib/rails_ai_promptable/providers/cohere_provider.rb,
lib/rails_ai_promptable/providers/gemini_provider.rb,
lib/rails_ai_promptable/providers/openai_provider.rb,
lib/rails_ai_promptable/providers/mistral_provider.rb,
lib/rails_ai_promptable/providers/anthropic_provider.rb,
lib/rails_ai_promptable/providers/openrouter_provider.rb,
lib/rails_ai_promptable/providers/azure_openai_provider.rb
Defined Under Namespace
Classes: AnthropicProvider, AzureOpenAIProvider, BaseProvider, CohereProvider, GeminiProvider, MistralProvider, OpenAIProvider, OpenRouterProvider
Class Method Summary collapse
-
.available_providers ⇒ Object
Helper method to list all available providers.
- .for(provider_sym, configuration) ⇒ Object
Class Method Details
.available_providers ⇒ Object
Helper method to list all available providers
37 38 39 |
# File 'lib/rails_ai_promptable/providers.rb', line 37 def self.available_providers %i[openai anthropic gemini cohere azure_openai mistral openrouter] end |
.for(provider_sym, configuration) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rails_ai_promptable/providers.rb', line 14 def self.for(provider_sym, configuration) case provider_sym.to_sym when :openai OpenAIProvider.new(configuration) when :anthropic, :claude AnthropicProvider.new(configuration) when :gemini, :google GeminiProvider.new(configuration) when :cohere CohereProvider.new(configuration) when :azure_openai, :azure AzureOpenAIProvider.new(configuration) when :mistral MistralProvider.new(configuration) when :openrouter OpenRouterProvider.new(configuration) else raise ArgumentError, "Unknown provider: #{provider_sym}. Supported providers: :openai, :anthropic, :gemini, :cohere, :azure_openai, :mistral, :openrouter" end end |