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
@@ -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::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText]
462
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>]
463
463
  required :content,
464
464
  union: -> { OpenAI::Models::Evals::RunListResponse::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::RunListResponse::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::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunListResponse::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::RunListResponse::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::RunListResponse::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::RunListResponse::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::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText }
512
512
 
513
+ # An image input to the model.
514
+ variant -> { OpenAI::Models::Evals::RunListResponse::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::RunListResponse::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::RunListResponse::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::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText)]
579
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunListResponse::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
@@ -461,9 +461,9 @@ module OpenAI
461
461
 
462
462
  class EvalItem < OpenAI::Internal::Type::BaseModel
463
463
  # @!attribute content
464
- # Text inputs to the model - can contain template strings.
464
+ # Inputs to the model - can contain template strings.
465
465
  #
466
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText]
466
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>]
467
467
  required :content,
468
468
  union: -> { OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content }
469
469
 
@@ -493,13 +493,13 @@ module OpenAI
493
493
  # `assistant` role are presumed to have been generated by the model in previous
494
494
  # interactions.
495
495
  #
496
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText] Text inputs to the model - can contain template strings.
496
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
497
497
  #
498
498
  # @param role [Symbol, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role] The role of the message input. One of `user`, `assistant`, `system`, or
499
499
  #
500
500
  # @param type [Symbol, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type] The type of the message input. Always `message`.
501
501
 
502
- # Text inputs to the model - can contain template strings.
502
+ # Inputs to the model - can contain template strings.
503
503
  #
504
504
  # @see OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem#content
505
505
  module Content
@@ -514,6 +514,12 @@ module OpenAI
514
514
  # A text output from the model.
515
515
  variant -> { OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText }
516
516
 
517
+ # An image input to the model.
518
+ variant -> { OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage }
519
+
520
+ # A list of inputs, each of which may be either an input text or input image object.
521
+ variant -> { OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::AnArrayOfInputTextAndInputImageArray }
522
+
517
523
  class OutputText < OpenAI::Internal::Type::BaseModel
518
524
  # @!attribute text
519
525
  # The text output from the model.
@@ -539,8 +545,45 @@ module OpenAI
539
545
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
540
546
  end
541
547
 
548
+ class InputImage < OpenAI::Internal::Type::BaseModel
549
+ # @!attribute image_url
550
+ # The URL of the image input.
551
+ #
552
+ # @return [String]
553
+ required :image_url, String
554
+
555
+ # @!attribute type
556
+ # The type of the image input. Always `input_image`.
557
+ #
558
+ # @return [Symbol, :input_image]
559
+ required :type, const: :input_image
560
+
561
+ # @!attribute detail
562
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
563
+ # `auto`. Defaults to `auto`.
564
+ #
565
+ # @return [String, nil]
566
+ optional :detail, String
567
+
568
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
569
+ # Some parameter documentations has been truncated, see
570
+ # {OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage}
571
+ # for more details.
572
+ #
573
+ # An image input to the model.
574
+ #
575
+ # @param image_url [String] The URL of the image input.
576
+ #
577
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
578
+ #
579
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
580
+ end
581
+
542
582
  # @!method self.variants
543
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText)]
583
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText, OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage, Array<Object>)]
584
+
585
+ # @type [OpenAI::Internal::Type::Converter]
586
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
544
587
  end
545
588
 
546
589
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -57,9 +57,9 @@ module OpenAI
57
57
 
58
58
  class Input < OpenAI::Internal::Type::BaseModel
59
59
  # @!attribute content
60
- # Text inputs to the model - can contain template strings.
60
+ # Inputs to the model - can contain template strings.
61
61
  #
62
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText]
62
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::InputImage, Array<Object>]
63
63
  required :content, union: -> { OpenAI::Graders::LabelModelGrader::Input::Content }
64
64
 
65
65
  # @!attribute role
