Class: Raif::Admin::LlmsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/raif/admin/llms_controller.rb

Instance Method Summary collapse

Methods inherited from Raif::ApplicationController

#raif_current_user

Instance Method Details

#indexObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/raif/admin/llms_controller.rb', line 7

def index
  @llms = Raif.llm_registry.map do |_key, config|
    llm_class = config[:llm_class]
    llm_class.new(**config.except(:llm_class))
  end

  @llms.sort_by!(&:name)

  @provider_names = @llms.map { |llm| llm.class.name.demodulize }.uniq.sort
  @llm_names = @llms.map(&:name).sort

  @selected_providers = Array(params[:providers]).reject(&:blank?)
  @selected_names = Array(params[:names]).reject(&:blank?)

  @llms = @llms.select { |llm| @selected_providers.include?(llm.class.name.demodulize) } if @selected_providers.present?
  @llms = @llms.select { |llm| @selected_names.include?(llm.name) } if @selected_names.present?
end