openai 0.16.0 → 0.17.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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +14 -20
  4. data/lib/openai/internal/transport/base_client.rb +1 -1
  5. data/lib/openai/internal/type/array_of.rb +1 -0
  6. data/lib/openai/internal/type/base_model.rb +3 -1
  7. data/lib/openai/internal/type/converter.rb +27 -0
  8. data/lib/openai/internal/type/enum.rb +6 -6
  9. data/lib/openai/internal/type/hash_of.rb +1 -0
  10. data/lib/openai/internal/type/union.rb +22 -24
  11. data/lib/openai/models/beta/assistant_create_params.rb +4 -5
  12. data/lib/openai/models/beta/assistant_update_params.rb +22 -5
  13. data/lib/openai/models/beta/threads/run_create_params.rb +4 -5
  14. data/lib/openai/models/chat/chat_completion_allowed_tool_choice.rb +33 -0
  15. data/lib/openai/models/chat/chat_completion_allowed_tools.rb +64 -0
  16. data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +3 -5
  17. data/lib/openai/models/chat/chat_completion_custom_tool.rb +163 -0
  18. data/lib/openai/models/chat/chat_completion_function_tool.rb +29 -0
  19. data/lib/openai/models/chat/chat_completion_message.rb +3 -5
  20. data/lib/openai/models/chat/chat_completion_message_custom_tool_call.rb +60 -0
  21. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +73 -0
  22. data/lib/openai/models/chat/chat_completion_message_tool_call.rb +10 -56
  23. data/lib/openai/models/chat/chat_completion_named_tool_choice.rb +2 -2
  24. data/lib/openai/models/chat/chat_completion_named_tool_choice_custom.rb +42 -0
  25. data/lib/openai/models/chat/chat_completion_stream_options.rb +14 -1
  26. data/lib/openai/models/chat/chat_completion_tool.rb +12 -14
  27. data/lib/openai/models/chat/chat_completion_tool_choice_option.rb +7 -1
  28. data/lib/openai/models/chat/completion_create_params.rb +35 -12
  29. data/lib/openai/models/chat_model.rb +7 -0
  30. data/lib/openai/models/custom_tool_input_format.rb +76 -0
  31. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +3 -3
  32. data/lib/openai/models/evals/run_cancel_response.rb +2 -2
  33. data/lib/openai/models/evals/run_create_params.rb +2 -2
  34. data/lib/openai/models/evals/run_create_response.rb +2 -2
  35. data/lib/openai/models/evals/run_list_response.rb +2 -2
  36. data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
  37. data/lib/openai/models/reasoning.rb +4 -5
  38. data/lib/openai/models/reasoning_effort.rb +4 -4
  39. data/lib/openai/models/response_format_text_grammar.rb +27 -0
  40. data/lib/openai/models/response_format_text_python.rb +20 -0
  41. data/lib/openai/models/responses/custom_tool.rb +48 -0
  42. data/lib/openai/models/responses/response.rb +20 -12
  43. data/lib/openai/models/responses/response_create_params.rb +48 -10
  44. data/lib/openai/models/responses/response_custom_tool_call.rb +55 -0
  45. data/lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb +52 -0
  46. data/lib/openai/models/responses/response_custom_tool_call_input_done_event.rb +52 -0
  47. data/lib/openai/models/responses/response_custom_tool_call_output.rb +47 -0
  48. data/lib/openai/models/responses/response_input_item.rb +7 -1
  49. data/lib/openai/models/responses/response_output_item.rb +4 -1
  50. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  51. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  52. data/lib/openai/models/responses/response_reasoning_item.rb +36 -5
  53. data/lib/openai/models/responses/response_reasoning_text_delta_event.rb +63 -0
  54. data/lib/openai/models/responses/response_reasoning_text_done_event.rb +63 -0
  55. data/lib/openai/models/responses/response_retrieve_params.rb +14 -1
  56. data/lib/openai/models/responses/response_stream_event.rb +13 -11
  57. data/lib/openai/models/responses/response_text_config.rb +27 -1
  58. data/lib/openai/models/responses/tool.rb +5 -1
  59. data/lib/openai/models/responses/tool_choice_allowed.rb +73 -0
  60. data/lib/openai/models/responses/tool_choice_custom.rb +28 -0
  61. data/lib/openai/models/vector_store_search_params.rb +6 -1
  62. data/lib/openai/models.rb +6 -0
  63. data/lib/openai/resources/beta/assistants.rb +2 -2
  64. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  65. data/lib/openai/resources/chat/completions.rb +16 -10
  66. data/lib/openai/resources/responses.rb +38 -22
  67. data/lib/openai/version.rb +1 -1
  68. data/lib/openai.rb +19 -2
  69. data/rbi/openai/internal/transport/base_client.rbi +1 -1
  70. data/rbi/openai/internal/type/converter.rbi +46 -0
  71. data/rbi/openai/internal/type/union.rbi +7 -2
  72. data/rbi/openai/models/beta/assistant_create_params.rbi +6 -8
  73. data/rbi/openai/models/beta/assistant_update_params.rbi +36 -8
  74. data/rbi/openai/models/beta/threads/run_create_params.rbi +6 -8
  75. data/rbi/openai/models/chat/chat_completion_allowed_tool_choice.rbi +60 -0
  76. data/rbi/openai/models/chat/chat_completion_allowed_tools.rbi +118 -0
  77. data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +27 -4
  78. data/rbi/openai/models/chat/chat_completion_custom_tool.rbi +335 -0
  79. data/rbi/openai/models/chat/chat_completion_function_tool.rbi +51 -0
  80. data/rbi/openai/models/chat/chat_completion_message.rbi +17 -4
  81. data/rbi/openai/models/chat/chat_completion_message_custom_tool_call.rbi +105 -0
  82. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +118 -0
  83. data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +9 -92
  84. data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +2 -2
  85. data/rbi/openai/models/chat/chat_completion_named_tool_choice_custom.rbi +89 -0
  86. data/rbi/openai/models/chat/chat_completion_stream_options.rbi +30 -2
  87. data/rbi/openai/models/chat/chat_completion_tool.rbi +11 -30
  88. data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +3 -1
  89. data/rbi/openai/models/chat/completion_create_params.rbi +106 -25
  90. data/rbi/openai/models/chat_model.rbi +11 -0
  91. data/rbi/openai/models/custom_tool_input_format.rbi +136 -0
  92. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +8 -4
  93. data/rbi/openai/models/evals/run_cancel_response.rbi +2 -0
  94. data/rbi/openai/models/evals/run_create_params.rbi +4 -0
  95. data/rbi/openai/models/evals/run_create_response.rbi +2 -0
  96. data/rbi/openai/models/evals/run_list_response.rbi +2 -0
  97. data/rbi/openai/models/evals/run_retrieve_response.rbi +2 -0
  98. data/rbi/openai/models/reasoning.rbi +6 -8
  99. data/rbi/openai/models/reasoning_effort.rbi +4 -4
  100. data/rbi/openai/models/response_format_text_grammar.rbi +35 -0
  101. data/rbi/openai/models/response_format_text_python.rbi +30 -0
  102. data/rbi/openai/models/responses/custom_tool.rbi +96 -0
  103. data/rbi/openai/models/responses/response.rbi +15 -5
  104. data/rbi/openai/models/responses/response_create_params.rbi +94 -7
  105. data/rbi/openai/models/responses/response_custom_tool_call.rbi +78 -0
  106. data/rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi +75 -0
  107. data/rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi +75 -0
  108. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +65 -0
  109. data/rbi/openai/models/responses/response_input_item.rbi +2 -0
  110. data/rbi/openai/models/responses/response_output_item.rbi +2 -1
  111. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -1
  112. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -1
  113. data/rbi/openai/models/responses/response_reasoning_item.rbi +63 -4
  114. data/rbi/openai/models/responses/response_reasoning_text_delta_event.rbi +83 -0
  115. data/rbi/openai/models/responses/{response_reasoning_summary_done_event.rbi → response_reasoning_text_done_event.rbi} +20 -20
  116. data/rbi/openai/models/responses/response_retrieve_params.rbi +21 -0
  117. data/rbi/openai/models/responses/response_stream_event.rbi +4 -2
  118. data/rbi/openai/models/responses/response_text_config.rbi +64 -1
  119. data/rbi/openai/models/responses/tool.rbi +1 -0
  120. data/rbi/openai/models/responses/tool_choice_allowed.rbi +124 -0
  121. data/rbi/openai/models/responses/tool_choice_custom.rbi +39 -0
  122. data/rbi/openai/models/vector_store_search_params.rbi +12 -1
  123. data/rbi/openai/models.rbi +6 -0
  124. data/rbi/openai/resources/beta/assistants.rbi +6 -8
  125. data/rbi/openai/resources/beta/threads/runs.rbi +8 -10
  126. data/rbi/openai/resources/chat/completions.rbi +44 -19
  127. data/rbi/openai/resources/responses.rbi +215 -41
  128. data/sig/openai/internal/transport/base_client.rbs +1 -1
  129. data/sig/openai/internal/type/converter.rbs +17 -0
  130. data/sig/openai/internal/type/union.rbs +2 -2
  131. data/sig/openai/models/beta/assistant_update_params.rbs +12 -0
  132. data/sig/openai/models/chat/chat_completion_allowed_tool_choice.rbs +29 -0
  133. data/sig/openai/models/chat/chat_completion_allowed_tools.rbs +38 -0
  134. data/sig/openai/models/chat/chat_completion_assistant_message_param.rbs +6 -6
  135. data/sig/openai/models/chat/chat_completion_custom_tool.rbs +137 -0
  136. data/sig/openai/models/chat/chat_completion_function_tool.rbs +26 -0
  137. data/sig/openai/models/chat/chat_completion_message.rbs +6 -6
  138. data/sig/openai/models/chat/chat_completion_message_custom_tool_call.rbs +46 -0
  139. data/sig/openai/models/chat/chat_completion_message_function_tool_call.rbs +46 -0
  140. data/sig/openai/models/chat/chat_completion_message_tool_call.rbs +6 -35
  141. data/sig/openai/models/chat/chat_completion_named_tool_choice_custom.rbs +39 -0
  142. data/sig/openai/models/chat/chat_completion_stream_options.rbs +11 -3
  143. data/sig/openai/models/chat/chat_completion_tool.rbs +6 -15
  144. data/sig/openai/models/chat/chat_completion_tool_choice_option.rbs +2 -0
  145. data/sig/openai/models/chat/completion_create_params.rbs +23 -6
  146. data/sig/openai/models/chat_model.rbs +15 -1
  147. data/sig/openai/models/custom_tool_input_format.rbs +61 -0
  148. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +6 -6
  149. data/sig/openai/models/reasoning_effort.rbs +2 -1
  150. data/sig/openai/models/response_format_text_grammar.rbs +15 -0
  151. data/sig/openai/models/response_format_text_python.rbs +13 -0
  152. data/sig/openai/models/responses/custom_tool.rbs +43 -0
  153. data/sig/openai/models/responses/response.rbs +2 -0
  154. data/sig/openai/models/responses/response_create_params.rbs +19 -0
  155. data/sig/openai/models/responses/response_custom_tool_call.rbs +44 -0
  156. data/sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs +42 -0
  157. data/sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs +42 -0
  158. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -0
  159. data/sig/openai/models/responses/response_input_item.rbs +2 -0
  160. data/sig/openai/models/responses/response_output_item.rbs +1 -0
  161. data/sig/openai/models/responses/response_reasoning_item.rbs +21 -0
  162. data/sig/openai/models/responses/{response_reasoning_summary_delta_event.rbs → response_reasoning_text_delta_event.rbs} +15 -15
  163. data/sig/openai/models/responses/{response_reasoning_summary_done_event.rbs → response_reasoning_text_done_event.rbs} +11 -11
  164. data/sig/openai/models/responses/response_retrieve_params.rbs +7 -0
  165. data/sig/openai/models/responses/response_stream_event.rbs +4 -2
  166. data/sig/openai/models/responses/response_text_config.rbs +22 -3
  167. data/sig/openai/models/responses/tool.rbs +1 -0
  168. data/sig/openai/models/responses/tool_choice_allowed.rbs +43 -0
  169. data/sig/openai/models/responses/tool_choice_custom.rbs +17 -0
  170. data/sig/openai/models/vector_store_search_params.rbs +2 -1
  171. data/sig/openai/models.rbs +6 -0
  172. data/sig/openai/resources/chat/completions.rbs +4 -2
  173. data/sig/openai/resources/responses.rbs +32 -0
  174. metadata +59 -8
  175. data/lib/openai/models/responses/response_reasoning_summary_delta_event.rb +0 -65
  176. data/lib/openai/models/responses/response_reasoning_summary_done_event.rb +0 -60
  177. data/rbi/openai/models/responses/response_reasoning_summary_delta_event.rbi +0 -85
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseReasoningTextDoneEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute content_index
8
+ # The index of the reasoning content part.
9
+ #
10
+ # @return [Integer]
11
+ required :content_index, Integer
12
+
13
+ # @!attribute item_id
14
+ # The ID of the item this reasoning text is associated with.
15
+ #
16
+ # @return [String]
17
+ required :item_id, String
18
+
19
+ # @!attribute output_index
20
+ # The index of the output item this reasoning text is associated with.
21
+ #
22
+ # @return [Integer]
23
+ required :output_index, Integer
24
+
25
+ # @!attribute sequence_number
26
+ # The sequence number of this event.
27
+ #
28
+ # @return [Integer]
29
+ required :sequence_number, Integer
30
+
31
+ # @!attribute text
32
+ # The full text of the completed reasoning content.
33
+ #
34
+ # @return [String]
35
+ required :text, String
36
+
37
+ # @!attribute type
38
+ # The type of the event. Always `response.reasoning_text.done`.
39
+ #
40
+ # @return [Symbol, :"response.reasoning_text.done"]
41
+ required :type, const: :"response.reasoning_text.done"
42
+
43
+ # @!method initialize(content_index:, item_id:, output_index:, sequence_number:, text:, type: :"response.reasoning_text.done")
44
+ # Some parameter documentations has been truncated, see
45
+ # {OpenAI::Models::Responses::ResponseReasoningTextDoneEvent} for more details.
46
+ #
47
+ # Emitted when a reasoning text is completed.
48
+ #
49
+ # @param content_index [Integer] The index of the reasoning content part.
50
+ #
51
+ # @param item_id [String] The ID of the item this reasoning text is associated with.
52
+ #
53
+ # @param output_index [Integer] The index of the output item this reasoning text is associated with.
54
+ #
55
+ # @param sequence_number [Integer] The sequence number of this event.
56
+ #
57
+ # @param text [String] The full text of the completed reasoning content.
58
+ #
59
+ # @param type [Symbol, :"response.reasoning_text.done"] The type of the event. Always `response.reasoning_text.done`.
60
+ end
61
+ end
62
+ end
63
+ end
@@ -17,18 +17,31 @@ module OpenAI
17
17
  # @return [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>, nil]
