openai 0.13.0 → 0.13.1

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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/openai/helpers/structured_output/json_schema_converter.rb +34 -10
  5. data/lib/openai/models/eval_create_params.rb +50 -5
  6. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +50 -5
  7. data/lib/openai/models/evals/run_cancel_response.rb +48 -5
  8. data/lib/openai/models/evals/run_create_params.rb +50 -5
  9. data/lib/openai/models/evals/run_create_response.rb +48 -5
  10. data/lib/openai/models/evals/run_list_response.rb +48 -5
  11. data/lib/openai/models/evals/run_retrieve_response.rb +48 -5
  12. data/lib/openai/models/graders/label_model_grader.rb +48 -5
  13. data/lib/openai/models/graders/score_model_grader.rb +48 -5
  14. data/lib/openai/version.rb +1 -1
  15. data/rbi/openai/helpers/structured_output/json_schema_converter.rbi +4 -0
  16. data/rbi/openai/models/eval_create_params.rbi +76 -7
  17. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +76 -7
  18. data/rbi/openai/models/evals/run_cancel_response.rbi +70 -5
  19. data/rbi/openai/models/evals/run_create_params.rbi +76 -7
  20. data/rbi/openai/models/evals/run_create_response.rbi +70 -5
  21. data/rbi/openai/models/evals/run_list_response.rbi +70 -5
  22. data/rbi/openai/models/evals/run_retrieve_response.rbi +70 -5
  23. data/rbi/openai/models/graders/label_model_grader.rbi +74 -7
  24. data/rbi/openai/models/graders/score_model_grader.rbi +74 -7
  25. data/sig/openai/models/eval_create_params.rbs +29 -0
  26. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +29 -0
  27. data/sig/openai/models/evals/run_cancel_response.rbs +33 -0
  28. data/sig/openai/models/evals/run_create_params.rbs +33 -0
  29. data/sig/openai/models/evals/run_create_response.rbs +33 -0
  30. data/sig/openai/models/evals/run_list_response.rbs +33 -0
  31. data/sig/openai/models/evals/run_retrieve_response.rbs +33 -0
  32. data/sig/openai/models/graders/label_model_grader.rbs +29 -0
  33. data/sig/openai/models/graders/score_model_grader.rbs +29 -0
  34. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c46771d67ac54a96ea533d6473403bd7357164093ad318367a59a9e4f8d526c4
4
- data.tar.gz: c2c858697c822c515ebc105aeb69ecfabdfd515fdc2886ca308ffaa267c2c893
3
+ metadata.gz: a91e66a63e35f1e79017e4e2270ff4d5792d7e7def4d703afc6f12817b8ea728
4
+ data.tar.gz: 7be53dbd53923afcbf0754423182d8d8d8795458974c6a449d72178ce807377e
5
5
  SHA512:
