Class: Layered::Assistant::Models::CreateService
- Inherits:
-
Object
- Object
- Layered::Assistant::Models::CreateService
- Defined in:
- app/services/layered/assistant/models/create_service.rb
Constant Summary collapse
- MODELS_URL =
"https://raw.githubusercontent.com/layered-ai-public/layered-assistant-rails/main/data/models.json".freeze
- LOCAL_MODELS_PATH =
Layered::Assistant::Engine.root.join("data", "models.json").freeze
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(provider) ⇒ CreateService
constructor
A new instance of CreateService.
Constructor Details
#initialize(provider) ⇒ CreateService
Returns a new instance of CreateService.
11 12 13 |
# File 'app/services/layered/assistant/models/create_service.rb', line 11 def initialize(provider) @provider = provider end |
Instance Method Details
#call ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/services/layered/assistant/models/create_service.rb', line 15 def call models_data = Rails.env.development? ? load_local_models : fetch_models return if models_data.nil? entries = models_data[@provider.name] if entries.nil? Rails.logger.info "[layered-ui-assistant] No models found for provider #{@provider.name.inspect} in remote catalogue" return end entries.each do |entry| @provider.models.find_or_create_by!(identifier: entry["identifier"]) do |model| model.name = entry["name"] end end end |