Module: RubyLLM::Sequel

Defined in:
lib/ruby_llm/sequel.rb,
lib/ruby_llm/sequel/version.rb,
lib/ruby_llm/sequel/chat_methods.rb,
lib/ruby_llm/sequel/model_methods.rb,
lib/ruby_llm/sequel/message_methods.rb,
lib/ruby_llm/sequel/tool_call_methods.rb

Defined Under Namespace

Modules: ChatMethods, MessageMethods, ModelMethods, ToolCallMethods Classes: UnsupportedFeatureError

Constant Summary collapse

VERSION =
'0.1.4'

Class Method Summary collapse

Class Method Details

.use_model_registry!Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ruby_llm/sequel.rb', line 20

def use_model_registry!
  # Monkey-patch Models to use database
  RubyLLM::Models.class_eval do
    def self.load_models
      read_from_database
    rescue StandardError => e
      RubyLLM.logger.debug "Failed to load models from database: #{e.message}, falling back to JSON"
      read_from_json
    end

    def self.read_from_database
      model_class = RubyLLM.config.model_registry_class
      model_class = model_class.constantize if model_class.is_a?(String)
      model_class.all.map(&:to_llm)
    end

    def load_from_database!
      @models = self.class.read_from_database
    end
  end
end