Class: RubyLLM::Aliases

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/aliases.rb

Overview

Manages model aliases for provider-specific versions

Class Method Summary collapse

Class Method Details

.aliasesObject



19
20
21
# File 'lib/ruby_llm/aliases.rb', line 19

def aliases
  @aliases ||= load_aliases
end

.aliases_fileObject



23
24
25
# File 'lib/ruby_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/ruby_llm/aliases.rb', line 27

def load_aliases
  if File.exist?(aliases_file)
    JSON.parse(File.read(aliases_file))
  else
    {}
  end
end

.reload!Object

Replaces the cached alias map from aliases.json.



36
37
38
# File 'lib/ruby_llm/aliases.rb', line 36

def reload!
  @aliases = load_aliases
end

.resolve(model_id, provider = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/ruby_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