Method: OmniAI::OpenAI::Client#initialize

Defined in:
lib/omniai/openai/client.rb

#initialize(api_key: OmniAI::OpenAI.config.api_key, api_prefix: "", host: OmniAI::OpenAI.config.host, organization: OmniAI::OpenAI.config.organization, project: OmniAI::OpenAI.config.project, logger: OmniAI::OpenAI.config.logger, timeout: OmniAI::OpenAI.config.timeout) ⇒ Client

Returns a new instance of Client.

Parameters:

  • api_key (String, nil) (defaults to: OmniAI::OpenAI.config.api_key)

    optional - defaults to ‘OmniAI::OpenAI.config.api_key`

  • api_prefix (String, nil) (defaults to: "")

    optional - defaults to empty string

  • host (String) (defaults to: OmniAI::OpenAI.config.host)

    optional - defaults to ‘OmniAI::OpenAI.config.host`

  • project (String, nil) (defaults to: OmniAI::OpenAI.config.project)

    optional - defaults to ‘OmniAI::OpenAI.config.project`

  • organization (String, nil) (defaults to: OmniAI::OpenAI.config.organization)

    optional - defaults to ‘OmniAI::OpenAI.config.organization`

  • logger (Logger, nil) (defaults to: OmniAI::OpenAI.config.logger)

    optional - defaults to ‘OmniAI::OpenAI.config.logger`

  • timeout (Integer, nil) (defaults to: OmniAI::OpenAI.config.timeout)

    optional - defaults to ‘OmniAI::OpenAI.config.timeout`



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/omniai/openai/client.rb', line 34

def initialize(
  api_key: OmniAI::OpenAI.config.api_key,
  api_prefix: "",
  host: OmniAI::OpenAI.config.host,
  organization: OmniAI::OpenAI.config.organization,
  project: OmniAI::OpenAI.config.project,
  logger: OmniAI::OpenAI.config.logger,
  timeout: OmniAI::OpenAI.config.timeout
)
  if api_key.nil? && host.eql?(Config::DEFAULT_HOST)
    raise(
      ArgumentError,
      %(ENV['OPENAI_API_KEY'] must be defined or `api_key` must be passed when using #{Config::DEFAULT_HOST})
    )
  end

  super(api_key:, host:, logger:, timeout:)

  @organization = organization
  @project = project

  @api_prefix = api_prefix
  return if @api_prefix.empty? || @api_prefix.start_with?("/")

  @api_prefix.prepend("/")
end