openai 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/eval_create_params.rb +12 -13
  5. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +12 -13
  6. data/lib/openai/models/evals/run_cancel_response.rb +12 -13
  7. data/lib/openai/models/evals/run_create_params.rb +12 -13
  8. data/lib/openai/models/evals/run_create_response.rb +12 -13
  9. data/lib/openai/models/evals/run_list_response.rb +12 -13
  10. data/lib/openai/models/evals/run_retrieve_response.rb +12 -13
  11. data/lib/openai/models/graders/grader_inputs.rb +93 -0
  12. data/lib/openai/models/graders/label_model_grader.rb +12 -13
  13. data/lib/openai/models/graders/score_model_grader.rb +12 -13
  14. data/lib/openai/models/video_model.rb +3 -0
  15. data/lib/openai/version.rb +1 -1
  16. data/lib/openai.rb +1 -0
  17. data/rbi/openai/models/eval_create_params.rbi +35 -16
  18. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +35 -16
  19. data/rbi/openai/models/evals/run_cancel_response.rbi +17 -14
  20. data/rbi/openai/models/evals/run_create_params.rbi +35 -16
  21. data/rbi/openai/models/evals/run_create_response.rbi +17 -14
  22. data/rbi/openai/models/evals/run_list_response.rbi +17 -14
  23. data/rbi/openai/models/evals/run_retrieve_response.rbi +17 -14
  24. data/rbi/openai/models/graders/grader_inputs.rbi +123 -0
  25. data/rbi/openai/models/graders/label_model_grader.rbi +35 -16
  26. data/rbi/openai/models/graders/score_model_grader.rbi +35 -16
  27. data/rbi/openai/models/video_model.rbi +6 -0
  28. data/sig/openai/models/eval_create_params.rbs +1 -3
  29. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +1 -3
  30. data/sig/openai/models/evals/run_cancel_response.rbs +1 -3
  31. data/sig/openai/models/evals/run_create_params.rbs +1 -3
  32. data/sig/openai/models/evals/run_create_response.rbs +1 -3
  33. data/sig/openai/models/evals/run_list_response.rbs +1 -3
  34. data/sig/openai/models/evals/run_retrieve_response.rbs +1 -3
  35. data/sig/openai/models/graders/grader_inputs.rbs +61 -0
  36. data/sig/openai/models/graders/label_model_grader.rbs +1 -3
  37. data/sig/openai/models/graders/score_model_grader.rbs +1 -3
  38. data/sig/openai/models/video_model.rbs +9 -1
  39. metadata +5 -2
@@ -102,7 +102,8 @@ module OpenAI
102
102
  )
103
103
  end
104
104
 
105
- # Inputs to the model - can contain template strings.
105
+ # Inputs to the model - can contain template strings. Supports text, output text,
106
+ # input images, and input audio, either as a single item or an array of items.
106
107
  sig do
107
108
  returns(
108
109
  T.any(
@@ -111,7 +112,15 @@ module OpenAI
111
112
  OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText,
112
113
  OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage,
113
114
  OpenAI::Responses::ResponseInputAudio,
114
- T::Array[T.anything]
115
+ T::Array[
116
+ T.any(
117
+ String,
118
+ OpenAI::Responses::ResponseInputText,
119
+ OpenAI::Graders::GraderInputItem::OutputText,
120
+ OpenAI::Graders::GraderInputItem::InputImage,
121
+ OpenAI::Responses::ResponseInputAudio
122
+ )
123
+ ]
115
124
  )
116
125
  )
117
126
  end
@@ -155,14 +164,23 @@ module OpenAI
155
164
  OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText::OrHash,
156
165
  OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage::OrHash,
157
166
  OpenAI::Responses::ResponseInputAudio::OrHash,
158
- T::Array[T.anything]
167
+ T::Array[
168
+ T.any(
169
+ String,
170
+ OpenAI::Responses::ResponseInputText::OrHash,
171
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
172
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
173
+ OpenAI::Responses::ResponseInputAudio::OrHash
174
+ )
175
+ ]
159
176
  ),
160
177
  role: OpenAI::Graders::ScoreModelGrader::Input::Role::OrSymbol,
161
178
  type: OpenAI::Graders::ScoreModelGrader::Input::Type::OrSymbol
162
179
  ).returns(T.attached_class)
163
180
  end
