27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/ace/llm/molecules/preset_loader.rb', line 27
def load_for_provider(provider, preset_name)
normalized_provider = normalize_provider_name(provider)
normalized_preset_name = normalize_preset_name(preset_name)
global_preset = resolve_preset(normalized_preset_name)
provider_preset = resolve_preset("#{normalized_provider}/#{normalized_preset_name}")
if global_preset.empty? && provider_preset.empty?
raise ConfigurationError,
"Preset '#{normalized_preset_name}' not found for provider '#{normalized_provider}'. " \
"Define .ace/llm/presets/#{normalized_preset_name}.yml or " \
".ace/llm/presets/#{normalized_provider}/#{normalized_preset_name}.yml"
end
Ace::Support::Config::Models::Config.wrap(
global_preset,
provider_preset,
source: "llm_preset_overlay"
)
rescue ConfigurationError
raise
rescue => e
raise ConfigurationError,
"Failed to load preset '#{normalized_preset_name}' for provider '#{normalized_provider}': #{e.message}"
end
|