@@ -85,13 +85,13 @@ module OpenAI
85
85
  # `assistant` role are presumed to have been generated by the model in previous
86
86
  # interactions.
87
87
  #
88
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText] Text inputs to the model - can contain template strings.
88
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
89
89
  #
90
90
  # @param role [Symbol, OpenAI::Models::Graders::LabelModelGrader::Input::Role] The role of the message input. One of `user`, `assistant`, `system`, or
91
91
  #
92
92
  # @param type [Symbol, OpenAI::Models::Graders::LabelModelGrader::Input::Type] The type of the message input. Always `message`.
93
93
 
94
- # Text inputs to the model - can contain template strings.
94
+ # Inputs to the model - can contain template strings.
95
95
  #
96
96
  # @see OpenAI::Models::Graders::LabelModelGrader::Input#content
97
97
  module Content
@@ -106,6 +106,12 @@ module OpenAI
106
106
  # A text output from the model.
107
107
  variant -> { OpenAI::Graders::LabelModelGrader::Input::Content::OutputText }
108
108
 
109
+ # An image input to the model.
110
+ variant -> { OpenAI::Graders::LabelModelGrader::Input::Content::InputImage }
111
+
112
+ # A list of inputs, each of which may be either an input text or input image object.
113
+ variant -> { OpenAI::Models::Graders::LabelModelGrader::Input::Content::AnArrayOfInputTextAndInputImageArray }
114
+
109
115
  class OutputText < OpenAI::Internal::Type::BaseModel
110
116
  # @!attribute text
111
117
  # The text output from the model.
@@ -131,8 +137,45 @@ module OpenAI
131
137
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
132
138
  end
133
139
 
140
+ class InputImage < OpenAI::Internal::Type::BaseModel
141
+ # @!attribute image_url
142
+ # The URL of the image input.
143
+ #
144
+ # @return [String]
145
+ required :image_url, String
146
+
147
+ # @!attribute type
148
+ # The type of the image input. Always `input_image`.
149
+ #
150
+ # @return [Symbol, :input_image]
151
+ required :type, const: :input_image
152
+
153
+ # @!attribute detail
154
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
155
+ # `auto`. Defaults to `auto`.
156
+ #
157
+ # @return [String, nil]
158
+ optional :detail, String
159
+
160
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
161
+ # Some parameter documentations has been truncated, see
162
+ # {OpenAI::Models::Graders::LabelModelGrader::Input::Content::InputImage} for more
163
+ # details.
164
+ #
165
+ # An image input to the model.
166
+ #
167
+ # @param image_url [String] The URL of the image input.
168
+ #
169
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
170
+ #
171
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
172
+ end
173
+
134
174
  # @!method self.variants
135
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText)]
175
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::LabelModelGrader::Input::Content::InputImage, Array<Object>)]
176
+
177
+ # @type [OpenAI::Internal::Type::Converter]
178
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
136
179
  end
137
180
 
138
181
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -57,9 +57,9 @@ module OpenAI
57
57
 
58
58
  class Input < OpenAI::Internal::Type::BaseModel
59
59
  # @!attribute content
60
- # Text inputs to the model - can contain template strings.
60
+ # Inputs to the model - can contain template strings.
61
61
  #
62
- # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText]
62
+ # @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>]
63
63
  required :content, union: -> { OpenAI::Graders::ScoreModelGrader::Input::Content }
64
64
 
65
65
  # @!attribute role
@@ -85,13 +85,13 @@ module OpenAI
85
85
  # `assistant` role are presumed to have been generated by the model in previous
86
86
  # interactions.
87
87
  #
88
- # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText] Text inputs to the model - can contain template strings.
88
+ # @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
89
89
  #
90
90
  # @param role [Symbol, OpenAI::Models::Graders::ScoreModelGrader::Input::Role] The role of the message input. One of `user`, `assistant`, `system`, or
91
91
  #
92
92
  # @param type [Symbol, OpenAI::Models::Graders::ScoreModelGrader::Input::Type] The type of the message input. Always `message`.