164
181
  def self.new(
165
- # Inputs to the model - can contain template strings.
182
+ # Inputs to the model - can contain template strings. Supports text, output text,
183
+ # input images, and input audio, either as a single item or an array of items.
166
184
  content:,
167
185
  # The role of the message input. One of `user`, `assistant`, `system`, or
168
186
  # `developer`.
@@ -182,7 +200,15 @@ module OpenAI
182
200
  OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText,
183
201
  OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage,
184
202
  OpenAI::Responses::ResponseInputAudio,
185
- T::Array[T.anything]
203
+ T::Array[
204
+ T.any(
205
+ String,
206
+ OpenAI::Responses::ResponseInputText,
207
+ OpenAI::Graders::GraderInputItem::OutputText,
208
+ OpenAI::Graders::GraderInputItem::InputImage,
209
+ OpenAI::Responses::ResponseInputAudio
210
+ )
211
+ ]
186
212
  ),
187
213
  role: OpenAI::Graders::ScoreModelGrader::Input::Role::OrSymbol,
188
214
  type: OpenAI::Graders::ScoreModelGrader::Input::Type::OrSymbol
@@ -192,7 +218,8 @@ module OpenAI
192
218
  def to_hash
193
219
  end
194
220
 
195
- # Inputs to the model - can contain template strings.
221
+ # Inputs to the model - can contain template strings. Supports text, output text,
222
+ # input images, and input audio, either as a single item or an array of items.
196
223
  module Content
197
224
  extend OpenAI::Internal::Type::Union
198
225
 
@@ -204,7 +231,7 @@ module OpenAI
204
231
  OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText,
205
232
  OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage,
206
233
  OpenAI::Responses::ResponseInputAudio,
207
- T::Array[T.anything]
234
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
208
235
  )
209
236
  end
210
237
 
@@ -267,7 +294,7 @@ module OpenAI
267
294
  sig { params(detail: String).void }
268
295
  attr_writer :detail
269
296
 
270
- # An image input to the model.
297
+ # An image input block used within EvalItem content arrays.
271
298
  sig do
272
299
  params(image_url: String, detail: String, type: Symbol).returns(
273
300
  T.attached_class
@@ -302,14 +329,6 @@ module OpenAI
302
329
  end
303
330
  def self.variants
304
331
  end
305
-
306
- AnArrayOfInputTextInputImageAndInputAudioArray =
307
- T.let(
308
- OpenAI::Internal::Type::ArrayOf[
309
- OpenAI::Internal::Type::Unknown
310
- ],
311
- OpenAI::Internal::Type::Converter
312
- )
313
332
  end
314
333
 
315
334
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -10,6 +10,12 @@ module OpenAI
10
10
 
11
11
  SORA_2 = T.let(:"sora-2", OpenAI::VideoModel::TaggedSymbol)
12
12
  SORA_2_PRO = T.let(:"sora-2-pro", OpenAI::VideoModel::TaggedSymbol)
13
+ SORA_2_2025_10_06 =
14
+ T.let(:"sora-2-2025-10-06", OpenAI::VideoModel::TaggedSymbol)
15
+ SORA_2_PRO_2025_10_06 =
16
+ T.let(:"sora-2-pro-2025-10-06", OpenAI::VideoModel::TaggedSymbol)
17
+ SORA_2_2025_12_08 =
18
+ T.let(:"sora-2-2025-12-08", OpenAI::VideoModel::TaggedSymbol)
13
19
 
14
20
  sig { override.returns(T::Array[OpenAI::VideoModel::TaggedSymbol]) }
15
21
  def self.values
@@ -220,7 +220,7 @@ module OpenAI
220
220
  | OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
221
221
  | OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage
222
222
  | OpenAI::Responses::ResponseInputAudio
223
- | ::Array[top]
223
+ | OpenAI::Models::Graders::grader_inputs
224
224
 
225
225
  module Content
226
226
  extend OpenAI::Internal::Type::Union
@@ -263,8 +263,6 @@ module OpenAI
263
263
  end
264
264
 
265
265
  def self?.variants: -> ::Array[OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::content]
266
-
267
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
268
266
  end
269
267
 
270
268
  type role = :user | :assistant | :system | :developer
@@ -236,7 +236,7 @@ module OpenAI
236
236
  | OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText
237
237
  | OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage
238
238
  | OpenAI::Responses::ResponseInputAudio
239
- | ::Array[top]
239
+ | OpenAI::Models::Graders::grader_inputs
240
240
 
241
241
  module Content
242
242
  extend OpenAI::Internal::Type::Union
@@ -279,8 +279,6 @@ module OpenAI
279
279
  end
280
280
 
281
281
  def self?.variants: -> ::Array[OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::content]
282
-
283
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
284
282
  end
285
283
 
286
284
  type role = :user | :assistant | :system | :developer
@@ -352,7 +352,7 @@ module OpenAI
352
352
  | OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
354
  | OpenAI::Responses::ResponseInputAudio
355
- | ::Array[top]
355
+ | OpenAI::Models::Graders::grader_inputs
356
356
 
357
357
  module Content
358
358
  extend OpenAI::Internal::Type::Union
@@ -402,8 +402,6 @@ module OpenAI
402
402
  end
403
403
 
404
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
405
-
406
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
407
405
  end
408
406
 
409
407
  type role = :user | :assistant | :system | :developer
@@ -315,7 +315,7 @@ module OpenAI
315
315
  | OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText
316
316
  | OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage
317
317
  | OpenAI::Responses::ResponseInputAudio
318
- | ::Array[top]
318
+ | OpenAI::Models::Graders::grader_inputs
319
319
 
320
320
  module Content
321
321
  extend OpenAI::Internal::Type::Union
@@ -365,8 +365,6 @@ module OpenAI
365
365
  end
366
366
 
367
367
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::content]
368
-
369
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
370
368
  end
