Class: Ticuna::Providers::OpenAI

Inherits:
BaseProvider show all
Defined in:
lib/ticuna/providers/openai.rb

Instance Attribute Summary

Attributes inherited from BaseProvider

#api_key, #base_url, #connection

Instance Method Summary collapse

Constructor Details

#initialize(api_key:) ⇒ OpenAI

Returns a new instance of OpenAI.



8
9
10
11
12
# File 'lib/ticuna/providers/openai.rb', line 8

def initialize(api_key:)
  super(api_key: api_key, base_url: "https://api.openai.com/v1/")
  @response = String.new
  @raw_response = String.new
end

Instance Method Details

#ask(message, stream: false, model: "gpt-4.1-nano", output_format: :text, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/ticuna/providers/openai.rb', line 14

def ask(message, stream: false, model: "gpt-4.1-nano", output_format: :text, &block)
  send_request_to(
    messages: [{ role: "user", content: message }],
    stream:,
    model:,
    output_format:,
    &block
  )
end

#ask_with_messages(messages, stream: false, model: "gpt-4.1-nano", output_format: :text, &block) ⇒ Object



24
25
26
# File 'lib/ticuna/providers/openai.rb', line 24

def ask_with_messages(messages, stream: false, model: "gpt-4.1-nano", output_format: :text, &block)
  send_request_to(messages:, stream:, model:, output_format:, &block)
end