6
- metadata.gz: efa25f9aab25791e58bd2a941953a37b54df6a01c98b0e4bbb0363f8739d7856e8e1b56804bc326315a7861ecfa5082a8b93eee7b429d9db09fe4c2b9b3455d5
7
- data.tar.gz: 51b7aab418c9864b7375f457fdcd45380a437361ec72eabad9aca55050ff9ee6ca9f213d5cc037661ae56e75ed12a53160d7819dcbfc2f549b1c82f7b4ae6daa
6
+ metadata.gz: 7dd389f0f8d5d978dbf4ac02696b97b874abcd31f1095ce5eef44cdb19282f910a6bda9941d4502be90181850bbddb6d999d88ed05def140efa762454e068999
7
+ data.tar.gz: 8e4fbbc22ceb381a8fd83e3899e7440661dc41914fa140c264b7338141e4bbb5dc9d8f4ee14d6c9e68cef995aad053b730ea0d127923201e049ef16b42c94dc8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.1 (2025-07-15)
4
+
5
+ Full Changelog: [v0.13.0...v0.13.1](https://github.com/openai/openai-ruby/compare/v0.13.0...v0.13.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * ensure openapi refs are correctly linked ([#746](https://github.com/openai/openai-ruby/issues/746)) ([ea3fccd](https://github.com/openai/openai-ruby/commit/ea3fccdc4f433e4e8a07ae6b47f8ef546b90d24b))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **api:** update realtime specs, build config ([8ccc35e](https://github.com/openai/openai-ruby/commit/8ccc35e04788eb52be853db6eafa585a9fd5140a))
15
+
3
16
  ## 0.13.0 (2025-07-10)
4
17
 
5
18
  Full Changelog: [v0.12.0...v0.13.0](https://github.com/openai/openai-ruby/compare/v0.12.0...v0.13.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.13.0"
18
+ gem "openai", "~> 0.13.1"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -5,8 +5,24 @@ module OpenAI
5
5
  module StructuredOutput
6
6
  # To customize the JSON schema conversion for a type, implement the `JsonSchemaConverter` interface.
7
7
  module JsonSchemaConverter
8
- POINTER = Object.new.freeze
9
- COUNTER = Object.new.freeze
8
+ # @api private
9
+ POINTER = Object.new.tap do
10
+ _1.define_singleton_method(:inspect) do
11
+ "#<#{OpenAI::Helpers::StructuredOutput::JsonSchemaConverter}::POINTER>"
12
+ end
13
+ end.freeze
14
+ # @api private
15
+ COUNTER = Object.new.tap do
16
+ _1.define_singleton_method(:inspect) do
17
+ "#<#{OpenAI::Helpers::StructuredOutput::JsonSchemaConverter}::COUNTER>"
18
+ end
19
+ end.freeze
20
+ # @api private
21
+ NO_REF = Object.new.tap do
22
+ _1.define_singleton_method(:inspect) do
23
+ "#<#{OpenAI::Helpers::StructuredOutput::JsonSchemaConverter}::NO_REF>"
24
+ end
25
+ end.freeze
10
26
 
11
27
  # rubocop:disable Lint/UnusedMethodArgument
12
28
 
@@ -34,7 +50,12 @@ module OpenAI
34
50
  null = "null"
35
51
  case schema
36
52
  in {"$ref": String}
37
- {anyOf: [schema, {type: null}]}
53
+ {
54
+ anyOf: [
55
+ schema.update(OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::NO_REF => true),
56
+ {type: null}
57
+ ]
58
+ }
38
59
  in {anyOf: schemas}
39
60
  null = {type: null}
40
61
  schemas.any? { _1 == null || _1 == {type: ["null"]} } ? schema : {anyOf: [*schemas, null]}
@@ -71,7 +92,7 @@ module OpenAI
71
92
  }
72
93
  defs.store(type, stored)
73
94
  schema = blk.call
74
- ref_path.replace("#/definitions/#{path.join('/')}")
95
+ ref_path.replace("#/$defs/#{path.join('/')}")
75
96
  stored.update(schema)
76
97
  ref
77
98
  end
@@ -92,17 +113,20 @@ module OpenAI
92
113
  reused_defs = {}
93
114
  defs.each_value do |acc|
94
115
  ref = acc.fetch(OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::POINTER)
116
+ if (no_ref = ref.delete(OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::NO_REF))
117
+ acc[OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::COUNTER] -= 1
118
+ end
119
+ cnt = acc.fetch(OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::COUNTER)
120
+
95
121
  sch = acc.except(
96
122
  OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::POINTER,
97
123
  OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::COUNTER
98
124
  )
99
- if acc.fetch(OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::COUNTER) > 1
100
- reused_defs.store(ref.fetch(:$ref), sch)
101
- else
102
- ref.replace(sch)
103
- end
125
+ cnt > 1 && !no_ref ? reused_defs.store(ref.fetch(:$ref), sch) : ref.replace(sch)
104
126
  end
105
- reused_defs.empty? ? schema : {"$defs": reused_defs}.update(schema)
127
+
128
+ xformed = reused_defs.transform_keys { _1.delete_prefix("#/$defs/") }
129
+ xformed.empty? ? schema : {"$defs": xformed}.update(schema)
106
130
  end
107
131
 
108
132
  # @api private
@@ -280,9 +280,9 @@ module OpenAI
280
280
 
281
281
  class EvalItem < OpenAI::Internal::Type::BaseModel
282
282
  # @!attribute content
283
- # Text inputs to the model - can contain template strings.
283
+ # Inputs to the model - can contain template strings.
284
284
  #
285
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText]
285
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage, Array<Object>]
286
286
  required :content,
287
287
  union: -> {
288
288
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content
@@ -318,13 +318,13 @@ module OpenAI
318
318
  # `assistant` role are presumed to have been generated by the model in previous
319
319
  # interactions.
320
320
  #
321
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText] Text inputs to the model - can contain template strings.
321
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
322
322
  #
323
323
  # @param role [Symbol, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role] The role of the message input. One of `user`, `assistant`, `system`, or
324
324
  #
