class ActiveGenie::Config::LlmConfig

def initialize

def initialize
  set_defaults
end

def merge(config_params = {})

def merge(config_params = {})
  dup.tap do |config|
    config_params.each do |key, value|
      config.send("#{key}=", value) if config.respond_to?("#{key}=")
    end
  end
end

def provider_name=(provider_name)

def provider_name=(provider_name)
  return if provider_name.nil? || provider_name.empty?
  @provider_name = provider_name.to_s.downcase.strip.to_sym
end

def set_defaults

def set_defaults
  @model = @recommended_model = @provider_name = @provider = nil
  @max_retries = @retry_delay = @read_timeout = @open_timeout = nil
  @temperature = 0
  @max_tokens = 4096
  @model_tier = 'lower_tier'
  @max_fibers = 10
end