18
18
  optional :include, -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Responses::ResponseIncludable] }
19
19
 
20
+ # @!attribute include_obfuscation
21
+ # When true, stream obfuscation will be enabled. Stream obfuscation adds random
22
+ # characters to an `obfuscation` field on streaming delta events to normalize
23
+ # payload sizes as a mitigation to certain side-channel attacks. These obfuscation
24
+ # fields are included by default, but add a small amount of overhead to the data
25
+ # stream. You can set `include_obfuscation` to false to optimize for bandwidth if
26
+ # you trust the network links between your application and the OpenAI API.
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :include_obfuscation, OpenAI::Internal::Type::Boolean
30
+
20
31
  # @!attribute starting_after
21
32
  # The sequence number of the event after which to start streaming.
22
33
  #
23
34
  # @return [Integer, nil]
24
35
  optional :starting_after, Integer
25
36
 
26
- # @!method initialize(include: nil, starting_after: nil, request_options: {})
37
+ # @!method initialize(include: nil, include_obfuscation: nil, starting_after: nil, request_options: {})
27
38
  # Some parameter documentations has been truncated, see
28
39
  # {OpenAI::Models::Responses::ResponseRetrieveParams} for more details.
29
40
  #
30
41
  # @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>] Additional fields to include in the response. See the `include`
