Class: Ultrasafeai::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/ultrasafeai/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_key:, base_url: nil, environment: Ultrasafeai::Environment::DEFAULT, max_retries: 2) ⇒ void

Parameters:

  • api_key (String)
  • base_url (String, nil) (defaults to: nil)
  • environment (Hash[Symbol, String], nil) (defaults to: Ultrasafeai::Environment::DEFAULT)
  • max_retries (Integer) (defaults to: 2)


11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ultrasafeai/client.rb', line 11

def initialize(api_key:, base_url: nil, environment: Ultrasafeai::Environment::DEFAULT, max_retries: 2)
  @base_url = base_url
  @environment = environment

  @raw_client = Ultrasafeai::Internal::Http::RawClient.new(
    base_url: base_url || environment&.dig(:base),
    headers: {
      "X-Fern-Language" => "Ruby",
      "X-API-KEY" => api_key.to_s
    },
    max_retries: max_retries
  )
end

Instance Method Details

#adminUltrasafeai::Admin::Client



116
117
118
# File 'lib/ultrasafeai/client.rb', line 116

def admin
  @admin ||= Ultrasafeai::Admin::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#assistantsUltrasafeai::Assistants::Client



86
87
88
# File 'lib/ultrasafeai/client.rb', line 86

def assistants
  @assistants ||= Ultrasafeai::Assistants::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#audioUltrasafeai::Audio::Client



51
52
53
# File 'lib/ultrasafeai/client.rb', line 51

def audio
  @audio ||= Ultrasafeai::Audio::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#batchesUltrasafeai::Batches::Client



76
77
78
# File 'lib/ultrasafeai/client.rb', line 76

def batches
  @batches ||= Ultrasafeai::Batches::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#chatUltrasafeai::Chat::Client



26
27
28
# File 'lib/ultrasafeai/client.rb', line 26

def chat
  @chat ||= Ultrasafeai::Chat::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#completionsUltrasafeai::Completions::Client



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

def completions
  @completions ||= Ultrasafeai::Completions::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#containersUltrasafeai::Containers::Client



106
107
108
# File 'lib/ultrasafeai/client.rb', line 106

def containers
  @containers ||= Ultrasafeai::Containers::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#embeddingsUltrasafeai::Embeddings::Client



36
37
38
# File 'lib/ultrasafeai/client.rb', line 36

def embeddings
  @embeddings ||= Ultrasafeai::Embeddings::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#evalsUltrasafeai::Evals::Client



101
102
103
# File 'lib/ultrasafeai/client.rb', line 101

def evals
  @evals ||= Ultrasafeai::Evals::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#filesUltrasafeai::Files::Client



41
42
43
# File 'lib/ultrasafeai/client.rb', line 41

def files
  @files ||= Ultrasafeai::Files::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#fine_tuningUltrasafeai::FineTuning::Client



66
67
68
# File 'lib/ultrasafeai/client.rb', line 66

def fine_tuning
  @fine_tuning ||= Ultrasafeai::FineTuning::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#imagesUltrasafeai::Images::Client



46
47
48
# File 'lib/ultrasafeai/client.rb', line 46

def images
  @images ||= Ultrasafeai::Images::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#modelsUltrasafeai::Models::Client



61
62
63
# File 'lib/ultrasafeai/client.rb', line 61

def models
  @models ||= Ultrasafeai::Models::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#moderationsUltrasafeai::Moderations::Client



56
57
58
# File 'lib/ultrasafeai/client.rb', line 56

def moderations
  @moderations ||= Ultrasafeai::Moderations::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#ocrUltrasafeai::Ocr::Client



136
137
138
# File 'lib/ultrasafeai/client.rb', line 136

def ocr
  @ocr ||= Ultrasafeai::Ocr::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#parserUltrasafeai::Parser::Client



131
132
133
# File 'lib/ultrasafeai/client.rb', line 131

def parser
  @parser ||= Ultrasafeai::Parser::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#realtimeUltrasafeai::Realtime::Client



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

def realtime
  @realtime ||= Ultrasafeai::Realtime::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#rerankUltrasafeai::Rerank::Client



121
122
123
# File 'lib/ultrasafeai/client.rb', line 121

def rerank
  @rerank ||= Ultrasafeai::Rerank::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#skillsUltrasafeai::Skills::Client



111
112
113
# File 'lib/ultrasafeai/client.rb', line 111

def skills
  @skills ||= Ultrasafeai::Skills::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#threadsUltrasafeai::Threads::Client



91
92
93
# File 'lib/ultrasafeai/client.rb', line 91

def threads
  @threads ||= Ultrasafeai::Threads::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#ultraparserUltrasafeai::Ultraparser::Client



141
142
143
# File 'lib/ultrasafeai/client.rb', line 141

def ultraparser
  @ultraparser ||= Ultrasafeai::Ultraparser::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#uploadsUltrasafeai::Uploads::Client



81
82
83
# File 'lib/ultrasafeai/client.rb', line 81

def uploads
  @uploads ||= Ultrasafeai::Uploads::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#vector_storesUltrasafeai::VectorStores::Client



71
72
73
# File 'lib/ultrasafeai/client.rb', line 71

def vector_stores
  @vector_stores ||= Ultrasafeai::VectorStores::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end

#videosUltrasafeai::Videos::Client



126
127
128
# File 'lib/ultrasafeai/client.rb', line 126

def videos
  @videos ||= Ultrasafeai::Videos::Client.new(client: @raw_client, base_url: @base_url, environment: @environment)
end