Module: RainbowLLM

Defined in:
lib/rainbow_llm.rb,
lib/rainbow_llm/errors.rb,
lib/rainbow_llm/version.rb,
lib/rainbow_llm/response.rb,
lib/rainbow_llm/chat_builder.rb,
lib/rainbow_llm/configuration.rb,
lib/rainbow_llm/providers/basic_auth_openai.rb

Overview

RainbowLLM - A routing gem for multiple LLM providers with automatic failover

Defined Under Namespace

Modules: Providers Classes: AllProvidersFailedError, ChatBuilder, Configuration, ConfigurationError, Error, InvalidArgument, ModelError, ModelNotFoundError, ProviderNotFoundError, Response

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.chat(models:) ⇒ Object

Raises:



25
26
27
28
# File 'lib/rainbow_llm.rb', line 25

def self.chat(models:)
  raise InvalidArgument, "models cannot be nil or empty" if models.nil? || models.empty?
  ChatBuilder.new(models)
end

.configurationObject



13
14
15
# File 'lib/rainbow_llm.rb', line 13

def self.configuration
  @configuration ||= Configuration.new
end

.configuration=(config) ⇒ Object



17
18
19
# File 'lib/rainbow_llm.rb', line 17

def self.configuration=(config)
  @configuration = config
end

.configure {|configuration| ... } ⇒ Object

Yields:



21
22
23
# File 'lib/rainbow_llm.rb', line 21

def self.configure
  yield(configuration)
end