31
42
  #
43
+ # @param include_obfuscation [Boolean] When true, stream obfuscation will be enabled. Stream obfuscation adds
44
+ #
32
45
  # @param starting_after [Integer] The sequence number of the event after which to start streaming.
33
46
  #
34
47
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
@@ -110,6 +110,12 @@ module OpenAI
110
110
  variant :"response.reasoning_summary_text.done",
111
111
  -> { OpenAI::Responses::ResponseReasoningSummaryTextDoneEvent }
112
112
 
113
+ # Emitted when a delta is added to a reasoning text.
114
+ variant :"response.reasoning_text.delta", -> { OpenAI::Responses::ResponseReasoningTextDeltaEvent }
115
+
116
+ # Emitted when a reasoning text is completed.
117
+ variant :"response.reasoning_text.done", -> { OpenAI::Responses::ResponseReasoningTextDoneEvent }
118
+
113
119
  # Emitted when there is a partial refusal text.
114
120
  variant :"response.refusal.delta", -> { OpenAI::Responses::ResponseRefusalDeltaEvent }
115
121
 
@@ -191,20 +197,16 @@ module OpenAI
191
197
  # Emitted when a response is queued and waiting to be processed.
192
198
  variant :"response.queued", -> { OpenAI::Responses::ResponseQueuedEvent }
