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
@@ -715,7 +715,8 @@ module OpenAI
715
715
  )
716
716
  end
717
717
 
718
- # Inputs to the model - can contain template strings.
718
+ # Inputs to the model - can contain template strings. Supports text, output text,
719
+ # input images, and input audio, either as a single item or an array of items.
719
720
  sig do
720
721
  returns(
721
722
  T.any(
@@ -724,7 +725,15 @@ module OpenAI
724
725
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
725
726
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
726
727
  OpenAI::Responses::ResponseInputAudio,
727
- T::Array[T.anything]
728
+ T::Array[
729
+ T.any(
730
+ String,
731
+ OpenAI::Responses::ResponseInputText,
732
+ OpenAI::Graders::GraderInputItem::OutputText,
733
+ OpenAI::Graders::GraderInputItem::InputImage,
734
+ OpenAI::Responses::ResponseInputAudio
735
+ )
736
+ ]
728
737
  )
729
738
  )
730
739
  end
@@ -771,7 +780,15 @@ module OpenAI
771
780
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
772
781
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
773
782
  OpenAI::Responses::ResponseInputAudio::OrHash,
774
- T::Array[T.anything]
783
+ T::Array[
784
+ T.any(
785
+ String,
786
+ OpenAI::Responses::ResponseInputText::OrHash,
787
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
788
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
789
+ OpenAI::Responses::ResponseInputAudio::OrHash
790
+ )
791
+ ]
775
792
  ),
776
793
  role:
777
794
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -780,7 +797,8 @@ module OpenAI
780
797
  ).returns(T.attached_class)
781
798
  end
782
799
  def self.new(
783
- # Inputs to the model - can contain template strings.
800
+ # Inputs to the model - can contain template strings. Supports text, output text,
801
+ # input images, and input audio, either as a single item or an array of items.
784
802
  content:,
785
803
  # The role of the message input. One of `user`, `assistant`, `system`, or
786
804
  # `developer`.
@@ -800,7 +818,15 @@ module OpenAI
800
818
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
801
819
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
802
820
  OpenAI::Responses::ResponseInputAudio,
803
- T::Array[T.anything]
821
+ T::Array[
822
+ T.any(
823
+ String,
824
+ OpenAI::Responses::ResponseInputText,
825
+ OpenAI::Graders::GraderInputItem::OutputText,
826
+ OpenAI::Graders::GraderInputItem::InputImage,
827
+ OpenAI::Responses::ResponseInputAudio
828
+ )
829
+ ]
804
830
  ),
805
831
  role:
806
832
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -812,7 +838,8 @@ module OpenAI
812
838
  def to_hash
813
839
  end
814
840
 
815
- # Inputs to the model - can contain template strings.
841
+ # Inputs to the model - can contain template strings. Supports text, output text,
842
+ # input images, and input audio, either as a single item or an array of items.
816
843
  module Content
817
844
  extend OpenAI::Internal::Type::Union
818
845
 
@@ -824,7 +851,7 @@ module OpenAI
824
851
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
825
852
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
826
853
  OpenAI::Responses::ResponseInputAudio,
827
- T::Array[T.anything]
854
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
828
855
  )
829
856
  end
830
857
 
@@ -889,7 +916,7 @@ module OpenAI
889
916
  sig { params(detail: String).void }
890
917
  attr_writer :detail
891
918
 
892
- # An image input to the model.
919
+ # An image input block used within EvalItem content arrays.
893
920
  sig do
894
921
  params(
895
922
  image_url: String,
@@ -926,14 +953,6 @@ module OpenAI
926
953
  end
927
954
  def self.variants
928
955
  end
929
-
930
- AnArrayOfInputTextInputImageAndInputAudioArray =
931
- T.let(
932
- OpenAI::Internal::Type::ArrayOf[
933
- OpenAI::Internal::Type::Unknown
934
- ],
935
- OpenAI::Internal::Type::Converter
936
- )
937
956
  end
938
957
 
939
958
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -771,7 +771,8 @@ module OpenAI
771
771
  )
772
772
  end
773
773
 
774
- # Inputs to the model - can contain template strings.
774
+ # Inputs to the model - can contain template strings. Supports text, output text,
775
+ # input images, and input audio, either as a single item or an array of items.
775
776
  sig do