93
93
 
94
- # Text inputs to the model - can contain template strings.
94
+ # Inputs to the model - can contain template strings.
95
95
  #
96
96
  # @see OpenAI::Models::Graders::ScoreModelGrader::Input#content
97
97
  module Content
@@ -106,6 +106,12 @@ module OpenAI
106
106
  # A text output from the model.
107
107
  variant -> { OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText }
108
108
 
109
+ # An image input to the model.
110
+ variant -> { OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage }
111
+
112
+ # A list of inputs, each of which may be either an input text or input image object.
113
+ variant -> { OpenAI::Models::Graders::ScoreModelGrader::Input::Content::AnArrayOfInputTextAndInputImageArray }
114
+
109
115
  class OutputText < OpenAI::Internal::Type::BaseModel
110
116
  # @!attribute text
111
117
  # The text output from the model.
@@ -131,8 +137,45 @@ module OpenAI
131
137
  # @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
132
138
  end
133
139
 
140
+ class InputImage < OpenAI::Internal::Type::BaseModel
141
+ # @!attribute image_url
142
+ # The URL of the image input.
143
+ #
144
+ # @return [String]
145
+ required :image_url, String
146
+
147
+ # @!attribute type
148
+ # The type of the image input. Always `input_image`.
149
+ #
150
+ # @return [Symbol, :input_image]
151
+ required :type, const: :input_image
152
+
153
+ # @!attribute detail
154
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
155
+ # `auto`. Defaults to `auto`.
156
+ #
157
+ # @return [String, nil]
158
+ optional :detail, String
159
+
160
+ # @!method initialize(image_url:, detail: nil, type: :input_image)
161
+ # Some parameter documentations has been truncated, see
162
+ # {OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage} for more
163
+ # details.
164
+ #
165
+ # An image input to the model.
166
+ #
167
+ # @param image_url [String] The URL of the image input.
168
+ #
169
+ # @param detail [String] The detail level of the image to be sent to the model. One of `high`, `low`, or
170
+ #
171
+ # @param type [Symbol, :input_image] The type of the image input. Always `input_image`.
172
+ end
173
+
134
174
  # @!method self.variants
135
- # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText)]
175
+ # @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>)]
176
+
177
+ # @type [OpenAI::Internal::Type::Converter]
178
+ AnArrayOfInputTextAndInputImageArray = OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
136
179
  end
137
180
 
138
181
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.13.0"
4
+ VERSION = "0.13.1"
5
5
  end
@@ -7,8 +7,12 @@ module OpenAI
7
7
 
8
8
  # To customize the JSON schema conversion for a type, implement the `JsonSchemaConverter` interface.
9
9
  module JsonSchemaConverter
10
+ # @api private
10
11
  POINTER = T.let(Object.new.freeze, T.anything)
12
+ # @api private
11
13
  COUNTER = T.let(Object.new.freeze, T.anything)
14
+ # @api private
15
+ NO_REF = T.let(Object.new.freeze, T.anything)
12
16
 
13
17
  Input =
14
18
  T.type_alias do
@@ -474,13 +474,15 @@ module OpenAI
474
474
  )
475
475
  end
476
476
 
477
- # Text inputs to the model - can contain template strings.
477
+ # Inputs to the model - can contain template strings.
478
478
  sig do
479
479
  returns(
480
480
  T.any(
481
481
  String,
482
482
  OpenAI::Responses::ResponseInputText,
483
- OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
483
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
484
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
485
+ T::Array[T.anything]
484
486
  )
485
487
  )
486
488
  end
@@ -524,7 +526,9 @@ module OpenAI
524
526
  T.any(
525
527
  String,
526
528
  OpenAI::Responses::ResponseInputText::OrHash,
527
- OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText::OrHash
529
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText::OrHash,
530
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage::OrHash,
531
+ T::Array[T.anything]
528
532
  ),
529
533
  role:
