Class: AISpec::Core::Providers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/aispec/core/providers/base.rb

Direct Known Subclasses

Anthropic, Mock, Ollama, OpenAI, OpenRouter, VLLM

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model: nil, **options) ⇒ Base

Returns a new instance of Base.



24
25
26
27
# File 'lib/aispec/core/providers/base.rb', line 24

def initialize(model: nil, **options)
  @model = model
  @options = options
end

Class Attribute Details

.registryObject (readonly)

Returns the value of attribute registry.



10
11
12
# File 'lib/aispec/core/providers/base.rb', line 10

def registry
  @registry
end

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



22
23
24
# File 'lib/aispec/core/providers/base.rb', line 22

def model
  @model
end

#optionsObject (readonly)

Returns the value of attribute options.



22
23
24
# File 'lib/aispec/core/providers/base.rb', line 22

def options
  @options
end

Class Method Details

.get(name) ⇒ Object



16
17
18
19
# File 'lib/aispec/core/providers/base.rb', line 16

def get(name)
  key = name.to_s.downcase
  @registry[key] || Mock
end

.register(name, provider_class) ⇒ Object



12
13
14
# File 'lib/aispec/core/providers/base.rb', line 12

def register(name, provider_class)
  @registry[name.to_s.downcase] = provider_class
end

Instance Method Details

#generate(prompt, **params) ⇒ Object

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/aispec/core/providers/base.rb', line 29

def generate(prompt, **params)
  raise NotImplementedError, "#{self.class.name} must implement #generate"
end