193
199
 
194
- # Emitted when there is a delta (partial update) to the reasoning summary content.
195
- variant :"response.reasoning_summary.delta",
196
- -> {
197
- OpenAI::Responses::ResponseReasoningSummaryDeltaEvent
198
- }
200
+ # Event representing a delta (partial update) to the input of a custom tool call.
201
+ variant :"response.custom_tool_call_input.delta",
202
+ -> { OpenAI::Responses::ResponseCustomToolCallInputDeltaEvent }
199
203
 
200
- # Emitted when the reasoning summary content is finalized for an item.
201
- variant :"response.reasoning_summary.done",
202
- -> {
203
- OpenAI::Responses::ResponseReasoningSummaryDoneEvent
204
- }
204
+ # Event indicating that input for a custom tool call is complete.
205
+ variant :"response.custom_tool_call_input.done",
206
+ -> { OpenAI::Responses::ResponseCustomToolCallInputDoneEvent }
205
207
 
206
208
  # @!method self.variants
207
- # @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDoneEvent)]
209
+ # @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent)]
208
210
  end
209
211
  end
210
212
  end
@@ -22,7 +22,15 @@ module OpenAI
22
22
  # @return [OpenAI::Models::ResponseFormatText, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject, nil]
23
23
  optional :format_, union: -> { OpenAI::Responses::ResponseFormatTextConfig }, api_name: :format