325
325
  # @param type [Symbol, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Type] The type of the message input. Always `message`.
326
326
 
327
- # Text inputs to the model - can contain template strings.
327
+ # Inputs to the model - can contain template strings.
328
328
  #
329
329
  # @see OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem#content
330
330
  module Content
@@ -341,6 +341,14 @@ module OpenAI
341
341
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
342
342
  }
343
343
 
344
+ # An image input to the model.
345
+ variant -> {
346
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage
347
+ }
348
+
349
+ # A list of inputs, each of which may be either an input text or input image object.
350
+ variant -> { OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::AnArrayOfInputTextAndInputImageArray }
351
+
344
352
  class OutputText < OpenAI::Internal::Type::BaseModel
345
353
  # @!attribute text
346
354
  # The text output from the model.
@@ -366,8 +374,45 @@ module OpenAI
366
374
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
367
375
  end
368
376
 
377
+ class InputImage < OpenAI::Internal::Type::BaseModel
378
+ # @!attribute image_url
379
+ # The URL of the image input.
380
+ #
381
+ # @return [String]
382
+ required :image_url, String
383
+
384
+ # @!attribute type
385
+ # The type of the image input. Always `input_image`.
386
+ #
387
+ # @return [Symbol, :input_image]
388
+ required :type, const: :input_image
389
+
390
+ # @!attribute detail
391
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
392
+ # `auto`. Defaults to `auto`.
393
+ #
394
+ # @return [String, nil]
395
+ optional :detail, String
396
+
397
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
398
+ # Some parameter documentations has been truncated, see
399
+ # {OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage}
400
+ # for more details.
401
+ #
402
+ # An image input to the model.
403
+ #
404
+ # @param image_url [String] The URL of the image input.
405
+ #
406
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
407
+ #
408
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
409
+ end
410
+
369
411
  # @!method self.variants
370
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText)]
412
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText, OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage, Array<Object>)]
413
+
414
+ # @type [OpenAI::Internal::Type::Converter]
415
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
371
416
  end
372
417
 
373
418
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -277,9 +277,9 @@ module OpenAI
277
277
 
278
278
  class Message < OpenAI::Internal::Type::BaseModel
279
279
  # @!attribute content
280
- # Text inputs to the model - can contain template strings.
280
+ # Inputs to the model - can contain template strings.
281
281
  #
282
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText]
282
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage, Array<Object>]
283
283
  required :content,
284
284
  union: -> {
285
285
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content
@@ -315,13 +315,13 @@ module OpenAI
315
315
  # `assistant` role are presumed to have been generated by the model in previous
316
316
  # interactions.
317
317
  #
318
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText] Text inputs to the model - can contain template strings.
318
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
319
319
  #
320
320
  # @param role [Symbol, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role] The role of the message input. One of `user`, `assistant`, `system`, or
321
321
  #
322
322
  # @param type [Symbol, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Type] The type of the message input. Always `message`.
323
323
 
324
- # Text inputs to the model - can contain template strings.
324
+ # Inputs to the model - can contain template strings.
325
325
  #
326
326
  # @see OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message#content
327
327
  module Content
@@ -338,6 +338,14 @@ module OpenAI
338
338
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText
339
339
  }
340
340
 
341
+ # An image input to the model.
342
+ variant -> {
343
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage
344
+ }
345
+
346
+ # A list of inputs, each of which may be either an input text or input image object.
347
+ variant -> { OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::AnArrayOfInputTextAndInputImageArray }
348
+
341
349
  class OutputText < OpenAI::Internal::Type::BaseModel
342
350
  # @!attribute text
343
351
  # The text output from the model.
@@ -363,8 +371,45 @@ module OpenAI
363
371
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
364
372
  end
365
373
 
374
+ class InputImage < OpenAI::Internal::Type::BaseModel
375
+ # @!attribute image_url
376
+ # The URL of the image input.
377
+ #
378
+ # @return [String]
379
+ required :image_url, String
380
+
381
+ # @!attribute type
382
+ # The type of the image input. Always `input_image`.
383
+ #
384
+ # @return [Symbol, :input_image]
385
+ required :type, const: :input_image
386
+
387
+ # @!attribute detail
388
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
389
+ # `auto`. Defaults to `auto`.
390
+ #
391
+ # @return [String, nil]
392
+ optional :detail, String
393
+
394
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
395
+ # Some parameter documentations has been truncated, see
396
+ # {OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage}
397
+ # for more details.
398
+ #
399
+ # An image input to the model.
400
+ #
401
+ # @param image_url [String] The URL of the image input.
402
+ #
403
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
404
+ #
405
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
406
+ end
407
+
366
408
  # @!method self.variants