776
777
  returns(
777
778
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::Variants
@@ -820,7 +821,15 @@ module OpenAI
820
821
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
821
822
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
822
823
  OpenAI::Responses::ResponseInputAudio::OrHash,
823
- T::Array[T.anything]
824
+ T::Array[
825
+ T.any(
826
+ String,
827
+ OpenAI::Responses::ResponseInputText::OrHash,
828
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
829
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
830
+ OpenAI::Responses::ResponseInputAudio::OrHash
831
+ )
832
+ ]
824
833
  ),
825
834
  role:
826
835
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -829,7 +838,8 @@ module OpenAI
829
838
  ).returns(T.attached_class)
830
839
  end
831
840
  def self.new(
832
- # Inputs to the model - can contain template strings.
841
+ # Inputs to the model - can contain template strings. Supports text, output text,
842
+ # input images, and input audio, either as a single item or an array of items.
833
843
  content:,
834
844
  # The role of the message input. One of `user`, `assistant`, `system`, or
835
845
  # `developer`.
@@ -854,7 +864,8 @@ module OpenAI
854
864
  def to_hash
855
865
  end
856
866
 
857
- # Inputs to the model - can contain template strings.
867
+ # Inputs to the model - can contain template strings. Supports text, output text,
868
+ # input images, and input audio, either as a single item or an array of items.
858
869
  module Content
859
870
  extend OpenAI::Internal::Type::Union
860
871
 
@@ -866,7 +877,7 @@ module OpenAI
866
877
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText,
867
878
  OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage,
868
879
  OpenAI::Responses::ResponseInputAudio,
869
- T::Array[T.anything]
880
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
870
881
  )
871
882
  end
872
883
 
@@ -931,7 +942,7 @@ module OpenAI
931
942
  sig { params(detail: String).void }
932
943
  attr_writer :detail
933
944
 
934
- # An image input to the model.
945
+ # An image input block used within EvalItem content arrays.
935
946
  sig do
936
947
  params(
937
948
  image_url: String,
@@ -968,14 +979,6 @@ module OpenAI
968
979
  end
969
980
  def self.variants
970
981
  end
971
-
972
- AnArrayOfInputTextInputImageAndInputAudioArray =
973
- T.let(
974
- OpenAI::Internal::Type::ArrayOf[
975
- OpenAI::Internal::Type::Unknown
976
- ],
977
- OpenAI::Internal::Type::Converter
978
- )
979
982
  end
980
983
 
981
984
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -767,7 +767,8 @@ module OpenAI
767
767
  )
768
768
  end
769
769
 
770
- # Inputs to the model - can contain template strings.
770
+ # Inputs to the model - can contain template strings. Supports text, output text,
771
+ # input images, and input audio, either as a single item or an array of items.
771
772
  sig do
772
773
  returns(
773
774
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::Variants
@@ -816,7 +817,15 @@ module OpenAI
816
817
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
817
818
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
818
819
  OpenAI::Responses::ResponseInputAudio::OrHash,
819
- T::Array[T.anything]
820
+ T::Array[
821
+ T.any(
822
+ String,
823
+ OpenAI::Responses::ResponseInputText::OrHash,
824
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
825
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
826
+ OpenAI::Responses::ResponseInputAudio::OrHash
827
+ )
828
+ ]
820
829
  ),
821
830
  role:
822
831
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -825,7 +834,8 @@ module OpenAI
825
834
  ).returns(T.attached_class)
826
835
  end
827
836
  def self.new(
828
- # Inputs to the model - can contain template strings.
837
+ # Inputs to the model - can contain template strings. Supports text, output text,
838
+ # input images, and input audio, either as a single item or an array of items.
829
839
  content:,
830
840
  # The role of the message input. One of `user`, `assistant`, `system`, or
831
841
  # `developer`.
@@ -850,7 +860,8 @@ module OpenAI
850
860
  def to_hash
851
861
  end
852
862
 
853
- # Inputs to the model - can contain template strings.
863
+ # Inputs to the model - can contain template strings. Supports text, output text,
864
+ # input images, and input audio, either as a single item or an array of items.
854
865
  module Content
855
866
  extend OpenAI::Internal::Type::Union
856
867
 
@@ -862,7 +873,7 @@ module OpenAI
862
873
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText,
863
874
  OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage,
864
875
  OpenAI::Responses::ResponseInputAudio,
865
- T::Array[T.anything]
876
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
866
877
  )