24
24
 
25
- # @!method initialize(format_: nil)
25
+ # @!attribute verbosity
26
+ # Constrains the verbosity of the model's response. Lower values will result in
27
+ # more concise responses, while higher values will result in more verbose
28
+ # responses. Currently supported values are `low`, `medium`, and `high`.
29
+ #
30
+ # @return [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil]
31
+ optional :verbosity, enum: -> { OpenAI::Responses::ResponseTextConfig::Verbosity }, nil?: true
32
+
33
+ # @!method initialize(format_: nil, verbosity: nil)
26
34
  # Some parameter documentations has been truncated, see
27
35
  # {OpenAI::Models::Responses::ResponseTextConfig} for more details.
28
36
  #
@@ -33,6 +41,24 @@ module OpenAI
33
41
  # - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
34
42
  #
35
43
  # @param format_ [OpenAI::Models::ResponseFormatText, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
44
+ #
45
+ # @param verbosity [Symbol, OpenAI::Models::Responses::ResponseTextConfig::Verbosity, nil] Constrains the verbosity of the model's response. Lower values will result in
46
+
47
+ # Constrains the verbosity of the model's response. Lower values will result in
48
+ # more concise responses, while higher values will result in more verbose
49
+ # responses. Currently supported values are `low`, `medium`, and `high`.
50
+ #
51
+ # @see OpenAI::Models::Responses::ResponseTextConfig#verbosity
52
+ module Verbosity
53
+ extend OpenAI::Internal::Type::Enum
54
+
55
+ LOW = :low
56
+ MEDIUM = :medium
57
+ HIGH = :high
58
+
59
+ # @!method self.values
60
+ # @return [Array<Symbol>]
61
+ end
36
62
  end
37
63
  end
38
64
  end
@@ -33,6 +33,10 @@ module OpenAI
33
33
  # A tool that allows the model to execute shell commands in a local environment.
34
34
  variant :local_shell, -> { OpenAI::Responses::Tool::LocalShell }
35
35
 
36
+ # A custom tool that processes input using a specified format. Learn more about
37
+ # [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools).
38
+ variant :custom, -> { OpenAI::Responses::CustomTool }
39
+
36
40
  # This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
37
41
  variant -> { OpenAI::Responses::WebSearchTool }
