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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/README.md +14 -20
- data/lib/openai/internal/transport/base_client.rb +1 -1
- data/lib/openai/internal/type/array_of.rb +1 -0
- data/lib/openai/internal/type/base_model.rb +3 -1
- data/lib/openai/internal/type/converter.rb +27 -0
- data/lib/openai/internal/type/enum.rb +6 -6
- data/lib/openai/internal/type/hash_of.rb +1 -0
- data/lib/openai/internal/type/union.rb +22 -24
- data/lib/openai/models/beta/assistant_create_params.rb +4 -5
- data/lib/openai/models/beta/assistant_update_params.rb +22 -5
- data/lib/openai/models/beta/threads/run_create_params.rb +4 -5
- data/lib/openai/models/chat/chat_completion_allowed_tool_choice.rb +33 -0
- data/lib/openai/models/chat/chat_completion_allowed_tools.rb +64 -0
- data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +3 -5
- data/lib/openai/models/chat/chat_completion_custom_tool.rb +163 -0
- data/lib/openai/models/chat/chat_completion_function_tool.rb +29 -0
- data/lib/openai/models/chat/chat_completion_message.rb +3 -5
- data/lib/openai/models/chat/chat_completion_message_custom_tool_call.rb +60 -0
- data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +73 -0
- data/lib/openai/models/chat/chat_completion_message_tool_call.rb +10 -56
- data/lib/openai/models/chat/chat_completion_named_tool_choice.rb +2 -2
- data/lib/openai/models/chat/chat_completion_named_tool_choice_custom.rb +42 -0
- data/lib/openai/models/chat/chat_completion_stream_options.rb +14 -1
- data/lib/openai/models/chat/chat_completion_tool.rb +12 -14
- data/lib/openai/models/chat/chat_completion_tool_choice_option.rb +7 -1
- data/lib/openai/models/chat/completion_create_params.rb +35 -12
- data/lib/openai/models/chat_model.rb +7 -0
- data/lib/openai/models/custom_tool_input_format.rb +76 -0
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +3 -3
- data/lib/openai/models/evals/run_cancel_response.rb +2 -2
- data/lib/openai/models/evals/run_create_params.rb +2 -2
- data/lib/openai/models/evals/run_create_response.rb +2 -2
- data/lib/openai/models/evals/run_list_response.rb +2 -2
- data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
- data/lib/openai/models/reasoning.rb +4 -5
- data/lib/openai/models/reasoning_effort.rb +4 -4
- data/lib/openai/models/response_format_text_grammar.rb +27 -0
- data/lib/openai/models/response_format_text_python.rb +20 -0
- data/lib/openai/models/responses/custom_tool.rb +48 -0
- data/lib/openai/models/responses/response.rb +20 -12
- data/lib/openai/models/responses/response_create_params.rb +48 -10
- data/lib/openai/models/responses/response_custom_tool_call.rb +55 -0
- data/lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb +52 -0
- data/lib/openai/models/responses/response_custom_tool_call_input_done_event.rb +52 -0
- data/lib/openai/models/responses/response_custom_tool_call_output.rb +47 -0
- data/lib/openai/models/responses/response_input_item.rb +7 -1
- 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/response_reasoning_item.rb +36 -5
- data/lib/openai/models/responses/response_reasoning_text_delta_event.rb +63 -0
- data/lib/openai/models/responses/response_reasoning_text_done_event.rb +63 -0
- data/lib/openai/models/responses/response_retrieve_params.rb +14 -1
- data/lib/openai/models/responses/response_stream_event.rb +13 -11
- data/lib/openai/models/responses/response_text_config.rb +27 -1
- data/lib/openai/models/responses/tool.rb +5 -1
- data/lib/openai/models/responses/tool_choice_allowed.rb +73 -0
- data/lib/openai/models/responses/tool_choice_custom.rb +28 -0
- data/lib/openai/models/vector_store_search_params.rb +6 -1
- data/lib/openai/models.rb +6 -0
- data/lib/openai/resources/beta/assistants.rb +2 -2
- data/lib/openai/resources/beta/threads/runs.rb +2 -2
- data/lib/openai/resources/chat/completions.rb +16 -10
- data/lib/openai/resources/responses.rb +38 -22
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +19 -2
- data/rbi/openai/internal/transport/base_client.rbi +1 -1
- data/rbi/openai/internal/type/converter.rbi +46 -0
- data/rbi/openai/internal/type/union.rbi +7 -2
- data/rbi/openai/models/beta/assistant_create_params.rbi +6 -8
- data/rbi/openai/models/beta/assistant_update_params.rbi +36 -8
- data/rbi/openai/models/beta/threads/run_create_params.rbi +6 -8
- data/rbi/openai/models/chat/chat_completion_allowed_tool_choice.rbi +60 -0
- data/rbi/openai/models/chat/chat_completion_allowed_tools.rbi +118 -0
- data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +27 -4
- data/rbi/openai/models/chat/chat_completion_custom_tool.rbi +335 -0
- data/rbi/openai/models/chat/chat_completion_function_tool.rbi +51 -0
- data/rbi/openai/models/chat/chat_completion_message.rbi +17 -4
- data/rbi/openai/models/chat/chat_completion_message_custom_tool_call.rbi +105 -0
- data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +118 -0
- data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +9 -92
- data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +2 -2
- data/rbi/openai/models/chat/chat_completion_named_tool_choice_custom.rbi +89 -0
- data/rbi/openai/models/chat/chat_completion_stream_options.rbi +30 -2
- data/rbi/openai/models/chat/chat_completion_tool.rbi +11 -30
- data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +3 -1
- data/rbi/openai/models/chat/completion_create_params.rbi +106 -25
- data/rbi/openai/models/chat_model.rbi +11 -0
- data/rbi/openai/models/custom_tool_input_format.rbi +136 -0
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +8 -4
- data/rbi/openai/models/evals/run_cancel_response.rbi +2 -0
- data/rbi/openai/models/evals/run_create_params.rbi +4 -0
- data/rbi/openai/models/evals/run_create_response.rbi +2 -0
- data/rbi/openai/models/evals/run_list_response.rbi +2 -0
- data/rbi/openai/models/evals/run_retrieve_response.rbi +2 -0
- data/rbi/openai/models/reasoning.rbi +6 -8
- data/rbi/openai/models/reasoning_effort.rbi +4 -4
- data/rbi/openai/models/response_format_text_grammar.rbi +35 -0
- data/rbi/openai/models/response_format_text_python.rbi +30 -0
- data/rbi/openai/models/responses/custom_tool.rbi +96 -0
- data/rbi/openai/models/responses/response.rbi +15 -5
- data/rbi/openai/models/responses/response_create_params.rbi +94 -7
- data/rbi/openai/models/responses/response_custom_tool_call.rbi +78 -0
- data/rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi +75 -0
- data/rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi +75 -0
- data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +65 -0
- data/rbi/openai/models/responses/response_input_item.rbi +2 -0
- data/rbi/openai/models/responses/response_output_item.rbi +2 -1
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -1
- data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -1
- data/rbi/openai/models/responses/response_reasoning_item.rbi +63 -4
- data/rbi/openai/models/responses/response_reasoning_text_delta_event.rbi +83 -0
- data/rbi/openai/models/responses/{response_reasoning_summary_done_event.rbi → response_reasoning_text_done_event.rbi} +20 -20
- data/rbi/openai/models/responses/response_retrieve_params.rbi +21 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +4 -2
- data/rbi/openai/models/responses/response_text_config.rbi +64 -1
- data/rbi/openai/models/responses/tool.rbi +1 -0
- data/rbi/openai/models/responses/tool_choice_allowed.rbi +124 -0
- data/rbi/openai/models/responses/tool_choice_custom.rbi +39 -0
- data/rbi/openai/models/vector_store_search_params.rbi +12 -1
- data/rbi/openai/models.rbi +6 -0
- data/rbi/openai/resources/beta/assistants.rbi +6 -8
- data/rbi/openai/resources/beta/threads/runs.rbi +8 -10
- data/rbi/openai/resources/chat/completions.rbi +44 -19
- data/rbi/openai/resources/responses.rbi +215 -41
- data/sig/openai/internal/transport/base_client.rbs +1 -1
- data/sig/openai/internal/type/converter.rbs +17 -0
- data/sig/openai/internal/type/union.rbs +2 -2
- data/sig/openai/models/beta/assistant_update_params.rbs +12 -0
- data/sig/openai/models/chat/chat_completion_allowed_tool_choice.rbs +29 -0
- data/sig/openai/models/chat/chat_completion_allowed_tools.rbs +38 -0
- data/sig/openai/models/chat/chat_completion_assistant_message_param.rbs +6 -6
- data/sig/openai/models/chat/chat_completion_custom_tool.rbs +137 -0
- data/sig/openai/models/chat/chat_completion_function_tool.rbs +26 -0
- data/sig/openai/models/chat/chat_completion_message.rbs +6 -6
- data/sig/openai/models/chat/chat_completion_message_custom_tool_call.rbs +46 -0
- data/sig/openai/models/chat/chat_completion_message_function_tool_call.rbs +46 -0
- data/sig/openai/models/chat/chat_completion_message_tool_call.rbs +6 -35
- data/sig/openai/models/chat/chat_completion_named_tool_choice_custom.rbs +39 -0
- data/sig/openai/models/chat/chat_completion_stream_options.rbs +11 -3
- data/sig/openai/models/chat/chat_completion_tool.rbs +6 -15
- data/sig/openai/models/chat/chat_completion_tool_choice_option.rbs +2 -0
- data/sig/openai/models/chat/completion_create_params.rbs +23 -6
- data/sig/openai/models/chat_model.rbs +15 -1
- data/sig/openai/models/custom_tool_input_format.rbs +61 -0
- data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +6 -6
- data/sig/openai/models/reasoning_effort.rbs +2 -1
- data/sig/openai/models/response_format_text_grammar.rbs +15 -0
- data/sig/openai/models/response_format_text_python.rbs +13 -0
- data/sig/openai/models/responses/custom_tool.rbs +43 -0
- data/sig/openai/models/responses/response.rbs +2 -0
- data/sig/openai/models/responses/response_create_params.rbs +19 -0
- data/sig/openai/models/responses/response_custom_tool_call.rbs +44 -0
- data/sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs +42 -0
- data/sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs +42 -0
- data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -0
- data/sig/openai/models/responses/response_input_item.rbs +2 -0
- data/sig/openai/models/responses/response_output_item.rbs +1 -0
- data/sig/openai/models/responses/response_reasoning_item.rbs +21 -0
- data/sig/openai/models/responses/{response_reasoning_summary_delta_event.rbs → response_reasoning_text_delta_event.rbs} +15 -15
- data/sig/openai/models/responses/{response_reasoning_summary_done_event.rbs → response_reasoning_text_done_event.rbs} +11 -11
- data/sig/openai/models/responses/response_retrieve_params.rbs +7 -0
- data/sig/openai/models/responses/response_stream_event.rbs +4 -2
- data/sig/openai/models/responses/response_text_config.rbs +22 -3
- data/sig/openai/models/responses/tool.rbs +1 -0
- data/sig/openai/models/responses/tool_choice_allowed.rbs +43 -0
- data/sig/openai/models/responses/tool_choice_custom.rbs +17 -0
- data/sig/openai/models/vector_store_search_params.rbs +2 -1
- data/sig/openai/models.rbs +6 -0
- data/sig/openai/resources/chat/completions.rbs +4 -2
- data/sig/openai/resources/responses.rbs +32 -0
- metadata +59 -8
- data/lib/openai/models/responses/response_reasoning_summary_delta_event.rb +0 -65
- data/lib/openai/models/responses/response_reasoning_summary_done_event.rb +0 -60
- 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
|
-
#
|
195
|
-
variant :"response.
|
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
|
-
#
|
201
|
-
variant :"response.
|
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::
|
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
|
-
# @!
|
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]
|
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]
|
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:
|
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:
|
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]
|
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::
|
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
|
-
|
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
|
-
|
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]
|
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::
|
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]
|