Class: Legion::Extensions::Llm::Aliases
- Inherits:
-
Object
- Object
- Legion::Extensions::Llm::Aliases
- Defined in:
- lib/legion/extensions/llm/aliases.rb
Overview
Manages model aliases for provider-specific versions
Class Method Summary collapse
- .aliases ⇒ Object
- .aliases_file ⇒ Object
- .load_aliases ⇒ Object
- .reload! ⇒ Object
- .resolve(model_id, provider = nil) ⇒ Object
Class Method Details
.aliases ⇒ Object
19 20 21 |
# File 'lib/legion/extensions/llm/aliases.rb', line 19 def aliases @aliases ||= load_aliases end |
.aliases_file ⇒ Object
23 24 25 |
# File 'lib/legion/extensions/llm/aliases.rb', line 23 def aliases_file File.('aliases.json', __dir__) end |
.load_aliases ⇒ Object
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 |