38
42
 
@@ -542,7 +546,7 @@ module OpenAI
542
546
  end
543
547
 
544
548
  # @!method self.variants
545
- # @return [Array(OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::WebSearchTool)]
549
+ # @return [Array(OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::WebSearchTool)]
546
550
  end
547
551
  end
548
552
  end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ToolChoiceAllowed < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute mode
8
+ # Constrains the tools available to the model to a pre-defined set.
9
+ #
10
+ # `auto` allows the model to pick from among the allowed tools and generate a
11
+ # message.
12
+ #
13
+ # `required` requires the model to call one or more of the allowed tools.
14
+ #
15
+ # @return [Symbol, OpenAI::Models::Responses::ToolChoiceAllowed::Mode]
16
+ required :mode, enum: -> { OpenAI::Responses::ToolChoiceAllowed::Mode }
17
+
18
+ # @!attribute tools
19
+ # A list of tool definitions that the model should be allowed to call.
20
+ #
21
+ # For the Responses API, the list of tool definitions might look like:
22
+ #
23
+ # ```json
24
+ # [
25
+ # { "type": "function", "name": "get_weather" },
26
+ # { "type": "mcp", "server_label": "deepwiki" },
27
+ # { "type": "image_generation" }
28
+ # ]
29
+ # ```
30
+ #
31
+ # @return [Array<Hash{Symbol=>Object}>]
32
+ required :tools,
33
+ OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]]
34
+
35
+ # @!attribute type
36
+ # Allowed tool configuration type. Always `allowed_tools`.
37
+ #
38
+ # @return [Symbol, :allowed_tools]
39
+ required :type, const: :allowed_tools
40
+
41
+ # @!method initialize(mode:, tools:, type: :allowed_tools)
42
+ # Some parameter documentations has been truncated, see
43
+ # {OpenAI::Models::Responses::ToolChoiceAllowed} for more details.
44
+ #
45
+ # Constrains the tools available to the model to a pre-defined set.
46
+ #
47
+ # @param mode [Symbol, OpenAI::Models::Responses::ToolChoiceAllowed::Mode] Constrains the tools available to the model to a pre-defined set.
48
+ #
49
+ # @param tools [Array<Hash{Symbol=>Object}>] A list of tool definitions that the model should be allowed to call.
50
+ #
51
+ # @param type [Symbol, :allowed_tools] Allowed tool configuration type. Always `allowed_tools`.
52
+
53
+ # Constrains the tools available to the model to a pre-defined set.
54
+ #
55
+ # `auto` allows the model to pick from among the allowed tools and generate a
56
+ # message.
57
+ #
58
+ # `required` requires the model to call one or more of the allowed tools.
59
+ #
60
+ # @see OpenAI::Models::Responses::ToolChoiceAllowed#mode
61
+ module Mode
62
+ extend OpenAI::Internal::Type::Enum
63
+
64
+ AUTO = :auto
65
+ REQUIRED = :required
66
+
67
+ # @!method self.values
68
+ # @return [Array<Symbol>]
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ToolChoiceCustom < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute name
8
+ # The name of the custom tool to call.
9
+ #
10
+ # @return [String]
11
+ required :name, String
12
+
13
+ # @!attribute type
14
+ # For custom tool calling, the type is always `custom`.
15
+ #
16
+ # @return [Symbol, :custom]
17
+ required :type, const: :custom
18
+
19
+ # @!method initialize(name:, type: :custom)
20
+ # Use this option to force the model to call a specific custom tool.
21
+ #
22
+ # @param name [String] The name of the custom tool to call.
23
+ #
24
+ # @param type [Symbol, :custom] For custom tool calling, the type is always `custom`.
25
+ end
26
+ end
27
+ end
28
+ end
@@ -85,6 +85,7 @@ module OpenAI
85
85
 
86
86
  class RankingOptions < OpenAI::Internal::Type::BaseModel
87
87
  # @!attribute ranker
88
+ # Enable re-ranking; set to `none` to disable, which can help reduce latency.
88
89
  #
89
90
  # @return [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker, nil]
90
91
  optional :ranker, enum: -> { OpenAI::VectorStoreSearchParams::RankingOptions::Ranker }
@@ -97,13 +98,17 @@ module OpenAI
97
98
  # @!method initialize(ranker: nil, score_threshold: nil)