367
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText)]
409
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText, OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage, Array<Object>)]
410
+
411
+ # @type [OpenAI::Internal::Type::Converter]
412
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
368
413
  end
369
414
 
370
415
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -457,9 +457,9 @@ module OpenAI
457
457
 
458
458
  class EvalItem < OpenAI::Internal::Type::BaseModel
459
459
  # @!attribute content
460
- # Text inputs to the model - can contain template strings.
460
+ # Inputs to the model - can contain template strings.
461
461
  #
462
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText]
462
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>]
463
463
  required :content,
464
464
  union: -> { OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content }
465
465
 
@@ -489,13 +489,13 @@ module OpenAI
489
489
  # `assistant` role are presumed to have been generated by the model in previous
490
490
  # interactions.
491
491
  #
492
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText] Text inputs to the model - can contain template strings.
492
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
493
493
  #
494
494
  # @param role [Symbol, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role] The role of the message input. One of `user`, `assistant`, `system`, or
495
495
  #
496
496
  # @param type [Symbol, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type] The type of the message input. Always `message`.
497
497
 
498
- # Text inputs to the model - can contain template strings.
498
+ # Inputs to the model - can contain template strings.
499
499
  #
500
500
  # @see OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem#content
501
501
  module Content
@@ -510,6 +510,12 @@ module OpenAI
510
510
  # A text output from the model.
511
511
  variant -> { OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText }
512
512
 
513
+ # An image input to the model.
514
+ variant -> { OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage }
515
+
516
+ # A list of inputs, each of which may be either an input text or input image object.
517
+ variant -> { OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::AnArrayOfInputTextAndInputImageArray }
518
+
513
519
  class OutputText < OpenAI::Internal::Type::BaseModel
514
520
  # @!attribute text
515
521
  # The text output from the model.
@@ -535,8 +541,45 @@ module OpenAI
535
541
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
536
542
  end
537
543
 
544
+ class InputImage < OpenAI::Internal::Type::BaseModel
545
+ # @!attribute image_url
546
+ # The URL of the image input.
547
+ #
548
+ # @return [String]
549
+ required :image_url, String
550
+
551
+ # @!attribute type
552
+ # The type of the image input. Always `input_image`.
553
+ #
554
+ # @return [Symbol, :input_image]
555
+ required :type, const: :input_image
556
+
557
+ # @!attribute detail
558
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
559
+ # `auto`. Defaults to `auto`.
560
+ #
561
+ # @return [String, nil]
562
+ optional :detail, String
563
+
564
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
565
+ # Some parameter documentations has been truncated, see
566
+ # {OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage}
567
+ # for more details.
568
+ #
569
+ # An image input to the model.
570
+ #
571
+ # @param image_url [String] The URL of the image input.
572
+ #
573
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
574
+ #
575
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
576
+ end
577
+
538
578
  # @!method self.variants
539
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText)]
579
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>)]
580
+
581
+ # @type [OpenAI::Internal::Type::Converter]
582
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
540
583
  end
541
584
 
542
585
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -409,9 +409,9 @@ module OpenAI
409
409
 
410
410
  class EvalItem < OpenAI::Internal::Type::BaseModel
411
411
  # @!attribute content
412
- # Text inputs to the model - can contain template strings.
412
+ # Inputs to the model - can contain template strings.
413
413
  #
414
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText]
414
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>]
415
415
  required :content,
416
416
  union: -> {
417
417
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content
@@ -447,13 +447,13 @@ module OpenAI
447
447
  # `assistant` role are presumed to have been generated by the model in previous
448
448
  # interactions.
449
449
  #
450
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText] Text inputs to the model - can contain template strings.
450
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
451
451
  #
452
452
  # @param role [Symbol, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role] The role of the message input. One of `user`, `assistant`, `system`, or
453
453
  #
454
454
  # @param type [Symbol, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Type] The type of the message input. Always `message`.
455
455
 
456
- # Text inputs to the model - can contain template strings.
456
+ # Inputs to the model - can contain template strings.
457
457
  #
458
458
  # @see OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem#content
459
459
  module Content
@@ -470,6 +470,14 @@ module OpenAI
470
470
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText
471
471
  }
472
472
 
