Class: NerRuby::Models::Api
Constant Summary collapse
- PROVIDERS =
{ openai: { url: "https://api.openai.com/v1/chat/completions", model: "gpt-4o" }, huggingface: { url: "https://api-inference.huggingface.co/models/", model: "dslim/bert-base-NER" } }.freeze
Instance Method Summary collapse
-
#initialize(provider: :openai, api_key: nil, model: nil) ⇒ Api
constructor
A new instance of Api.
- #recognize(text, labels: nil) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(provider: :openai, api_key: nil, model: nil) ⇒ Api
Returns a new instance of Api.
21 22 23 24 25 26 27 |
# File 'lib/ner_ruby/models/api.rb', line 21 def initialize(provider: :openai, api_key: nil, model: nil) @provider = provider @api_key = api_key || ENV["#{provider.to_s.upcase}_API_KEY"] @model = model || PROVIDERS.dig(provider, :model) raise Error, "API key is required for #{provider}" unless @api_key end |
Instance Method Details
#recognize(text, labels: nil) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/ner_ruby/models/api.rb', line 29 def recognize(text, labels: nil) return [] if text.nil? || text.strip.empty? case @provider when :openai then recognize_openai(text, labels: labels) when :huggingface then recognize_huggingface(text) else raise Error, "Unknown provider: #{@provider}" end end |