98
99
  # Ranking options for search.
99
100
  #
100
- # @param ranker [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker]
101
+ # @param ranker [Symbol, OpenAI::Models::VectorStoreSearchParams::RankingOptions::Ranker] Enable re-ranking; set to `none` to disable, which can help reduce latency.
102
+ #
101
103
  # @param score_threshold [Float]
102
104
 
105
+ # Enable re-ranking; set to `none` to disable, which can help reduce latency.
106
+ #
103
107
  # @see OpenAI::Models::VectorStoreSearchParams::RankingOptions#ranker
104
108
  module Ranker
105
109
  extend OpenAI::Internal::Type::Enum
106
110
 
111
+ NONE = :none
107
112
  AUTO = :auto
108
113
  DEFAULT_2024_11_15 = :"default-2024-11-15"
109
114
 
data/lib/openai/models.rb CHANGED
@@ -93,6 +93,8 @@ module OpenAI
93
93
 
94
94
  CreateEmbeddingResponse = OpenAI::Models::CreateEmbeddingResponse
95
95
 
96
+ CustomToolInputFormat = OpenAI::Models::CustomToolInputFormat
97
+
96
98
  Embedding = OpenAI::Models::Embedding
97
99
 
98
100
  EmbeddingCreateParams = OpenAI::Models::EmbeddingCreateParams
@@ -209,6 +211,10 @@ module OpenAI
209
211
 
210
212
  ResponseFormatText = OpenAI::Models::ResponseFormatText
211
213
 
214
+ ResponseFormatTextGrammar = OpenAI::Models::ResponseFormatTextGrammar
215
+
216
+ ResponseFormatTextPython = OpenAI::Models::ResponseFormatTextPython
217
+
212
218
  Responses = OpenAI::Models::Responses
213
219
 
214
220
  ResponsesModel = OpenAI::Models::ResponsesModel
@@ -21,7 +21,7 @@ module OpenAI
21
21
  #
22
22
  # @param name [String, nil] The name of the assistant. The maximum length is 256 characters.
23
23
  #
24
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
24
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
25
25
  #
26
26
  # @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Specifies the format that the model must output. Compatible with [GPT-4o](https:
27
27
  #
@@ -88,7 +88,7 @@ module OpenAI
88
88
  #
89
89
  # @param name [String, nil] The name of the assistant. The maximum length is 256 characters.
90
90
  #
91
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
91
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
92
92
  #
93
93
  # @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Specifies the format that the model must output. Compatible with [GPT-4o](https:
94
94
  #
@@ -43,7 +43,7 @@ module OpenAI
43
43
  #
44
44
  # @param parallel_tool_calls [Boolean] Body param: Whether to enable [parallel function calling](https://platform.opena
45
45
  #
46
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: **o-series models only**
46
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: Constrains effort on reasoning for
47
47
  #
48
48
  # @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Body param: Specifies the format that the model must output. Compatible with [GP
49
49
  #
@@ -113,7 +113,7 @@ module OpenAI
113
113
  #
114
114
  # @param parallel_tool_calls [Boolean] Body param: Whether to enable [parallel function calling](https://platform.opena
115
115
  #
116
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: **o-series models only**
116
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Body param: Constrains effort on reasoning for
117
117
  #
118
118
  # @param response_format [Symbol, :auto, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema, nil] Body param: Specifies the format that the model must output. Compatible with [GP
119
119
  #
@@ -30,7 +30,7 @@ module OpenAI
30
30
  # unsupported parameters in reasoning models,
31
31
  # [refer to the reasoning guide](https://platform.openai.com/docs/guides/reasoning).
32
32
  #
33
- # @overload create(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
33
+ # @overload create(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, verbosity: nil, web_search_options: nil, request_options: {})
34
34
  #
35
35
  # @param messages [Array<OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam>] A list of messages comprising the conversation so far. Depending on the
36
36
  #
@@ -66,7 +66,7 @@ module OpenAI
66
66
  #
67
67
  # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
68
68
  #
69
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
69
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
70
70
  #
71
71
  # @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
72
72
  #
@@ -84,9 +84,9 @@ module OpenAI
84
84
  #
85
85
  # @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
86
86
  #