473
+ # An image input to the model.
474
+ variant -> {
475
+ OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage
476
+ }
477
+
478
+ # A list of inputs, each of which may be either an input text or input image object.
479
+ variant -> { OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::AnArrayOfInputTextAndInputImageArray }
480
+
473
481
  class OutputText < OpenAI::Internal::Type::BaseModel
474
482
  # @!attribute text
475
483
  # The text output from the model.
@@ -495,8 +503,45 @@ module OpenAI
495
503
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
496
504
  end
497
505
 
506
+ class InputImage < OpenAI::Internal::Type::BaseModel
507
+ # @!attribute image_url
508
+ # The URL of the image input.
509
+ #
510
+ # @return [String]
511
+ required :image_url, String
512
+
513
+ # @!attribute type
514
+ # The type of the image input. Always `input_image`.
515
+ #
516
+ # @return [Symbol, :input_image]
517
+ required :type, const: :input_image
518
+
519
+ # @!attribute detail
520
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
521
+ # `auto`. Defaults to `auto`.
522
+ #
523
+ # @return [String, nil]
524
+ optional :detail, String
525
+
526
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
527
+ # Some parameter documentations has been truncated, see
528
+ # {OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage}
529
+ # for more details.
530
+ #
531
+ # An image input to the model.
532
+ #
533
+ # @param image_url [String] The URL of the image input.
534
+ #
535
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
536
+ #
537
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
538
+ end
539
+
498
540
  # @!method self.variants
499
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText)]
541
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>)]
542
+
543
+ # @type [OpenAI::Internal::Type::Converter]
544
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
500
545
  end
501
546
 
502
547
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -457,9 +457,9 @@ module OpenAI
457
457
 
458
458
  class EvalItem < OpenAI::Internal::Type::BaseModel
459
459
  # @!attribute content
460
- # Text inputs to the model - can contain template strings.
460
+ # Inputs to the model - can contain template strings.
461
461
  #
462
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText]
462
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>]
463
463
  required :content,
464
464
  union: -> { OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content }
465
465
 
@@ -489,13 +489,13 @@ module OpenAI
489
489
  # `assistant` role are presumed to have been generated by the model in previous
490
490
  # interactions.
491
491
  #
492
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText] Text inputs to the model - can contain template strings.
492
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
493
493
  #
494
494
  # @param role [Symbol, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role] The role of the message input. One of `user`, `assistant`, `system`, or
495
495
  #
496
496
  # @param type [Symbol, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type] The type of the message input. Always `message`.
497
497
 
498
- # Text inputs to the model - can contain template strings.
498
+ # Inputs to the model - can contain template strings.
499
499
  #
500
500
  # @see OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem#content
501
501
  module Content
@@ -510,6 +510,12 @@ module OpenAI
510
510
  # A text output from the model.
511
511
  variant -> { OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText }
512
512
 
513
+ # An image input to the model.
514
+ variant -> { OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage }
515
+
516
+ # A list of inputs, each of which may be either an input text or input image object.
517
+ variant -> { OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::AnArrayOfInputTextAndInputImageArray }
518
+
513
519
  class OutputText < OpenAI::Internal::Type::BaseModel
514
520
  # @!attribute text
515
521
  # The text output from the model.
@@ -535,8 +541,45 @@ module OpenAI
535
541
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
536
542
  end
537
543
 
544
+ class InputImage < OpenAI::Internal::Type::BaseModel
545
+ # @!attribute image_url
546
+ # The URL of the image input.
547
+ #
548
+ # @return [String]
549
+ required :image_url, String
550
+
551
+ # @!attribute type
552
+ # The type of the image input. Always `input_image`.
553
+ #
554
+ # @return [Symbol, :input_image]
555
+ required :type, const: :input_image
556
+
557
+ # @!attribute detail
558
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
559
+ # `auto`. Defaults to `auto`.
560
+ #
561
+ # @return [String, nil]
562
+ optional :detail, String
563
+
564
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
565
+ # Some parameter documentations has been truncated, see
566
+ # {OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage}
567
+ # for more details.
568
+ #
569
+ # An image input to the model.
570
+ #
571
+ # @param image_url [String] The URL of the image input.
572
+ #
573
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
574
+ #
575
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
576
+ end
577
+
538
578
  # @!method self.variants
539
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText)]
579
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>)]
580
+
581
+ # @type [OpenAI::Internal::Type::Converter]
582
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
540
583
  end
541
584
 
542
585
  # The role of the message input. One of `user`, `assistant`, `system`, or