Module: Legion::LLM::Config

Extended by:
Legion::Logging::Helper
Defined in:
lib/legion/llm/config.rb

Class Method Summary collapse

Class Method Details

.auto_configure_defaultsObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/legion/llm/config.rb', line 28

def auto_configure_defaults
  log.debug '[llm][config] auto_configure_defaults.enter'
  Legion::LLM.settings[:providers].each do |provider, config|
    next unless config&.dig(:enabled)

    model = config[:default_model]
    next unless model

    Legion::LLM.settings[:default_model] = model
    Legion::LLM.settings[:default_provider] = provider
    log.info "[llm][config] auto-configured default model=#{model} provider=#{provider}"
    break
  end
  log.debug '[llm][config] auto_configure_defaults.exit'
end

.set_defaultsObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/legion/llm/config.rb', line 12

def set_defaults
  log.debug '[llm][config] set_defaults.enter'
  default_model = Legion::LLM.settings[:default_model]
  default_provider = Legion::LLM.settings[:default_provider]

  RubyLLM.configure do |c|
    c.default_model = default_model if default_model
  end

  if default_model.nil? && default_provider.nil?
    log.debug '[llm][config] set_defaults auto_configure_defaults'
    auto_configure_defaults
  end
  log.debug "[llm][config] set_defaults.exit default_model=#{Legion::LLM.settings[:default_model]} default_provider=#{Legion::LLM.settings[:default_provider]}"
end