Module: Prescient

Defined in:
lib/prescient.rb,
lib/prescient.rb,
lib/prescient/client.rb,
lib/prescient/version.rb

Defined Under Namespace

Modules: Provider Classes: AuthenticationError, Base, Client, Configuration, ConnectionError, Error, InvalidResponseError, ModelNotAvailableError, RateLimitError

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.client(provider_name = nil) ⇒ Object

Convenience methods for quick access



92
93
94
# File 'lib/prescient/client.rb', line 92

def self.client(provider_name = nil)
  Client.new(provider_name)
end

.configurationObject



31
32
33
# File 'lib/prescient.rb', line 31

def self.configuration
  @_configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Configure the gem

Yields:



27
28
29
# File 'lib/prescient.rb', line 27

def self.configure
  yield(configuration)
end

.generate_embedding(text, provider: nil, **options) ⇒ Object



96
97
98
# File 'lib/prescient/client.rb', line 96

def self.generate_embedding(text, provider: nil, **options)
  client(provider).generate_embedding(text, **options)
end

.generate_response(prompt, context_items = [], provider: nil, **options) ⇒ Object



100
101
102
# File 'lib/prescient/client.rb', line 100

def self.generate_response(prompt, context_items = [], provider: nil, **options)
  client(provider).generate_response(prompt, context_items, **options)
end

.health_check(provider: nil) ⇒ Object



104
105
106
# File 'lib/prescient/client.rb', line 104

def self.health_check(provider: nil)
  client(provider).health_check
end

.reset_configuration!Object



35
36
37
# File 'lib/prescient.rb', line 35

def self.reset_configuration!
  @_configuration = Configuration.new
end