867
878
  end
868
879
 
@@ -927,7 +938,7 @@ module OpenAI
927
938
  sig { params(detail: String).void }
928
939
  attr_writer :detail
929
940
 
930
- # An image input to the model.
941
+ # An image input block used within EvalItem content arrays.
931
942
  sig do
932
943
  params(
933
944
  image_url: String,
@@ -964,14 +975,6 @@ module OpenAI
964
975
  end
965
976
  def self.variants
966
977
  end
967
-
968
- AnArrayOfInputTextInputImageAndInputAudioArray =
969
- T.let(
970
- OpenAI::Internal::Type::ArrayOf[
971
- OpenAI::Internal::Type::Unknown
972
- ],
973
- OpenAI::Internal::Type::Converter
974
- )
975
978
  end
976
979
 
977
980
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -773,7 +773,8 @@ module OpenAI
773
773
  )
774
774
  end
775
775
 
776
- # Inputs to the model - can contain template strings.
776
+ # Inputs to the model - can contain template strings. Supports text, output text,
777
+ # input images, and input audio, either as a single item or an array of items.
777
778
  sig do
778
779
  returns(
779
780
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::Variants
@@ -822,7 +823,15 @@ module OpenAI
822
823
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
823
824
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
824
825
  OpenAI::Responses::ResponseInputAudio::OrHash,
825
- T::Array[T.anything]
826
+ T::Array[
827
+ T.any(
828
+ String,
829
+ OpenAI::Responses::ResponseInputText::OrHash,
830
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
831
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
832
+ OpenAI::Responses::ResponseInputAudio::OrHash
833
+ )
834
+ ]
826
835
  ),
827
836
  role:
828
837
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -831,7 +840,8 @@ module OpenAI
831
840
  ).returns(T.attached_class)
832
841
  end
833
842
  def self.new(
834
- # Inputs to the model - can contain template strings.
843
+ # Inputs to the model - can contain template strings. Supports text, output text,
844
+ # input images, and input audio, either as a single item or an array of items.
835
845
  content:,
836
846
  # The role of the message input. One of `user`, `assistant`, `system`, or
837
847
  # `developer`.
@@ -856,7 +866,8 @@ module OpenAI
856
866
  def to_hash
857
867
  end
858
868
 
859
- # Inputs to the model - can contain template strings.
869
+ # Inputs to the model - can contain template strings. Supports text, output text,
870
+ # input images, and input audio, either as a single item or an array of items.
860
871
  module Content
861
872
  extend OpenAI::Internal::Type::Union
862
873
 
@@ -868,7 +879,7 @@ module OpenAI
868
879
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText,
869
880
  OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage,
870
881
  OpenAI::Responses::ResponseInputAudio,
871
- T::Array[T.anything]
882
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
872
883
  )
873
884
  end
874
885
 
@@ -933,7 +944,7 @@ module OpenAI
933
944
  sig { params(detail: String).void }
934
945
  attr_writer :detail
935
946
 
936
- # An image input to the model.
947
+ # An image input block used within EvalItem content arrays.
937
948
  sig do
