Module: Ask::LLM::Aliases
- Defined in:
- lib/ask/llm/aliases.rb
Overview
Resolves model name aliases to canonical model IDs.
Aliases are defined in aliases.json and allow users to refer to models by shorter or more familiar names. Resolution is provider-scoped — you can alias "claude-sonnet-4" to different canonical IDs depending on which provider serves it.
Ask::LLM::Aliases.resolve("claude-sonnet-4")
# => "claude-sonnet-4-6"
Aliases are loaded lazily from the bundled JSON file.
Constant Summary collapse
- ALIASES_PATH =
File.("aliases.json", __dir__)
Class Method Summary collapse
-
.all ⇒ Object
All registered aliases (for introspection).
-
.register(short_name, canonical_id) ⇒ Object
Register a custom alias at runtime.
-
.reload! ⇒ Object
Reload aliases from the bundled JSON file.
-
.resolve(name) ⇒ Object
Resolve an alias to a canonical model ID.
Class Method Details
.all ⇒ Object
All registered aliases (for introspection).
42 43 44 45 |
# File 'lib/ask/llm/aliases.rb', line 42 def all load_aliases unless @aliases @aliases.dup end |
.register(short_name, canonical_id) ⇒ Object
Register a custom alias at runtime.
30 31 32 33 |
# File 'lib/ask/llm/aliases.rb', line 30 def register(short_name, canonical_id) load_aliases unless @aliases @aliases[short_name.to_s] = canonical_id.to_s end |
.reload! ⇒ Object
Reload aliases from the bundled JSON file.
36 37 38 39 |
# File 'lib/ask/llm/aliases.rb', line 36 def reload! @aliases = nil load_aliases end |
.resolve(name) ⇒ Object
Resolve an alias to a canonical model ID. Returns the input name unchanged if no alias is registered.
24 25 26 27 |
# File 'lib/ask/llm/aliases.rb', line 24 def resolve(name) load_aliases unless @aliases @aliases[name.to_s] || name.to_s end |