Class: Ace::LLM::Molecules::ThinkingLevelLoader
- Inherits:
-
Object
- Object
- Ace::LLM::Molecules::ThinkingLevelLoader
- Defined in:
- lib/ace/llm/molecules/thinking_level_loader.rb
Overview
Loads provider-scoped thinking-level overrides from llm/thinking/*.yml.
Constant Summary collapse
- ALLOWED_LEVELS =
%w[low medium high xhigh].freeze
Class Method Summary collapse
Class Method Details
.load_for_provider(provider, level) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ace/llm/molecules/thinking_level_loader.rb', line 14 def load_for_provider(provider, level) normalized_provider = normalize_provider_name(provider) normalized_level = normalize_level(level) thinking_hash = resolve_level("#{normalized_provider}/#{normalized_level}") if thinking_hash.nil? || thinking_hash.empty? raise ConfigurationError, "Thinking level '#{normalized_level}' not found for provider '#{normalized_provider}'. " \ "Define .ace/llm/thinking/#{normalized_provider}/#{normalized_level}.yml" end thinking_hash rescue ConfigurationError raise rescue => e raise ConfigurationError, "Failed to load thinking level '#{normalized_level}' for provider '#{normalized_provider}': #{e.}" end |