Module: Prescient
- Defined in:
- lib/prescient.rb,
lib/prescient/client.rb,
lib/prescient/errors.rb,
lib/prescient/version.rb
Overview
Main Prescient module for AI provider abstraction
Prescient provides a unified interface for working with multiple AI providers including Ollama, OpenAI, Anthropic, and Hugging Face. It supports both embedding generation and text completion with configurable context handling.
Defined Under Namespace
Modules: Pgvector, Provider Classes: AuthenticationError, Base, Client, Configuration, ConnectionError, Error, InvalidResponseError, InvalidVectorError, ModelNotAvailableError, ProviderError, RateLimitError
Constant Summary collapse
- VERSION =
Current Prescient gem version.
'0.3.0'
Class Method Summary collapse
-
.client(provider_name = nil, enable_fallback: true) ⇒ Client
Convenience methods for quick access.
-
.configuration ⇒ Configuration
Get the current configuration instance.
-
.configure {|config| ... } ⇒ void
Configure Prescient with custom settings and providers.
-
.generate_embedding(text, provider: nil, enable_fallback: true, **options) ⇒ Array<Float>
Generate an embedding through a configured provider.
-
.generate_response(prompt, context_items = [], provider: nil, enable_fallback: true, **options) ⇒ Hash
Generate a response through a configured provider.
-
.health_check(provider: nil) ⇒ Hash
Return the health status of a configured provider.
-
.reset_configuration! ⇒ Configuration
Reset configuration to defaults.
Class Method Details
.client(provider_name = nil, enable_fallback: true) ⇒ Client
Convenience methods for quick access
212 213 214 |
# File 'lib/prescient/client.rb', line 212 def self.client(provider_name = nil, enable_fallback: true) Client.new(provider_name, enable_fallback: enable_fallback) end |
.configuration ⇒ Configuration
Get the current configuration instance
52 53 54 |
# File 'lib/prescient.rb', line 52 def self.configuration @_configuration ||= Configuration.new end |
.configure {|config| ... } ⇒ void
This method returns an undefined value.
Configure Prescient with custom settings and providers
45 46 47 |
# File 'lib/prescient.rb', line 45 def self.configure yield(configuration) end |
.generate_embedding(text, provider: nil, enable_fallback: true, **options) ⇒ Array<Float>
Generate an embedding through a configured provider.
222 223 224 |
# File 'lib/prescient/client.rb', line 222 def self.(text, provider: nil, enable_fallback: true, **) client(provider, enable_fallback: enable_fallback).(text, **) end |
.generate_response(prompt, context_items = [], provider: nil, enable_fallback: true, **options) ⇒ Hash
Generate a response through a configured provider.
234 235 236 |
# File 'lib/prescient/client.rb', line 234 def self.generate_response(prompt, context_items = [], provider: nil, enable_fallback: true, **) client(provider, enable_fallback: enable_fallback).generate_response(prompt, context_items, **) end |
.health_check(provider: nil) ⇒ Hash
Return the health status of a configured provider.
242 243 244 |
# File 'lib/prescient/client.rb', line 242 def self.health_check(provider: nil) client(provider, enable_fallback: false).health_check end |
.reset_configuration! ⇒ Configuration
Reset configuration to defaults
59 60 61 |
# File 'lib/prescient.rb', line 59 def self.reset_configuration! @_configuration = Configuration.new end |