module RubyLLM::Provider
def self.included(base)
def self.included(base) base.include(InstanceMethods) end
def for(model)
def for(model) model_info = Models.find(model) provider_class = providers[model_info.provider.to_sym] or raise Error, "No provider registered for #{model_info.provider}" provider_class.new end
def providers
def providers @providers ||= {} end
def register(name, provider_class)
def register(name, provider_class) providers[name.to_sym] = provider_class end