Module: LangExtract::Factory

Defined in:
lib/langextract/factory.rb

Constant Summary collapse

ROUTER_MUTEX =
Mutex.new

Class Method Summary collapse

Class Method Details

.create_model(config = ModelConfig.new) ⇒ Object



51
52
53
# File 'lib/langextract/factory.rb', line 51

def create_model(config = ModelConfig.new)
  router.create(config)
end

.default_routerObject



63
64
65
66
67
# File 'lib/langextract/factory.rb', line 63

def default_router
  Providers::Router.new.tap do |router|
    router.register("ruby_llm", Providers::RubyLLMProvider)
  end
end

.reset_router!Object



59
60
61
# File 'lib/langextract/factory.rb', line 59

def reset_router!
  ROUTER_MUTEX.synchronize { @router = default_router }
end

.routerObject



55
56
57
# File 'lib/langextract/factory.rb', line 55

def router
  ROUTER_MUTEX.synchronize { @router ||= default_router }
end