371
369
 
372
370
  type role = :user | :assistant | :system | :developer
@@ -352,7 +352,7 @@ module OpenAI
352
352
  | OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
354
  | OpenAI::Responses::ResponseInputAudio
355
- | ::Array[top]
355
+ | OpenAI::Models::Graders::grader_inputs
356
356
 
357
357
  module Content
358
358
  extend OpenAI::Internal::Type::Union
@@ -402,8 +402,6 @@ module OpenAI
402
402
  end
403
403
 
404
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
405
-
406
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
407
405
  end
408
406
 
409
407
  type role = :user | :assistant | :system | :developer
@@ -352,7 +352,7 @@ module OpenAI
352
352
  | OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
354
  | OpenAI::Responses::ResponseInputAudio
355
- | ::Array[top]
355
+ | OpenAI::Models::Graders::grader_inputs
356
356
 
357
357
  module Content
358
358
  extend OpenAI::Internal::Type::Union
@@ -402,8 +402,6 @@ module OpenAI
402
402
  end
403
403
 
404
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
405
-
406
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
407
405
  end
408
406
 
409
407
  type role = :user | :assistant | :system | :developer
@@ -352,7 +352,7 @@ module OpenAI
352
352
  | OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
354
  | OpenAI::Responses::ResponseInputAudio
355
- | ::Array[top]
355
+ | OpenAI::Models::Graders::grader_inputs
356
356
 
357
357
  module Content
358
358
  extend OpenAI::Internal::Type::Union
@@ -402,8 +402,6 @@ module OpenAI
402
402
  end
403
403
 
404
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
405
-
406
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
407
405
  end
408
406
 
409
407
  type role = :user | :assistant | :system | :developer
@@ -0,0 +1,61 @@
1
+ module OpenAI
2
+ module Models
3
+ GraderInputs: OpenAI::Internal::Type::Converter
4
+
5
+ module Graders
6
+ type grader_input_item =
7
+ String
8
+ | OpenAI::Responses::ResponseInputText
9
+ | OpenAI::Graders::GraderInputItem::OutputText
10
+ | OpenAI::Graders::GraderInputItem::InputImage
11
+ | OpenAI::Responses::ResponseInputAudio
12
+
13
+ module GraderInputItem
14
+ extend OpenAI::Internal::Type::Union
15
+
16
+ type output_text = { text: String, type: :output_text }
17
+
18
+ class OutputText < OpenAI::Internal::Type::BaseModel
19
+ attr_accessor text: String
20
+
21
+ attr_accessor type: :output_text
22
+
23
+ def initialize: (text: String, ?type: :output_text) -> void
24
+
25
+ def to_hash: -> { text: String, type: :output_text }
26
+ end
27
+
28
+ type input_image =
29
+ { image_url: String, type: :input_image, detail: String }
30
+
31
+ class InputImage < OpenAI::Internal::Type::BaseModel
32
+ attr_accessor image_url: String
33
+
34
+ attr_accessor type: :input_image
35
+
36
+ attr_reader detail: String?
37
+
38
+ def detail=: (String) -> String
39
+
40
+ def initialize: (
41
+ image_url: String,
42
+ ?detail: String,
43
+ ?type: :input_image
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ image_url: String,
48
+ type: :input_image,
49
+ detail: String
50
+ }
51
+ end
52
+
53
+ def self?.variants: -> ::Array[OpenAI::Models::Graders::grader_input_item]
54
+ end
55
+
56
+ type grader_inputs = ::Array[OpenAI::Models::Graders::grader_input_item]
57
+
58
+ GraderInputs: OpenAI::Internal::Type::Converter
59
+ end
60
+ end
61
+ end
@@ -80,7 +80,7 @@ module OpenAI
80
80
  | OpenAI::Graders::LabelModelGrader::Input::Content::OutputText