530
534
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role::OrSymbol,
@@ -533,7 +537,7 @@ module OpenAI
533
537
  ).returns(T.attached_class)
534
538
  end
535
539
  def self.new(
536
- # Text inputs to the model - can contain template strings.
540
+ # Inputs to the model - can contain template strings.
537
541
  content:,
538
542
  # The role of the message input. One of `user`, `assistant`, `system`, or
539
543
  # `developer`.
@@ -550,7 +554,9 @@ module OpenAI
550
554
  T.any(
551
555
  String,
552
556
  OpenAI::Responses::ResponseInputText,
553
- OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
557
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
558
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
559
+ T::Array[T.anything]
554
560
  ),
555
561
  role:
556
562
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role::OrSymbol,
@@ -562,7 +568,7 @@ module OpenAI
562
568
  def to_hash
563
569
  end
564
570
 
565
- # Text inputs to the model - can contain template strings.
571
+ # Inputs to the model - can contain template strings.
566
572
  module Content
567
573
  extend OpenAI::Internal::Type::Union
568
574
 
@@ -571,7 +577,9 @@ module OpenAI
571
577
  T.any(
572
578
  String,
573
579
  OpenAI::Responses::ResponseInputText,
574
- OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
580
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
581
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
582
+ T::Array[T.anything]
575
583
  )
576
584
  end
577
585
 
@@ -609,6 +617,59 @@ module OpenAI
609
617
  end
610
618
  end
611
619
 
620
+ class InputImage < OpenAI::Internal::Type::BaseModel
621
+ OrHash =
622
+ T.type_alias do
623
+ T.any(
624
+ OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
625
+ OpenAI::Internal::AnyHash
626
+ )
627
+ end
628
+
629
+ # The URL of the image input.
630
+ sig { returns(String) }
631
+ attr_accessor :image_url
632
+
633
+ # The type of the image input. Always `input_image`.
634
+ sig { returns(Symbol) }
635
+ attr_accessor :type
636
+
637
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
638
+ # `auto`. Defaults to `auto`.
639
+ sig { returns(T.nilable(String)) }
640
+ attr_reader :detail
641
+
642
+ sig { params(detail: String).void }
643
+ attr_writer :detail
644
+
645
+ # An image input to the model.
646
+ sig do
647
+ params(
648
+ image_url: String,
649
+ detail: String,
650
+ type: Symbol
651
+ ).returns(T.attached_class)
652
+ end
653
+ def self.new(
654
+ # The URL of the image input.
655
+ image_url:,
656
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
657
+ # `auto`. Defaults to `auto`.
658
+ detail: nil,
659
+ # The type of the image input. Always `input_image`.
660
+ type: :input_image
661
+ )
662
+ end
663
+
664
+ sig do
665
+ override.returns(
666
+ { image_url: String, type: Symbol, detail: String }
667
+ )
668
+ end
669
+ def to_hash
670
+ end
671
+ end
672
+
612
673
  sig do
613
674
  override.returns(
614
675
  T::Array[
@@ -618,6 +679,14 @@ module OpenAI
618
679
  end
619
680
  def self.variants
620
681
  end
682
+
683
+ AnArrayOfInputTextAndInputImageArray =
684
+ T.let(
685
+ OpenAI::Internal::Type::ArrayOf[
686
+ OpenAI::Internal::Type::Unknown
687
+ ],
688
+ OpenAI::Internal::Type::Converter
689
+ )
621
690
  end
622
691
 
623
692
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -515,13 +515,15 @@ module OpenAI
515
515
  )
516
516
  end
517
517
 
518
- # Text inputs to the model - can contain template strings.
518
+ # Inputs to the model - can contain template strings.
519
519
  sig do
520
520
  returns(
521
521
  T.any(
522
522
  String,
523
523
  OpenAI::Responses::ResponseInputText,
524
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText
524
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
525
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
526
+ T::Array[T.anything]
525
527
  )
526
528
  )
527
529
  end
@@ -565,7 +567,9 @@ module OpenAI
565
567
  T.any(
566
568
  String,
567
569
  OpenAI::Responses::ResponseInputText::OrHash,
568
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText::OrHash
570
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText::OrHash,
571
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage::OrHash,
572
+ T::Array[T.anything]
569
573
  ),
570
574
  role:
571
575
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::OrSymbol,
@@ -574,7 +578,7 @@ module OpenAI
574
578
  ).returns(T.attached_class)
575
579
  end
576
580
  def self.new(
577
- # Text inputs to the model - can contain template strings.
581
+ # Inputs to the model - can contain template strings.
578
582
  content:,
579
583
  # The role of the message input. One of `user`, `assistant`, `system`, or
580
584
  # `developer`.
@@ -591,7 +595,9 @@ module OpenAI
591
595
  T.any(
592
596
  String,
593
597
  OpenAI::Responses::ResponseInputText,
594
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText
598
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
599
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
600
+ T::Array[T.anything]
595
601
  ),
596
602
  role:
597
603
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Role::OrSymbol,
@@ -603,7 +609,7 @@ module OpenAI
603
609
  def to_hash
604
610
  end
605
611
 
606
- # Text inputs to the model - can contain template strings.
612
+ # Inputs to the model - can contain template strings.
607
613
  module Content
608
614
  extend OpenAI::Internal::Type::Union
609
615
 
@@ -612,7 +618,9 @@ module OpenAI
612
618
  T.any(
613
619
  String,
614
620
  OpenAI::Responses::ResponseInputText,
615
- OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText
621
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::OutputText,
622
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
623
+ T::Array[T.anything]
616
624
  )
617
625
  end
618
626
 
@@ -652,6 +660,59 @@ module OpenAI
652
660
  end
653
661
  end
654
662
 
663
+ class InputImage < OpenAI::Internal::Type::BaseModel
664
+ OrHash =
665
+ T.type_alias do
666
+ T.any(
667
+ OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::Content::InputImage,
668
+ OpenAI::Internal::AnyHash
669
+ )
670
+ end
671
+
672
+ # The URL of the image input.
673
+ sig { returns(String) }
674
+ attr_accessor :image_url
675
+
676
+ # The type of the image input. Always `input_image`.
677
+ sig { returns(Symbol) }
678
+ attr_accessor :type
679
+
680
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
681
+ # `auto`. Defaults to `auto`.
682
+ sig { returns(T.nilable(String)) }
683
+ attr_reader :detail
684
+
685
+ sig { params(detail: String).void }
686
+ attr_writer :detail
687
+
688
+ # An image input to the model.
689
+ sig do
690
+ params(
691
+ image_url: String,
692
+ detail: String,
693
+ type: Symbol
694
+ ).returns(T.attached_class)
695
+ end
696
+ def self.new(
697
+ # The URL of the image input.
698
+ image_url:,
699
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
700
+ # `auto`. Defaults to `auto`.
701
+ detail: nil,
702
+ # The type of the image input. Always `input_image`.
703
+ type: :input_image
704
+ )
705
+ end
706
+
707
+ sig do
708
+ override.returns(
709
+ { image_url: String, type: Symbol, detail: String }
710
+ )
711
+ end
712
+ def to_hash
713
+ end
714
+ end
715
+
655
716
  sig do
656
717
  override.returns(
657
718
  T::Array[
@@ -661,6 +722,14 @@ module OpenAI
661
722
  end
662
723
  def self.variants
663
724
  end
725
+
726
+ AnArrayOfInputTextAndInputImageArray =
727
+ T.let(
728
+ OpenAI::Internal::Type::ArrayOf[
729
+ OpenAI::Internal::Type::Unknown
730
+ ],
731
+ OpenAI::Internal::Type::Converter
732
+ )
664
733
  end
665
734
 
666
735
  # The role of the message input. One of `user`, `assistant`, `system`, or