openai 0.36.1 → 0.37.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/README.md +1 -1
- data/lib/openai/models/all_models.rb +1 -0
- data/lib/openai/models/beta/assistant_create_params.rb +4 -3
- data/lib/openai/models/beta/assistant_update_params.rb +4 -3
- data/lib/openai/models/beta/threads/run_create_params.rb +4 -3
- data/lib/openai/models/chat/completion_create_params.rb +4 -3
- data/lib/openai/models/container_create_params.rb +22 -1
- data/lib/openai/models/container_create_response.rb +32 -1
- data/lib/openai/models/container_list_response.rb +32 -1
- data/lib/openai/models/container_retrieve_response.rb +32 -1
- data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
- data/lib/openai/models/conversations/item_create_params.rb +2 -2
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +4 -3
- data/lib/openai/models/evals/run_cancel_response.rb +8 -6
- data/lib/openai/models/evals/run_create_params.rb +8 -6
- data/lib/openai/models/evals/run_create_response.rb +8 -6
- data/lib/openai/models/evals/run_list_response.rb +8 -6
- data/lib/openai/models/evals/run_retrieve_response.rb +8 -6
- data/lib/openai/models/graders/score_model_grader.rb +4 -3
- data/lib/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rb +43 -0
- data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +4 -4
- data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +13 -5
- data/lib/openai/models/realtime/realtime_client_event.rb +1 -1
- data/lib/openai/models/realtime/realtime_server_event.rb +16 -9
- data/lib/openai/models/realtime/realtime_session.rb +13 -5
- data/lib/openai/models/realtime/realtime_session_create_request.rb +14 -9
- data/lib/openai/models/realtime/realtime_session_create_response.rb +27 -14
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +13 -5
- data/lib/openai/models/realtime/realtime_truncation.rb +14 -9
- data/lib/openai/models/reasoning.rb +4 -3
- data/lib/openai/models/reasoning_effort.rb +5 -3
- data/lib/openai/models/responses/compacted_response.rb +56 -0
- data/lib/openai/models/responses/input_token_count_params.rb +4 -4
- data/lib/openai/models/responses/response.rb +6 -6
- data/lib/openai/models/responses/response_compact_params.rb +344 -0
- data/lib/openai/models/responses/response_compaction_item.rb +43 -0
- data/lib/openai/models/responses/response_compaction_item_param.rb +36 -0
- data/lib/openai/models/responses/response_create_params.rb +4 -4
- data/lib/openai/models/responses/response_function_shell_call_output_content.rb +10 -10
- data/lib/openai/models/responses/response_function_shell_tool_call.rb +5 -5
- data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +2 -2
- data/lib/openai/models/responses/response_input_item.rb +20 -17
- data/lib/openai/models/responses/response_output_item.rb +4 -1
- data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
- data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
- data/lib/openai/models/responses/tool.rb +4 -2
- data/lib/openai/models/responses/tool_choice_shell.rb +1 -1
- data/lib/openai/models/responses_model.rb +1 -0
- data/lib/openai/models/video_create_params.rb +11 -6
- data/lib/openai/resources/containers.rb +3 -1
- data/lib/openai/resources/conversations/items.rb +1 -1
- data/lib/openai/resources/conversations.rb +1 -1
- data/lib/openai/resources/responses/input_tokens.rb +1 -1
- data/lib/openai/resources/responses.rb +33 -2
- data/lib/openai/resources/videos.rb +6 -3
- data/lib/openai/resources/webhooks.rb +0 -3
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +6 -0
- data/manifest.yaml +1 -0
- data/rbi/openai/models/all_models.rbi +5 -0
- data/rbi/openai/models/beta/assistant_create_params.rbi +8 -6
- data/rbi/openai/models/beta/assistant_update_params.rbi +8 -6
- data/rbi/openai/models/beta/threads/run_create_params.rbi +8 -6
- data/rbi/openai/models/chat/completion_create_params.rbi +8 -6
- data/rbi/openai/models/container_create_params.rbi +51 -0
- data/rbi/openai/models/container_create_response.rbi +81 -3
- data/rbi/openai/models/container_list_response.rbi +80 -3
- data/rbi/openai/models/container_retrieve_response.rbi +83 -3
- data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
- data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +8 -6
- data/rbi/openai/models/evals/run_cancel_response.rbi +16 -12
- data/rbi/openai/models/evals/run_create_params.rbi +16 -12
- data/rbi/openai/models/evals/run_create_response.rbi +16 -12
- data/rbi/openai/models/evals/run_list_response.rbi +16 -12
- data/rbi/openai/models/evals/run_retrieve_response.rbi +16 -12
- data/rbi/openai/models/graders/score_model_grader.rbi +8 -6
- data/rbi/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbi +56 -0
- data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +4 -4
- data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +24 -8
- data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -5
- data/rbi/openai/models/realtime/realtime_session.rbi +24 -8
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +28 -18
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +52 -26
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +24 -8
- data/rbi/openai/models/realtime/realtime_truncation.rbi +14 -9
- data/rbi/openai/models/reasoning.rbi +8 -6
- data/rbi/openai/models/reasoning_effort.rbi +5 -3
- data/rbi/openai/models/responses/compacted_response.rbi +105 -0
- data/rbi/openai/models/responses/response.rbi +1 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +593 -0
- data/rbi/openai/models/responses/response_compaction_item.rbi +67 -0
- data/rbi/openai/models/responses/response_compaction_item_param.rbi +54 -0
- data/rbi/openai/models/responses/response_function_shell_call_output_content.rbi +9 -9
- data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +6 -6
- data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +1 -1
- data/rbi/openai/models/responses/response_input_item.rbi +18 -17
- data/rbi/openai/models/responses/response_output_item.rbi +1 -0
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
- data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
- data/rbi/openai/models/responses/tool.rbi +6 -3
- data/rbi/openai/models/responses/tool_choice_shell.rbi +1 -1
- data/rbi/openai/models/responses_model.rbi +5 -0
- data/rbi/openai/models/video_create_params.rbi +10 -6
- data/rbi/openai/resources/beta/assistants.rbi +8 -6
- data/rbi/openai/resources/beta/threads/runs.rbi +8 -6
- data/rbi/openai/resources/chat/completions.rbi +8 -6
- data/rbi/openai/resources/containers.rbi +3 -0
- data/rbi/openai/resources/conversations/items.rbi +1 -0
- data/rbi/openai/resources/conversations.rbi +1 -0
- data/rbi/openai/resources/realtime/calls.rbi +14 -9
- data/rbi/openai/resources/responses.rbi +42 -0
- data/rbi/openai/resources/videos.rbi +5 -3
- data/sig/openai/models/all_models.rbs +2 -0
- data/sig/openai/models/container_create_params.rbs +23 -1
- data/sig/openai/models/container_create_response.rbs +32 -3
- data/sig/openai/models/container_list_response.rbs +32 -3
- data/sig/openai/models/container_retrieve_response.rbs +32 -3
- data/sig/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbs +32 -0
- data/sig/openai/models/realtime/realtime_server_event.rbs +1 -0
- data/sig/openai/models/reasoning_effort.rbs +2 -1
- data/sig/openai/models/responses/compacted_response.rbs +42 -0
- data/sig/openai/models/responses/response_compact_params.rbs +226 -0
- data/sig/openai/models/responses/response_compaction_item.rbs +39 -0
- data/sig/openai/models/responses/response_compaction_item_param.rbs +28 -0
- data/sig/openai/models/responses/response_input_item.rbs +1 -0
- data/sig/openai/models/responses/response_output_item.rbs +1 -0
- data/sig/openai/models/responses_model.rbs +2 -0
- data/sig/openai/resources/containers.rbs +1 -0
- data/sig/openai/resources/responses.rbs +8 -0
- metadata +31 -2
|
@@ -316,9 +316,9 @@ module OpenAI
|
|
|
316
316
|
# @!attribute reasoning_effort
|
|
317
317
|
# Constrains effort on reasoning for
|
|
318
318
|
# [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
|
|
319
|
-
# supported values are `none`, `minimal`, `low`, `medium`, and `
|
|
320
|
-
# reasoning effort can result in faster responses and fewer tokens used
|
|
321
|
-
# reasoning in a response.
|
|
319
|
+
# supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
|
|
320
|
+
# Reducing reasoning effort can result in faster responses and fewer tokens used
|
|
321
|
+
# on reasoning in a response.
|
|
322
322
|
#
|
|
323
323
|
# - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
|
|
324
324
|
# reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
|
|
@@ -326,6 +326,7 @@ module OpenAI
|
|
|
326
326
|
# - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
|
|
327
327
|
# support `none`.
|
|
328
328
|
# - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
|
|
329
|
+
# - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
|
|
329
330
|
#
|
|
330
331
|
# @return [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
|
331
332
|
optional :reasoning_effort, enum: -> { OpenAI::ReasoningEffort }, nil?: true
|
|
@@ -668,9 +669,9 @@ module OpenAI
|
|
|
668
669
|
# @!attribute reasoning_effort
|
|
669
670
|
# Constrains effort on reasoning for
|
|
670
671
|
# [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
|
|
671
|
-
# supported values are `none`, `minimal`, `low`, `medium`, and `
|
|
672
|
-
# reasoning effort can result in faster responses and fewer tokens used
|
|
673
|
-
# reasoning in a response.
|
|
672
|
+
# supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
|
|
673
|
+
# Reducing reasoning effort can result in faster responses and fewer tokens used
|
|
674
|
+
# on reasoning in a response.
|
|
674
675
|
#
|
|
675
676
|
# - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
|
|
676
677
|
# reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
|
|
@@ -678,6 +679,7 @@ module OpenAI
|
|
|
678
679
|
# - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
|
|
679
680
|
# support `none`.
|
|
680
681
|
# - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
|
|
682
|
+
# - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
|
|
681
683
|
#
|
|
682
684
|
# @return [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
|
683
685
|
optional :reasoning_effort, enum: -> { OpenAI::ReasoningEffort }, nil?: true
|
|
@@ -222,9 +222,9 @@ module OpenAI
|
|
|
222
222
|
# @!attribute reasoning_effort
|
|
223
223
|
# Constrains effort on reasoning for
|
|
224
224
|
# [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
|
|
225
|
-
# supported values are `none`, `minimal`, `low`, `medium`, and `
|
|
226
|
-
# reasoning effort can result in faster responses and fewer tokens used
|
|
227
|
-
# reasoning in a response.
|
|
225
|
+
# supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
|
|
226
|
+
# Reducing reasoning effort can result in faster responses and fewer tokens used
|
|
227
|
+
# on reasoning in a response.
|
|
228
228
|
#
|
|
229
229
|
# - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
|
|
230
230
|
# reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
|
|
@@ -232,6 +232,7 @@ module OpenAI
|
|
|
232
232
|
# - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
|
|
233
233
|
# support `none`.
|
|
234
234
|
# - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
|
|
235
|
+
# - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
|
|
235
236
|
#
|
|
236
237
|
# @return [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
|
237
238
|
optional :reasoning_effort, enum: -> { OpenAI::ReasoningEffort }, nil?: true
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class InputAudioBufferDtmfEventReceivedEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute event
|
|
8
|
+
# The telephone keypad that was pressed by the user.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :event, String
|
|
12
|
+
|
|
13
|
+
# @!attribute received_at
|
|
14
|
+
# UTC Unix Timestamp when DTMF Event was received by server.
|
|
15
|
+
#
|
|
16
|
+
# @return [Integer]
|
|
17
|
+
required :received_at, Integer
|
|
18
|
+
|
|
19
|
+
# @!attribute type
|
|
20
|
+
# The event type, must be `input_audio_buffer.dtmf_event_received`.
|
|
21
|
+
#
|
|
22
|
+
# @return [Symbol, :"input_audio_buffer.dtmf_event_received"]
|
|
23
|
+
required :type, const: :"input_audio_buffer.dtmf_event_received"
|
|
24
|
+
|
|
25
|
+
# @!method initialize(event:, received_at:, type: :"input_audio_buffer.dtmf_event_received")
|
|
26
|
+
# Some parameter documentations has been truncated, see
|
|
27
|
+
# {OpenAI::Models::Realtime::InputAudioBufferDtmfEventReceivedEvent} for more
|
|
28
|
+
# details.
|
|
29
|
+
#
|
|
30
|
+
# **SIP Only:** Returned when an DTMF event is received. A DTMF event is a message
|
|
31
|
+
# that represents a telephone keypad press (0–9, \*, #, A–D). The `event` property
|
|
32
|
+
# is the keypad that the user press. The `received_at` is the UTC Unix Timestamp
|
|
33
|
+
# that the server received the event.
|
|
34
|
+
#
|
|
35
|
+
# @param event [String] The telephone keypad that was pressed by the user.
|
|
36
|
+
#
|
|
37
|
+
# @param received_at [Integer] UTC Unix Timestamp when DTMF Event was received by server.
|
|
38
|
+
#
|
|
39
|
+
# @param type [Symbol, :"input_audio_buffer.dtmf_event_received"] The event type, must be `input_audio_buffer.dtmf_event_received`.
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -17,10 +17,10 @@ module OpenAI
|
|
|
17
17
|
optional :event_id, String
|
|
18
18
|
|
|
19
19
|
# @!method initialize(event_id: nil, type: :"output_audio_buffer.clear")
|
|
20
|
-
# **WebRTC Only:** Emit to cut off the current audio response. This will
|
|
21
|
-
# the server to stop generating audio and emit a
|
|
22
|
-
# event. This event should be preceded by a
|
|
23
|
-
# the generation of the current response.
|
|
20
|
+
# **WebRTC/SIP Only:** Emit to cut off the current audio response. This will
|
|
21
|
+
# trigger the server to stop generating audio and emit a
|
|
22
|
+
# `output_audio_buffer.cleared` event. This event should be preceded by a
|
|
23
|
+
# `response.cancel` client event to stop the generation of the current response.
|
|
24
24
|
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
|
25
25
|
#
|
|
26
26
|
# @param event_id [String] The unique ID of the client event used for error handling.
|
|
@@ -36,7 +36,11 @@ module OpenAI
|
|
|
36
36
|
|
|
37
37
|
# @!attribute create_response
|
|
38
38
|
# Whether or not to automatically generate a response when a VAD stop event
|
|
39
|
-
# occurs.
|
|
39
|
+
# occurs. If `interrupt_response` is set to `false` this may fail to create a
|
|
40
|
+
# response if the model is already responding.
|
|
41
|
+
#
|
|
42
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
43
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
40
44
|
#
|
|
41
45
|
# @return [Boolean, nil]
|
|
42
46
|
optional :create_response, OpenAI::Internal::Type::Boolean
|
|
@@ -59,9 +63,13 @@ module OpenAI
|
|
|
59
63
|
optional :idle_timeout_ms, Integer, nil?: true
|
|
60
64
|
|
|
61
65
|
# @!attribute interrupt_response
|
|
62
|
-
# Whether or not to automatically interrupt any ongoing response with
|
|
63
|
-
# the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
64
|
-
# occurs.
|
|
66
|
+
# Whether or not to automatically interrupt (cancel) any ongoing response with
|
|
67
|
+
# output to the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
68
|
+
# start event occurs. If `true` then the response will be cancelled, otherwise it
|
|
69
|
+
# will continue until complete.
|
|
70
|
+
#
|
|
71
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
72
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
65
73
|
#
|
|
66
74
|
# @return [Boolean, nil]
|
|
67
75
|
optional :interrupt_response, OpenAI::Internal::Type::Boolean
|
|
@@ -101,7 +109,7 @@ module OpenAI
|
|
|
101
109
|
#
|
|
102
110
|
# @param idle_timeout_ms [Integer, nil] Optional timeout after which a model response will be triggered automatically. T
|
|
103
111
|
#
|
|
104
|
-
# @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with
|
|
112
|
+
# @param interrupt_response [Boolean] Whether or not to automatically interrupt (cancel) any ongoing response with out
|
|
105
113
|
#
|
|
106
114
|
# @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
|
|
107
115
|
#
|
|
@@ -62,7 +62,7 @@ module OpenAI
|
|
|
62
62
|
# respond with an `input_audio_buffer.cleared` event.
|
|
63
63
|
variant :"input_audio_buffer.clear", -> { OpenAI::Realtime::InputAudioBufferClearEvent }
|
|
64
64
|
|
|
65
|
-
# **WebRTC Only:** Emit to cut off the current audio response. This will trigger the server to
|
|
65
|
+
# **WebRTC/SIP Only:** Emit to cut off the current audio response. This will trigger the server to
|
|
66
66
|
# stop generating audio and emit a `output_audio_buffer.cleared` event. This
|
|
67
67
|
# event should be preceded by a `response.cancel` client event to stop the
|
|
68
68
|
# generation of the current response.
|
|
@@ -78,6 +78,13 @@ module OpenAI
|
|
|
78
78
|
# will also be sent to the client.
|
|
79
79
|
variant :"input_audio_buffer.committed", -> { OpenAI::Realtime::InputAudioBufferCommittedEvent }
|
|
80
80
|
|
|
81
|
+
# **SIP Only:** Returned when an DTMF event is received. A DTMF event is a message that
|
|
82
|
+
# represents a telephone keypad press (0–9, *, #, A–D). The `event` property
|
|
83
|
+
# is the keypad that the user press. The `received_at` is the UTC Unix Timestamp
|
|
84
|
+
# that the server received the event.
|
|
85
|
+
variant :"input_audio_buffer.dtmf_event_received",
|
|
86
|
+
-> { OpenAI::Realtime::InputAudioBufferDtmfEventReceivedEvent }
|
|
87
|
+
|
|
81
88
|
# Sent by the server when in `server_vad` mode to indicate that speech has been
|
|
82
89
|
# detected in the audio buffer. This can happen any time audio is added to the
|
|
83
90
|
# buffer (unless speech is already detected). The client may want to use this
|
|
@@ -173,21 +180,21 @@ module OpenAI
|
|
|
173
180
|
# there is an error.
|
|
174
181
|
variant :"session.updated", -> { OpenAI::Realtime::SessionUpdatedEvent }
|
|
175
182
|
|
|
176
|
-
# **WebRTC Only:** Emitted when the server begins streaming audio to the client. This event is
|
|
183
|
+
# **WebRTC/SIP Only:** Emitted when the server begins streaming audio to the client. This event is
|
|
177
184
|
# emitted after an audio content part has been added (`response.content_part.added`)
|
|
178
185
|
# to the response.
|
|
179
186
|
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
|
180
187
|
variant :"output_audio_buffer.started",
|
|
181
188
|
-> { OpenAI::Realtime::RealtimeServerEvent::OutputAudioBufferStarted }
|
|
182
189
|
|
|
183
|
-
# **WebRTC Only:** Emitted when the output audio buffer has been completely drained on the server,
|
|
190
|
+
# **WebRTC/SIP Only:** Emitted when the output audio buffer has been completely drained on the server,
|
|
184
191
|
# and no more audio is forthcoming. This event is emitted after the full response
|
|
185
192
|
# data has been sent to the client (`response.done`).
|
|
186
193
|
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
|
187
194
|
variant :"output_audio_buffer.stopped",
|
|
188
195
|
-> { OpenAI::Realtime::RealtimeServerEvent::OutputAudioBufferStopped }
|
|
189
196
|
|
|
190
|
-
# **WebRTC Only:** Emitted when the output audio buffer is cleared. This happens either in VAD
|
|
197
|
+
# **WebRTC/SIP Only:** Emitted when the output audio buffer is cleared. This happens either in VAD
|
|
191
198
|
# mode when the user has interrupted (`input_audio_buffer.speech_started`),
|
|
192
199
|
# or when the client has emitted the `output_audio_buffer.clear` event to manually
|
|
193
200
|
# cut off the current audio response.
|
|
@@ -304,8 +311,8 @@ module OpenAI
|
|
|
304
311
|
required :type, const: :"output_audio_buffer.started"
|
|
305
312
|
|
|
306
313
|
# @!method initialize(event_id:, response_id:, type: :"output_audio_buffer.started")
|
|
307
|
-
# **WebRTC Only:** Emitted when the server begins streaming audio to the
|
|
308
|
-
# This event is emitted after an audio content part has been added
|
|
314
|
+
# **WebRTC/SIP Only:** Emitted when the server begins streaming audio to the
|
|
315
|
+
# client. This event is emitted after an audio content part has been added
|
|
309
316
|
# (`response.content_part.added`) to the response.
|
|
310
317
|
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
|
311
318
|
#
|
|
@@ -336,7 +343,7 @@ module OpenAI
|
|
|
336
343
|
required :type, const: :"output_audio_buffer.stopped"
|
|
337
344
|
|
|
338
345
|
# @!method initialize(event_id:, response_id:, type: :"output_audio_buffer.stopped")
|
|
339
|
-
# **WebRTC Only:** Emitted when the output audio buffer has been completely
|
|
346
|
+
# **WebRTC/SIP Only:** Emitted when the output audio buffer has been completely
|
|
340
347
|
# drained on the server, and no more audio is forthcoming. This event is emitted
|
|
341
348
|
# after the full response data has been sent to the client (`response.done`).
|
|
342
349
|
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
|
@@ -368,8 +375,8 @@ module OpenAI
|
|
|
368
375
|
required :type, const: :"output_audio_buffer.cleared"
|
|
369
376
|
|
|
370
377
|
# @!method initialize(event_id:, response_id:, type: :"output_audio_buffer.cleared")
|
|
371
|
-
# **WebRTC Only:** Emitted when the output audio buffer is cleared. This
|
|
372
|
-
# either in VAD mode when the user has interrupted
|
|
378
|
+
# **WebRTC/SIP Only:** Emitted when the output audio buffer is cleared. This
|
|
379
|
+
# happens either in VAD mode when the user has interrupted
|
|
373
380
|
# (`input_audio_buffer.speech_started`), or when the client has emitted the
|
|
374
381
|
# `output_audio_buffer.clear` event to manually cut off the current audio
|
|
375
382
|
# response.
|
|
@@ -383,7 +390,7 @@ module OpenAI
|
|
|
383
390
|
end
|
|
384
391
|
|
|
385
392
|
# @!method self.variants
|
|
386
|
-
# @return [Array(OpenAI::Models::Realtime::ConversationCreatedEvent, OpenAI::Models::Realtime::ConversationItemCreatedEvent, OpenAI::Models::Realtime::ConversationItemDeletedEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionDeltaEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionFailedEvent, OpenAI::Models::Realtime::RealtimeServerEvent::ConversationItemRetrieved, OpenAI::Models::Realtime::ConversationItemTruncatedEvent, OpenAI::Models::Realtime::RealtimeErrorEvent, OpenAI::Models::Realtime::InputAudioBufferClearedEvent, OpenAI::Models::Realtime::InputAudioBufferCommittedEvent, OpenAI::Models::Realtime::InputAudioBufferSpeechStartedEvent, OpenAI::Models::Realtime::InputAudioBufferSpeechStoppedEvent, OpenAI::Models::Realtime::RateLimitsUpdatedEvent, OpenAI::Models::Realtime::ResponseAudioDeltaEvent, OpenAI::Models::Realtime::ResponseAudioDoneEvent, OpenAI::Models::Realtime::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Realtime::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Realtime::ResponseContentPartAddedEvent, OpenAI::Models::Realtime::ResponseContentPartDoneEvent, OpenAI::Models::Realtime::ResponseCreatedEvent, OpenAI::Models::Realtime::ResponseDoneEvent, OpenAI::Models::Realtime::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Realtime::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Realtime::ResponseOutputItemAddedEvent, OpenAI::Models::Realtime::ResponseOutputItemDoneEvent, OpenAI::Models::Realtime::ResponseTextDeltaEvent, OpenAI::Models::Realtime::ResponseTextDoneEvent, OpenAI::Models::Realtime::SessionCreatedEvent, OpenAI::Models::Realtime::SessionUpdatedEvent, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferStarted, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferStopped, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferCleared, OpenAI::Models::Realtime::ConversationItemAdded, OpenAI::Models::Realtime::ConversationItemDone, OpenAI::Models::Realtime::InputAudioBufferTimeoutTriggered, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionSegment, OpenAI::Models::Realtime::McpListToolsInProgress, OpenAI::Models::Realtime::McpListToolsCompleted, OpenAI::Models::Realtime::McpListToolsFailed, OpenAI::Models::Realtime::ResponseMcpCallArgumentsDelta, OpenAI::Models::Realtime::ResponseMcpCallArgumentsDone, OpenAI::Models::Realtime::ResponseMcpCallInProgress, OpenAI::Models::Realtime::ResponseMcpCallCompleted, OpenAI::Models::Realtime::ResponseMcpCallFailed)]
|
|
393
|
+
# @return [Array(OpenAI::Models::Realtime::ConversationCreatedEvent, OpenAI::Models::Realtime::ConversationItemCreatedEvent, OpenAI::Models::Realtime::ConversationItemDeletedEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionDeltaEvent, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionFailedEvent, OpenAI::Models::Realtime::RealtimeServerEvent::ConversationItemRetrieved, OpenAI::Models::Realtime::ConversationItemTruncatedEvent, OpenAI::Models::Realtime::RealtimeErrorEvent, OpenAI::Models::Realtime::InputAudioBufferClearedEvent, OpenAI::Models::Realtime::InputAudioBufferCommittedEvent, OpenAI::Models::Realtime::InputAudioBufferDtmfEventReceivedEvent, OpenAI::Models::Realtime::InputAudioBufferSpeechStartedEvent, OpenAI::Models::Realtime::InputAudioBufferSpeechStoppedEvent, OpenAI::Models::Realtime::RateLimitsUpdatedEvent, OpenAI::Models::Realtime::ResponseAudioDeltaEvent, OpenAI::Models::Realtime::ResponseAudioDoneEvent, OpenAI::Models::Realtime::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Realtime::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Realtime::ResponseContentPartAddedEvent, OpenAI::Models::Realtime::ResponseContentPartDoneEvent, OpenAI::Models::Realtime::ResponseCreatedEvent, OpenAI::Models::Realtime::ResponseDoneEvent, OpenAI::Models::Realtime::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Realtime::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Realtime::ResponseOutputItemAddedEvent, OpenAI::Models::Realtime::ResponseOutputItemDoneEvent, OpenAI::Models::Realtime::ResponseTextDeltaEvent, OpenAI::Models::Realtime::ResponseTextDoneEvent, OpenAI::Models::Realtime::SessionCreatedEvent, OpenAI::Models::Realtime::SessionUpdatedEvent, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferStarted, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferStopped, OpenAI::Models::Realtime::RealtimeServerEvent::OutputAudioBufferCleared, OpenAI::Models::Realtime::ConversationItemAdded, OpenAI::Models::Realtime::ConversationItemDone, OpenAI::Models::Realtime::InputAudioBufferTimeoutTriggered, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionSegment, OpenAI::Models::Realtime::McpListToolsInProgress, OpenAI::Models::Realtime::McpListToolsCompleted, OpenAI::Models::Realtime::McpListToolsFailed, OpenAI::Models::Realtime::ResponseMcpCallArgumentsDelta, OpenAI::Models::Realtime::ResponseMcpCallArgumentsDone, OpenAI::Models::Realtime::ResponseMcpCallInProgress, OpenAI::Models::Realtime::ResponseMcpCallCompleted, OpenAI::Models::Realtime::ResponseMcpCallFailed)]
|
|
387
394
|
end
|
|
388
395
|
end
|
|
389
396
|
end
|
|
@@ -443,7 +443,11 @@ module OpenAI
|
|
|
443
443
|
|
|
444
444
|
# @!attribute create_response
|
|
445
445
|
# Whether or not to automatically generate a response when a VAD stop event
|
|
446
|
-
# occurs.
|
|
446
|
+
# occurs. If `interrupt_response` is set to `false` this may fail to create a
|
|
447
|
+
# response if the model is already responding.
|
|
448
|
+
#
|
|
449
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
450
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
447
451
|
#
|
|
448
452
|
# @return [Boolean, nil]
|
|
449
453
|
optional :create_response, OpenAI::Internal::Type::Boolean
|
|
@@ -466,9 +470,13 @@ module OpenAI
|
|
|
466
470
|
optional :idle_timeout_ms, Integer, nil?: true
|
|
467
471
|
|
|
468
472
|
# @!attribute interrupt_response
|
|
469
|
-
# Whether or not to automatically interrupt any ongoing response with
|
|
470
|
-
# the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
471
|
-
# occurs.
|
|
473
|
+
# Whether or not to automatically interrupt (cancel) any ongoing response with
|
|
474
|
+
# output to the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
475
|
+
# start event occurs. If `true` then the response will be cancelled, otherwise it
|
|
476
|
+
# will continue until complete.
|
|
477
|
+
#
|
|
478
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
479
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
472
480
|
#
|
|
473
481
|
# @return [Boolean, nil]
|
|
474
482
|
optional :interrupt_response, OpenAI::Internal::Type::Boolean
|
|
@@ -508,7 +516,7 @@ module OpenAI
|
|
|
508
516
|
#
|
|
509
517
|
# @param idle_timeout_ms [Integer, nil] Optional timeout after which a model response will be triggered automatically. T
|
|
510
518
|
#
|
|
511
|
-
# @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with
|
|
519
|
+
# @param interrupt_response [Boolean] Whether or not to automatically interrupt (cancel) any ongoing response with out
|
|
512
520
|
#
|
|
513
521
|
# @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
|
|
514
522
|
#
|
|
@@ -102,15 +102,20 @@ module OpenAI
|
|
|
102
102
|
# limit, the conversation be truncated, meaning messages (starting from the
|
|
103
103
|
# oldest) will not be included in the model's context. A 32k context model with
|
|
104
104
|
# 4,096 max output tokens can only include 28,224 tokens in the context before
|
|
105
|
-
# truncation occurs.
|
|
106
|
-
#
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
110
|
-
#
|
|
111
|
-
#
|
|
112
|
-
#
|
|
113
|
-
#
|
|
105
|
+
# truncation occurs.
|
|
106
|
+
#
|
|
107
|
+
# Clients can configure truncation behavior to truncate with a lower max token
|
|
108
|
+
# limit, which is an effective way to control token usage and cost.
|
|
109
|
+
#
|
|
110
|
+
# Truncation will reduce the number of cached tokens on the next turn (busting the
|
|
111
|
+
# cache), since messages are dropped from the beginning of the context. However,
|
|
112
|
+
# clients can also configure truncation to retain messages up to a fraction of the
|
|
113
|
+
# maximum context size, which will reduce the need for future truncations and thus
|
|
114
|
+
# improve the cache rate.
|
|
115
|
+
#
|
|
116
|
+
# Truncation can be disabled entirely, which means the server will never truncate
|
|
117
|
+
# but would instead return an error if the conversation exceeds the model's input
|
|
118
|
+
# token limit.
|
|
114
119
|
#
|
|
115
120
|
# @return [Symbol, OpenAI::Models::Realtime::RealtimeTruncation::RealtimeTruncationStrategy, OpenAI::Models::Realtime::RealtimeTruncationRetentionRatio, nil]
|
|
116
121
|
optional :truncation, union: -> { OpenAI::Realtime::RealtimeTruncation }
|
|
@@ -110,15 +110,20 @@ module OpenAI
|
|
|
110
110
|
# limit, the conversation be truncated, meaning messages (starting from the
|
|
111
111
|
# oldest) will not be included in the model's context. A 32k context model with
|
|
112
112
|
# 4,096 max output tokens can only include 28,224 tokens in the context before
|
|
113
|
-
# truncation occurs.
|
|
114
|
-
#
|
|
115
|
-
#
|
|
116
|
-
#
|
|
117
|
-
#
|
|
118
|
-
#
|
|
119
|
-
#
|
|
120
|
-
#
|
|
121
|
-
#
|
|
113
|
+
# truncation occurs.
|
|
114
|
+
#
|
|
115
|
+
# Clients can configure truncation behavior to truncate with a lower max token
|
|
116
|
+
# limit, which is an effective way to control token usage and cost.
|
|
117
|
+
#
|
|
118
|
+
# Truncation will reduce the number of cached tokens on the next turn (busting the
|
|
119
|
+
# cache), since messages are dropped from the beginning of the context. However,
|
|
120
|
+
# clients can also configure truncation to retain messages up to a fraction of the
|
|
121
|
+
# maximum context size, which will reduce the need for future truncations and thus
|
|
122
|
+
# improve the cache rate.
|
|
123
|
+
#
|
|
124
|
+
# Truncation can be disabled entirely, which means the server will never truncate
|
|
125
|
+
# but would instead return an error if the conversation exceeds the model's input
|
|
126
|
+
# token limit.
|
|
122
127
|
#
|
|
123
128
|
# @return [Symbol, OpenAI::Models::Realtime::RealtimeTruncation::RealtimeTruncationStrategy, OpenAI::Models::Realtime::RealtimeTruncationRetentionRatio, nil]
|
|
124
129
|
optional :truncation, union: -> { OpenAI::Realtime::RealtimeTruncation }
|
|
@@ -302,7 +307,11 @@ module OpenAI
|
|
|
302
307
|
|
|
303
308
|
# @!attribute create_response
|
|
304
309
|
# Whether or not to automatically generate a response when a VAD stop event
|
|
305
|
-
# occurs.
|
|
310
|
+
# occurs. If `interrupt_response` is set to `false` this may fail to create a
|
|
311
|
+
# response if the model is already responding.
|
|
312
|
+
#
|
|
313
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
314
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
306
315
|
#
|
|
307
316
|
# @return [Boolean, nil]
|
|
308
317
|
optional :create_response, OpenAI::Internal::Type::Boolean
|
|
@@ -325,9 +334,13 @@ module OpenAI
|
|
|
325
334
|
optional :idle_timeout_ms, Integer, nil?: true
|
|
326
335
|
|
|
327
336
|
# @!attribute interrupt_response
|
|
328
|
-
# Whether or not to automatically interrupt any ongoing response with
|
|
329
|
-
# the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
330
|
-
# occurs.
|
|
337
|
+
# Whether or not to automatically interrupt (cancel) any ongoing response with
|
|
338
|
+
# output to the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
339
|
+
# start event occurs. If `true` then the response will be cancelled, otherwise it
|
|
340
|
+
# will continue until complete.
|
|
341
|
+
#
|
|
342
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
343
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
331
344
|
#
|
|
332
345
|
# @return [Boolean, nil]
|
|
333
346
|
optional :interrupt_response, OpenAI::Internal::Type::Boolean
|
|
@@ -367,7 +380,7 @@ module OpenAI
|
|
|
367
380
|
#
|
|
368
381
|
# @param idle_timeout_ms [Integer, nil] Optional timeout after which a model response will be triggered automatically. T
|
|
369
382
|
#
|
|
370
|
-
# @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with
|
|
383
|
+
# @param interrupt_response [Boolean] Whether or not to automatically interrupt (cancel) any ongoing response with out
|
|
371
384
|
#
|
|
372
385
|
# @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
|
|
373
386
|
#
|
data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb
CHANGED
|
@@ -38,7 +38,11 @@ module OpenAI
|
|
|
38
38
|
|
|
39
39
|
# @!attribute create_response
|
|
40
40
|
# Whether or not to automatically generate a response when a VAD stop event
|
|
41
|
-
# occurs.
|
|
41
|
+
# occurs. If `interrupt_response` is set to `false` this may fail to create a
|
|
42
|
+
# response if the model is already responding.
|
|
43
|
+
#
|
|
44
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
45
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
42
46
|
#
|
|
43
47
|
# @return [Boolean, nil]
|
|
44
48
|
optional :create_response, OpenAI::Internal::Type::Boolean
|
|
@@ -61,9 +65,13 @@ module OpenAI
|
|
|
61
65
|
optional :idle_timeout_ms, Integer, nil?: true
|
|
62
66
|
|
|
63
67
|
# @!attribute interrupt_response
|
|
64
|
-
# Whether or not to automatically interrupt any ongoing response with
|
|
65
|
-
# the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
66
|
-
# occurs.
|
|
68
|
+
# Whether or not to automatically interrupt (cancel) any ongoing response with
|
|
69
|
+
# output to the default conversation (i.e. `conversation` of `auto`) when a VAD
|
|
70
|
+
# start event occurs. If `true` then the response will be cancelled, otherwise it
|
|
71
|
+
# will continue until complete.
|
|
72
|
+
#
|
|
73
|
+
# If both `create_response` and `interrupt_response` are set to `false`, the model
|
|
74
|
+
# will never respond automatically but VAD events will still be emitted.
|
|
67
75
|
#
|
|
68
76
|
# @return [Boolean, nil]
|
|
69
77
|
optional :interrupt_response, OpenAI::Internal::Type::Boolean
|
|
@@ -103,7 +111,7 @@ module OpenAI
|
|
|
103
111
|
#
|
|
104
112
|
# @param idle_timeout_ms [Integer, nil] Optional timeout after which a model response will be triggered automatically. T
|
|
105
113
|
#
|
|
106
|
-
# @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with
|
|
114
|
+
# @param interrupt_response [Boolean] Whether or not to automatically interrupt (cancel) any ongoing response with out
|
|
107
115
|
#
|
|
108
116
|
# @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
|
|
109
117
|
#
|
|
@@ -7,15 +7,20 @@ module OpenAI
|
|
|
7
7
|
# limit, the conversation be truncated, meaning messages (starting from the
|
|
8
8
|
# oldest) will not be included in the model's context. A 32k context model with
|
|
9
9
|
# 4,096 max output tokens can only include 28,224 tokens in the context before
|
|
10
|
-
# truncation occurs.
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
10
|
+
# truncation occurs.
|
|
11
|
+
#
|
|
12
|
+
# Clients can configure truncation behavior to truncate with a lower max token
|
|
13
|
+
# limit, which is an effective way to control token usage and cost.
|
|
14
|
+
#
|
|
15
|
+
# Truncation will reduce the number of cached tokens on the next turn (busting the
|
|
16
|
+
# cache), since messages are dropped from the beginning of the context. However,
|
|
17
|
+
# clients can also configure truncation to retain messages up to a fraction of the
|
|
18
|
+
# maximum context size, which will reduce the need for future truncations and thus
|
|
19
|
+
# improve the cache rate.
|
|
20
|
+
#
|
|
21
|
+
# Truncation can be disabled entirely, which means the server will never truncate
|
|
22
|
+
# but would instead return an error if the conversation exceeds the model's input
|
|
23
|
+
# token limit.
|
|
19
24
|
module RealtimeTruncation
|
|
20
25
|
extend OpenAI::Internal::Type::Union
|
|
21
26
|
|
|
@@ -6,9 +6,9 @@ module OpenAI
|
|
|
6
6
|
# @!attribute effort
|
|
7
7
|
# Constrains effort on reasoning for
|
|
8
8
|
# [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
|
|
9
|
-
# supported values are `none`, `minimal`, `low`, `medium`, and `
|
|
10
|
-
# reasoning effort can result in faster responses and fewer tokens used
|
|
11
|
-
# reasoning in a response.
|
|
9
|
+
# supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
|
|
10
|
+
# Reducing reasoning effort can result in faster responses and fewer tokens used
|
|
11
|
+
# on reasoning in a response.
|
|
12
12
|
#
|
|
13
13
|
# - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
|
|
14
14
|
# reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
|
|
@@ -16,6 +16,7 @@ module OpenAI
|
|
|
16
16
|
# - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
|
|
17
17
|
# support `none`.
|
|
18
18
|
# - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
|
|
19
|
+
# - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
|
|
19
20
|
#
|
|
20
21
|
# @return [Symbol, OpenAI::Models::ReasoningEffort, nil]
|
|
21
22
|
optional :effort, enum: -> { OpenAI::ReasoningEffort }, nil?: true
|
|
@@ -4,9 +4,9 @@ module OpenAI
|
|
|
4
4
|
module Models
|
|
5
5
|
# Constrains effort on reasoning for
|
|
6
6
|
# [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
|
|
7
|
-
# supported values are `none`, `minimal`, `low`, `medium`, and `
|
|
8
|
-
# reasoning effort can result in faster responses and fewer tokens used
|
|
9
|
-
# reasoning in a response.
|
|
7
|
+
# supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
|
|
8
|
+
# Reducing reasoning effort can result in faster responses and fewer tokens used
|
|
9
|
+
# on reasoning in a response.
|
|
10
10
|
#
|
|
11
11
|
# - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
|
|
12
12
|
# reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
|
|
@@ -14,6 +14,7 @@ module OpenAI
|
|
|
14
14
|
# - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
|
|
15
15
|
# support `none`.
|
|
16
16
|
# - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
|
|
17
|
+
# - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
|
|
17
18
|
module ReasoningEffort
|
|
18
19
|
extend OpenAI::Internal::Type::Enum
|
|
19
20
|
|
|
@@ -22,6 +23,7 @@ module OpenAI
|
|
|
22
23
|
LOW = :low
|
|
23
24
|
MEDIUM = :medium
|
|
24
25
|
HIGH = :high
|
|
26
|
+
XHIGH = :xhigh
|
|
25
27
|
|
|
26
28
|
# @!method self.values
|
|
27
29
|
# @return [Array<Symbol>]
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Responses
|
|
6
|
+
# @see OpenAI::Resources::Responses#compact
|
|
7
|
+
class CompactedResponse < OpenAI::Internal::Type::BaseModel
|
|
8
|
+
# @!attribute id
|
|
9
|
+
# The unique identifier for the compacted response.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :id, String
|
|
13
|
+
|
|
14
|
+
# @!attribute created_at
|
|
15
|
+
# Unix timestamp (in seconds) when the compacted conversation was created.
|
|
16
|
+
#
|
|
17
|
+
# @return [Integer]
|
|
18
|
+
required :created_at, Integer
|
|
19
|
+
|
|
20
|
+
# @!attribute object
|
|
21
|
+
# The object type. Always `response.compaction`.
|
|
22
|
+
#
|
|
23
|
+
# @return [Symbol, :"response.compaction"]
|
|
24
|
+
required :object, const: :"response.compaction"
|
|
25
|
+
|
|
26
|
+
# @!attribute output
|
|
27
|
+
# The compacted list of output items. This is a list of all user messages,
|
|
28
|
+
# followed by a single compaction item.
|
|
29
|
+
#
|
|
30
|
+
# @return [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>]
|
|
31
|
+
required :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseOutputItem] }
|
|
32
|
+
|
|
33
|
+
# @!attribute usage
|
|
34
|
+
# Token accounting for the compaction pass, including cached, reasoning, and total
|
|
35
|
+
# tokens.
|
|
36
|
+
#
|
|
37
|
+
# @return [OpenAI::Models::Responses::ResponseUsage]
|
|
38
|
+
required :usage, -> { OpenAI::Responses::ResponseUsage }
|
|
39
|
+
|
|
40
|
+
# @!method initialize(id:, created_at:, output:, usage:, object: :"response.compaction")
|
|
41
|
+
# Some parameter documentations has been truncated, see
|
|
42
|
+
# {OpenAI::Models::Responses::CompactedResponse} for more details.
|
|
43
|
+
#
|
|
44
|
+
# @param id [String] The unique identifier for the compacted response.
|
|
45
|
+
#
|
|
46
|
+
# @param created_at [Integer] Unix timestamp (in seconds) when the compacted conversation was created.
|
|
47
|
+
#
|
|
48
|
+
# @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseCustomToolCall>] The compacted list of output items. This is a list of all user messages, followe
|
|
49
|
+
#
|
|
50
|
+
# @param usage [OpenAI::Models::Responses::ResponseUsage] Token accounting for the compaction pass, including cached, reasoning, and total
|
|
51
|
+
#
|
|
52
|
+
# @param object [Symbol, :"response.compaction"] The object type. Always `response.compaction`.
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|