87
- # @param tool_choice [Symbol, OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto, OpenAI::Models::Chat::ChatCompletionNamedToolChoice] Controls which (if any) tool is called by the model.
87
+ # @param tool_choice [Symbol, OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto, OpenAI::Models::Chat::ChatCompletionAllowedToolChoice, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, OpenAI::Models::Chat::ChatCompletionNamedToolChoiceCustom] Controls which (if any) tool is called by the model.
88
88
  #
89
- # @param tools [Array<OpenAI::Models::Chat::ChatCompletionTool>] A list of tools the model may call. Currently, only functions are supported as a
89
+ # @param tools [Array<OpenAI::Models::Chat::ChatCompletionFunctionTool, OpenAI::Models::Chat::ChatCompletionCustomTool>] A list of tools the model may call. You can provide either
90
90
  #
91
91
  # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
92
92
  #
@@ -94,6 +94,8 @@ module OpenAI
94
94
  #
95
95
  # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
96
96
  #
97
+ # @param verbosity [Symbol, OpenAI::Models::Chat::CompletionCreateParams::Verbosity, nil] Constrains the verbosity of the model's response. Lower values will result in
98
+ #
97
99
  # @param web_search_options [OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions] This tool searches the web for relevant results to use in a response.
98
100
  #
99
101
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -166,7 +168,8 @@ module OpenAI
166
168
  raw[:choices]&.each do |choice|
167
169
  message = choice.fetch(:message)
168
170
  begin
169
- parsed = JSON.parse(message.fetch(:content), symbolize_names: true)
171
+ content = message.fetch(:content)
172
+ parsed = content.nil? ? nil : JSON.parse(content, symbolize_names: true)
170
173
  rescue JSON::ParserError => e
171
174
  parsed = e
172
175
  end
@@ -180,7 +183,8 @@ module OpenAI
180
183
  next if (model = tool_models[func.fetch(:name)]).nil?
181
184
 
182
185
  begin
183
- parsed = JSON.parse(func.fetch(:arguments), symbolize_names: true)
186
+ arguments = func.fetch(:arguments)
187
+ parsed = arguments.nil? ? nil : JSON.parse(arguments, symbolize_names: true)
184
188
  rescue JSON::ParserError => e
185
189
  parsed = e
186
190
  end
@@ -230,7 +234,7 @@ module OpenAI
230
234
  # unsupported parameters in reasoning models,
231
235
  # [refer to the reasoning guide](https://platform.openai.com/docs/guides/reasoning).
232
236
  #
233
- # @overload stream_raw(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
237
+ # @overload stream_raw(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, verbosity: nil, web_search_options: nil, request_options: {})
234
238
  #
235
239
  # @param messages [Array<OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam>] A list of messages comprising the conversation so far. Depending on the
236
240
  #
@@ -266,7 +270,7 @@ module OpenAI
266
270
  #
267
271
  # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
268
272
  #
269
- # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
273
+ # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] Constrains effort on reasoning for
270
274
  #
271
275
  # @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
272
276
  #
@@ -284,9 +288,9 @@ module OpenAI
284
288
  #
285
289
  # @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
286
290
  #
287
- # @param tool_choice [Symbol, OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto, OpenAI::Models::Chat::ChatCompletionNamedToolChoice] Controls which (if any) tool is called by the model.
291
+ # @param tool_choice [Symbol, OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto, OpenAI::Models::Chat::ChatCompletionAllowedToolChoice, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, OpenAI::Models::Chat::ChatCompletionNamedToolChoiceCustom] Controls which (if any) tool is called by the model.
288
292
  #
289
- # @param tools [Array<OpenAI::Models::Chat::ChatCompletionTool>] A list of tools the model may call. Currently, only functions are supported as a
293
+ # @param tools [Array<OpenAI::Models::Chat::ChatCompletionFunctionTool, OpenAI::Models::Chat::ChatCompletionCustomTool>] A list of tools the model may call. You can provide either
290
294
  #
291
295
  # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
292
296
  #
@@ -294,6 +298,8 @@ module OpenAI
294
298
  #
295
299
  # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
296
300
  #
301
+ # @param verbosity [Symbol, OpenAI::Models::Chat::CompletionCreateParams::Verbosity, nil] Constrains the verbosity of the model's response. Lower values will result in
302
+ #
297
303
  # @param web_search_options [OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions] This tool searches the web for relevant results to use in a response.
298
304
  #
299
305
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]