938
949
  params(
939
950
  image_url: String,
@@ -970,14 +981,6 @@ module OpenAI
970
981
  end
971
982
  def self.variants
972
983
  end
973
-
974
- AnArrayOfInputTextInputImageAndInputAudioArray =
975
- T.let(
976
- OpenAI::Internal::Type::ArrayOf[
977
- OpenAI::Internal::Type::Unknown
978
- ],
979
- OpenAI::Internal::Type::Converter
980
- )
981
984
  end
982
985
 
983
986
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -0,0 +1,123 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ GraderInputs =
6
+ T.let(Graders::GraderInputs, OpenAI::Internal::Type::Converter)
7
+
8
+ module Graders
9
+ # A single content item: input text, output text, input image, or input audio.
10
+ module GraderInputItem
11
+ extend OpenAI::Internal::Type::Union
12
+
13
+ Variants =
14
+ T.type_alias do
15
+ T.any(
16
+ String,
17
+ OpenAI::Responses::ResponseInputText,
18
+ OpenAI::Graders::GraderInputItem::OutputText,
19
+ OpenAI::Graders::GraderInputItem::InputImage,
20
+ OpenAI::Responses::ResponseInputAudio
21
+ )
22
+ end
23
+
24
+ class OutputText < OpenAI::Internal::Type::BaseModel
25
+ OrHash =
26
+ T.type_alias do
27
+ T.any(
28
+ OpenAI::Graders::GraderInputItem::OutputText,
29
+ OpenAI::Internal::AnyHash
30
+ )
31
+ end
32
+
33
+ # The text output from the model.
34
+ sig { returns(String) }
35
+ attr_accessor :text
36
+
37
+ # The type of the output text. Always `output_text`.
38
+ sig { returns(Symbol) }
39
+ attr_accessor :type
40
+
41
+ # A text output from the model.
42
+ sig { params(text: String, type: Symbol).returns(T.attached_class) }
43
+ def self.new(
44
+ # The text output from the model.
45
+ text:,
46
+ # The type of the output text. Always `output_text`.
47
+ type: :output_text
48
+ )
49
+ end
50
+
51
+ sig { override.returns({ text: String, type: Symbol }) }
52
+ def to_hash
53
+ end
54
+ end
55
+
56
+ class InputImage < OpenAI::Internal::Type::BaseModel
57
+ OrHash =
58
+ T.type_alias do
59
+ T.any(
60
+ OpenAI::Graders::GraderInputItem::InputImage,
61
+ OpenAI::Internal::AnyHash
62
+ )
63
+ end
64
+
65
+ # The URL of the image input.
66
+ sig { returns(String) }
67
+ attr_accessor :image_url
68
+
69
+ # The type of the image input. Always `input_image`.
70
+ sig { returns(Symbol) }
71
+ attr_accessor :type
72
+
73
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
74
+ # `auto`. Defaults to `auto`.
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :detail
77
+
78
+ sig { params(detail: String).void }
79
+ attr_writer :detail
80
+
81
+ # An image input block used within EvalItem content arrays.
82
+ sig do
83
+ params(image_url: String, detail: String, type: Symbol).returns(
84
+ T.attached_class
85
+ )
86
+ end
87
+ def self.new(
88
+ # The URL of the image input.
89
+ image_url:,
90
+ # The detail level of the image to be sent to the model. One of `high`, `low`, or
91
+ # `auto`. Defaults to `auto`.
92
+ detail: nil,
93
+ # The type of the image input. Always `input_image`.
94
+ type: :input_image
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ { image_url: String, type: Symbol, detail: String }
101
+ )
102
+ end
103
+ def to_hash
104
+ end
105
+ end
106
+
107
+ sig do
108
+ override.returns(T::Array[OpenAI::Graders::GraderInputItem::Variants])
109
+ end
110
+ def self.variants
111
+ end
112
+ end
113
+
114
+ GraderInputs =
115
+ T.let(
116
+ OpenAI::Internal::Type::ArrayOf[
117
+ union: OpenAI::Graders::GraderInputItem
118
+ ],
119
+ OpenAI::Internal::Type::Converter
120
+ )
121
+ end
122
+ end
123
+ end
@@ -85,7 +85,8 @@ module OpenAI
85
85
  )
86
86
  end
87
87
 
88
- # Inputs to the model - can contain template strings.
88
+ # Inputs to the model - can contain template strings. Supports text, output text,
89
+ # input images, and input audio, either as a single item or an array of items.
89
90
  sig do
90
91
  returns(
91
92
  T.any(
@@ -94,7 +95,15 @@ module OpenAI
94
95
  OpenAI::Graders::LabelModelGrader::Input::Content::OutputText,
95
96
  OpenAI::Graders::LabelModelGrader::Input::Content::InputImage,
96
97
  OpenAI::Responses::ResponseInputAudio,
97
- T::Array[T.anything]
98
+ T::Array[
99
+ T.any(
100
+ String,
101
+ OpenAI::Responses::ResponseInputText,
102
+ OpenAI::Graders::GraderInputItem::OutputText,
103
+ OpenAI::Graders::GraderInputItem::InputImage,
104
+ OpenAI::Responses::ResponseInputAudio
105
+ )
106
+ ]
98
107
  )
99
108
  )
