Class: Legion::Extensions::Llm::Aliases

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/extensions/llm/aliases.rb

Overview

Manages model aliases for provider-specific versions

Class Method Summary collapse

Class Method Details

.aliasesObject



19
20
21
# File 'lib/legion/extensions/llm/aliases.rb', line 19

def aliases
  @aliases ||= load_aliases
end

.aliases_fileObject



23
24
25
# File 'lib/legion/extensions/llm/aliases.rb', line 23

def aliases_file
  File.expand_path('aliases.json', __dir__)
end

.load_aliasesObject



27
28
29
30
31
32
33
# File 'lib/legion/extensions/llm/aliases.rb', line 27

def load_aliases
  if File.exist?(aliases_file)
    Legion::JSON.parse(File.read(aliases_file), symbolize_names: false)
  else
    {}
  end
end

.reload!Object



35
36
37
# File 'lib/legion/extensions/llm/aliases.rb', line 35

def reload!
  @aliases = load_aliases
end

.resolve(model_id, provider = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/legion/extensions/llm/aliases.rb', line 9

def resolve(model_id, provider = nil)
  return model_id unless aliases[model_id]

  if provider
    aliases[model_id][provider.to_s] || model_id
  else
    aliases[model_id].values.first || model_id
  end
end