Module: Observ::PromptsHelper

Defined in:
app/helpers/observ/prompts_helper.rb

Instance Method Summary collapse

Instance Method Details

#chat_model_options_groupedObject

Returns model options grouped by provider for use with grouped_collection_select or manually building optgroups



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/helpers/observ/prompts_helper.rb', line 7

def chat_model_options_grouped
  return [] unless defined?(RubyLLM) && RubyLLM.respond_to?(:models)

  RubyLLM.models.chat_models
    .group_by(&:provider)
    .sort_by { |provider, _| provider }
    .map do |provider, models|
      [
        provider.titleize,
        models.sort_by(&:display_name).map { |m| [m.display_name, m.id] }
      ]
    end
rescue StandardError => e
  Rails.logger.warn "[Observ] Failed to load RubyLLM models: #{e.message}"
  []
end

#config_value(prompt, key, default = nil) ⇒ Object

Extract config value with fallback



25
26
27
28
29
30
# File 'app/helpers/observ/prompts_helper.rb', line 25

def config_value(prompt, key, default = nil)
  config = prompt_config_hash(prompt)
  return default unless config.is_a?(Hash)

  config[key.to_s] || config[key.to_sym] || default
end