100
109
  end
@@ -138,14 +147,23 @@ module OpenAI
138
147
  OpenAI::Graders::LabelModelGrader::Input::Content::OutputText::OrHash,
139
148
  OpenAI::Graders::LabelModelGrader::Input::Content::InputImage::OrHash,
140
149
  OpenAI::Responses::ResponseInputAudio::OrHash,
141
- T::Array[T.anything]
150
+ T::Array[
151
+ T.any(
152
+ String,
153
+ OpenAI::Responses::ResponseInputText::OrHash,
154
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
155
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
156
+ OpenAI::Responses::ResponseInputAudio::OrHash
157
+ )
158
+ ]
142
159
  ),
143
160
  role: OpenAI::Graders::LabelModelGrader::Input::Role::OrSymbol,
144
161
  type: OpenAI::Graders::LabelModelGrader::Input::Type::OrSymbol
145
162
  ).returns(T.attached_class)
146
163
  end
147
164
  def self.new(
148
- # Inputs to the model - can contain template strings.
165
+ # Inputs to the model - can contain template strings. Supports text, output text,
166
+ # input images, and input audio, either as a single item or an array of items.
149
167
  content:,
150
168
  # The role of the message input. One of `user`, `assistant`, `system`, or
151
169
  # `developer`.
@@ -165,7 +183,15 @@ module OpenAI
165
183
  OpenAI::Graders::LabelModelGrader::Input::Content::OutputText,
166
184
  OpenAI::Graders::LabelModelGrader::Input::Content::InputImage,
167
185
  OpenAI::Responses::ResponseInputAudio,
168
- T::Array[T.anything]
186
+ T::Array[
187
+ T.any(
188
+ String,
189
+ OpenAI::Responses::ResponseInputText,
190
+ OpenAI::Graders::GraderInputItem::OutputText,
191
+ OpenAI::Graders::GraderInputItem::InputImage,
192
+ OpenAI::Responses::ResponseInputAudio
193
+ )
194
+ ]
169
195
  ),
170
196
  role: OpenAI::Graders::LabelModelGrader::Input::Role::OrSymbol,
171
197
  type: OpenAI::Graders::LabelModelGrader::Input::Type::OrSymbol
@@ -175,7 +201,8 @@ module OpenAI
175
201
  def to_hash
176
202
  end
177
203
 
178
- # Inputs to the model - can contain template strings.
204
+ # Inputs to the model - can contain template strings. Supports text, output text,
205
+ # input images, and input audio, either as a single item or an array of items.
179
206
  module Content
180
207
  extend OpenAI::Internal::Type::Union
181
208
 
@@ -187,7 +214,7 @@ module OpenAI
187
214
  OpenAI::Graders::LabelModelGrader::Input::Content::OutputText,
188
215
  OpenAI::Graders::LabelModelGrader::Input::Content::InputImage,
189
216
  OpenAI::Responses::ResponseInputAudio,
190
- T::Array[T.anything]
217
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
191
218
  )
192
219
  end
193
220
 
@@ -250,7 +277,7 @@ module OpenAI
250
277
  sig { params(detail: String).void }
251
278
  attr_writer :detail
252
279
 
253
- # An image input to the model.
280
+ # An image input block used within EvalItem content arrays.
254
281
  sig do
255
282
  params(image_url: String, detail: String, type: Symbol).returns(
256
283
  T.attached_class
@@ -285,14 +312,6 @@ module OpenAI
285
312
  end
286
313
  def self.variants
287
314
  end
288
-
289
- AnArrayOfInputTextInputImageAndInputAudioArray =
290
- T.let(
291
- OpenAI::Internal::Type::ArrayOf[
292
- OpenAI::Internal::Type::Unknown
293
- ],
294
- OpenAI::Internal::Type::Converter
295
- )
296
315
  end
297
316
 
298
317
  # The role of the message input. One of `user`, `assistant`, `system`, or