Module: Observ::PromptsHelper
- Defined in:
- app/helpers/observ/prompts_helper.rb
Instance Method Summary collapse
-
#chat_model_options_grouped ⇒ Object
Returns model options grouped by provider for use with grouped_collection_select or manually building optgroups.
-
#config_value(prompt, key, default = nil) ⇒ Object
Extract config value with fallback.
Instance Method Details
#chat_model_options_grouped ⇒ Object
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 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.}" [] 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 |