Class: GroqRuby::Client
- Inherits:
-
Object
- Object
- GroqRuby::Client
- Defined in:
- lib/groq_ruby/client.rb
Overview
User-facing entry point. Holds the immutable Configuration and a single Transport instance, and lazily constructs each resource on demand. Mirrors the layout of the python SDK’s ‘Groq` class:
client.chat.completions.create(...)
client.embeddings.create(...)
client.audio.transcriptions.create(...)
client.models.list
client.files.create(...)
client.batches.create(...)
Instance Attribute Summary collapse
-
#configuration ⇒ Configuration
readonly
The immutable configuration this client was built with.
Instance Method Summary collapse
-
#audio ⇒ Resources::Audio
Entry point for ‘.speech`, `.transcriptions`, `.translations`.
-
#batches ⇒ Resources::Batches
Entry point for ‘.create`, `.retrieve`, `.list`, `.cancel`.
-
#chat ⇒ Resources::Chat
Entry point for ‘client.chat.completions.create(…)`.
-
#embeddings ⇒ Resources::Embeddings
Entry point for ‘client.embeddings.create(…)`.
-
#files ⇒ Resources::Files
Entry point for ‘.create`, `.list`, `.info`, `.content`, `.delete`.
-
#initialize(api_key: nil, base_url: nil, open_timeout: nil, read_timeout: nil, user_agent: nil) ⇒ Client
constructor
A new instance of Client.
-
#models ⇒ Resources::Models
Entry point for ‘.list`, `.retrieve`, `.delete`.
Constructor Details
#initialize(api_key: nil, base_url: nil, open_timeout: nil, read_timeout: nil, user_agent: nil) ⇒ Client
Returns a new instance of Client.
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/groq_ruby/client.rb', line 28 def initialize(api_key: nil, base_url: nil, open_timeout: nil, read_timeout: nil, user_agent: nil) @configuration = Configuration.from_env( api_key: api_key, base_url: base_url, open_timeout: open_timeout, read_timeout: read_timeout, user_agent: user_agent ) @transport = Transport.new(@configuration) end |
Instance Attribute Details
#configuration ⇒ Configuration (readonly)
Returns the immutable configuration this client was built with.
20 21 22 |
# File 'lib/groq_ruby/client.rb', line 20 def configuration @configuration end |
Instance Method Details
#audio ⇒ Resources::Audio
Returns entry point for ‘.speech`, `.transcriptions`, `.translations`.
50 51 52 |
# File 'lib/groq_ruby/client.rb', line 50 def audio @audio ||= Resources::Audio.new(@transport) end |
#batches ⇒ Resources::Batches
Returns entry point for ‘.create`, `.retrieve`, `.list`, `.cancel`.
65 66 67 |
# File 'lib/groq_ruby/client.rb', line 65 def batches @batches ||= Resources::Batches.new(@transport) end |
#chat ⇒ Resources::Chat
Returns entry point for ‘client.chat.completions.create(…)`.
40 41 42 |
# File 'lib/groq_ruby/client.rb', line 40 def chat @chat ||= Resources::Chat.new(@transport) end |
#embeddings ⇒ Resources::Embeddings
Returns entry point for ‘client.embeddings.create(…)`.
45 46 47 |
# File 'lib/groq_ruby/client.rb', line 45 def @embeddings ||= Resources::Embeddings.new(@transport) end |
#files ⇒ Resources::Files
Returns entry point for ‘.create`, `.list`, `.info`, `.content`, `.delete`.
60 61 62 |
# File 'lib/groq_ruby/client.rb', line 60 def files @files ||= Resources::Files.new(@transport) end |
#models ⇒ Resources::Models
Returns entry point for ‘.list`, `.retrieve`, `.delete`.
55 56 57 |
# File 'lib/groq_ruby/client.rb', line 55 def models @models ||= Resources::Models.new(@transport) end |