81
81
  | OpenAI::Graders::LabelModelGrader::Input::Content::InputImage
82
82
  | OpenAI::Responses::ResponseInputAudio
83
- | ::Array[top]
83
+ | OpenAI::Models::Graders::grader_inputs
84
84
 
85
85
  module Content
86
86
  extend OpenAI::Internal::Type::Union
@@ -123,8 +123,6 @@ module OpenAI
123
123
  end
124
124
 
125
125
  def self?.variants: -> ::Array[OpenAI::Models::Graders::LabelModelGrader::Input::content]
126
-
127
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
128
126
  end
129
127
 
130
128
  type role = :user | :assistant | :system | :developer
@@ -86,7 +86,7 @@ module OpenAI
86
86
  | OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText
87
87
  | OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage
88
88
  | OpenAI::Responses::ResponseInputAudio
89
- | ::Array[top]
89
+ | OpenAI::Models::Graders::grader_inputs
90
90
 
91
91
  module Content
92
92
  extend OpenAI::Internal::Type::Union
@@ -129,8 +129,6 @@ module OpenAI
129
129
  end
130
130
 
131
131
  def self?.variants: -> ::Array[OpenAI::Models::Graders::ScoreModelGrader::Input::content]
132
-
133
- AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
134
132
  end
135
133
 
136
134
  type role = :user | :assistant | :system | :developer
@@ -1,12 +1,20 @@
1
1
  module OpenAI
2
2
  module Models
3
- type video_model = :"sora-2" | :"sora-2-pro"
3
+ type video_model =
4
+ :"sora-2"
5
+ | :"sora-2-pro"
6
+ | :"sora-2-2025-10-06"
7
+ | :"sora-2-pro-2025-10-06"
8
+ | :"sora-2-2025-12-08"
4
9
 
5
10
  module VideoModel
6
11
  extend OpenAI::Internal::Type::Enum
7
12
 
8
13
  SORA_2: :"sora-2"
9
14
  SORA_2_PRO: :"sora-2-pro"
15
+ SORA_2_2025_10_06: :"sora-2-2025-10-06"
16
+ SORA_2_PRO_2025_10_06: :"sora-2-pro-2025-10-06"
17
+ SORA_2_2025_12_08: :"sora-2-2025-12-08"
10
18
 
11
19
  def self?.values: -> ::Array[OpenAI::Models::video_model]
12
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.39.0
4
+ version: 0.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-11 00:00:00.000000000 Z
11
+ date: 2025-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -399,6 +399,7 @@ files:
399
399
  - lib/openai/models/fine_tuning/supervised_method.rb
400
400
  - lib/openai/models/function_definition.rb
401
401
  - lib/openai/models/function_parameters.rb
402
+ - lib/openai/models/graders/grader_inputs.rb
402
403
  - lib/openai/models/graders/label_model_grader.rb
403
404
  - lib/openai/models/graders/multi_grader.rb
404
405
  - lib/openai/models/graders/python_grader.rb
@@ -1146,6 +1147,7 @@ files:
1146
1147
  - rbi/openai/models/fine_tuning/supervised_method.rbi
1147
1148
  - rbi/openai/models/function_definition.rbi
1148
1149
  - rbi/openai/models/function_parameters.rbi
1150
+ - rbi/openai/models/graders/grader_inputs.rbi
1149
1151
  - rbi/openai/models/graders/label_model_grader.rbi
1150
1152
  - rbi/openai/models/graders/multi_grader.rbi
1151
1153
  - rbi/openai/models/graders/python_grader.rbi
@@ -1883,6 +1885,7 @@ files:
1883
1885
  - sig/openai/models/fine_tuning/supervised_method.rbs
1884
1886
  - sig/openai/models/function_definition.rbs
1885
1887
  - sig/openai/models/function_parameters.rbs
1888
+ - sig/openai/models/graders/grader_inputs.rbs
1886
1889
  - sig/openai/models/graders/label_model_grader.rbs
1887
1890
  - sig/openai/models/graders/multi_grader.rbs
1888
1891
  - sig/openai/models/graders/python_grader.rbs