openai 0.4.1 → 0.5.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 +19 -0
- data/README.md +1 -1
- data/lib/openai/internal/util.rb +5 -1
- data/lib/openai/models/responses/response_output_text.rb +68 -1
- data/lib/openai/models/responses/response_retrieve_params.rb +11 -1
- data/lib/openai/resources/beta/threads/messages.rb +11 -0
- data/lib/openai/resources/beta/threads/runs/steps.rb +5 -0
- data/lib/openai/resources/beta/threads/runs.rb +17 -0
- data/lib/openai/resources/beta/threads.rb +15 -2
- data/lib/openai/resources/containers/files/content.rb +3 -2
- data/lib/openai/resources/responses.rb +47 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +3 -1
- data/rbi/openai/models/responses/response_output_text.rbi +117 -1
- data/rbi/openai/models/responses/response_retrieve_params.rbi +11 -0
- data/rbi/openai/resources/containers/files/content.rbi +1 -1
- data/rbi/openai/resources/responses.rbi +40 -0
- data/sig/openai/models/responses/response_output_text.rbs +66 -2
- data/sig/openai/models/responses/response_retrieve_params.rbs +10 -1
- data/sig/openai/resources/containers/files/content.rbs +1 -1
- data/sig/openai/resources/responses.rbs +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47fb7720e93045ef9ea453bfa010f7c371e787bbef29cd4a030b4022f9402cae
|
4
|
+
data.tar.gz: f055a7952e0aef69b1b7c55ed9b388c3c96c870022bc2f24b199fce4d15cd029
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05d0d579d341ae49f9e37afce59d8231490ba4e97c0f7015223ae66b22ea70243a3dc4ea4f58cd3214f49550bef85f71916f67056a2d0bdc22884733172414bf
|
7
|
+
data.tar.gz: f808c8aa99ec25fcd98bdfc7cba0a2736e2c495a8c84c1cdeea59709b29a498c469d1e3a8611c00aa7bb6453c00ea2c1c60ee86d7cc21b574d58f31ac3bcb484
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.5.0 (2025-05-29)
|
4
|
+
|
5
|
+
Full Changelog: [v0.4.1...v0.5.0](https://github.com/openai/openai-ruby/compare/v0.4.1...v0.5.0)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **api:** Config update for pakrym-stream-param ([214e516](https://github.com/openai/openai-ruby/commit/214e516f286a026e5b040ffd76b930cad7d5eabf))
|
10
|
+
|
11
|
+
|
12
|
+
### Bug Fixes
|
13
|
+
|
14
|
+
* **client:** return binary content from `get /containers/{container_id}/files/{file_id}/content` ([2b7122a](https://github.com/openai/openai-ruby/commit/2b7122ad724620269c3b403d5a584d710bed5b5c))
|
15
|
+
* sorbet types for enums, and make tapioca detection ignore `tapioca dsl` ([0e24b3e](https://github.com/openai/openai-ruby/commit/0e24b3e0a574de5c0544067c53b9e693e4cec3b1))
|
16
|
+
|
17
|
+
|
18
|
+
### Chores
|
19
|
+
|
20
|
+
* deprecate Assistants API ([4ce7530](https://github.com/openai/openai-ruby/commit/4ce753088e18a3331fccf6608889243809ce187b))
|
21
|
+
|
3
22
|
## 0.4.1 (2025-05-23)
|
4
23
|
|
5
24
|
Full Changelog: [v0.4.0-beta.1...v0.4.1](https://github.com/openai/openai-ruby/compare/v0.4.0-beta.1...v0.4.1)
|
data/README.md
CHANGED
data/lib/openai/internal/util.rb
CHANGED
@@ -31,13 +31,23 @@ module OpenAI
|
|
31
31
|
# @return [Symbol, :output_text]
|
32
32
|
required :type, const: :output_text
|
33
33
|
|
34
|
-
# @!
|
34
|
+
# @!attribute logprobs
|
35
|
+
#
|
36
|
+
# @return [Array<OpenAI::Models::Responses::ResponseOutputText::Logprob>, nil]
|
37
|
+
optional :logprobs,
|
38
|
+
-> {
|
39
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseOutputText::Logprob]
|
40
|
+
}
|
41
|
+
|
42
|
+
# @!method initialize(annotations:, text:, logprobs: nil, type: :output_text)
|
35
43
|
# A text output from the model.
|
36
44
|
#
|
37
45
|
# @param annotations [Array<OpenAI::Models::Responses::ResponseOutputText::Annotation::FileCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::URLCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::FilePath>] The annotations of the text output.
|
38
46
|
#
|
39
47
|
# @param text [String] The text output from the model.
|
40
48
|
#
|
49
|
+
# @param logprobs [Array<OpenAI::Models::Responses::ResponseOutputText::Logprob>]
|
50
|
+
#
|
41
51
|
# @param type [Symbol, :output_text] The type of the output text. Always `output_text`.
|
42
52
|
|
43
53
|
# A citation to a file.
|
@@ -165,6 +175,63 @@ module OpenAI
|
|
165
175
|
# @!method self.variants
|
166
176
|
# @return [Array(OpenAI::Models::Responses::ResponseOutputText::Annotation::FileCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::URLCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::FilePath)]
|
167
177
|
end
|
178
|
+
|
179
|
+
class Logprob < OpenAI::Internal::Type::BaseModel
|
180
|
+
# @!attribute token
|
181
|
+
#
|
182
|
+
# @return [String]
|
183
|
+
required :token, String
|
184
|
+
|
185
|
+
# @!attribute bytes
|
186
|
+
#
|
187
|
+
# @return [Array<Integer>]
|
188
|
+
required :bytes, OpenAI::Internal::Type::ArrayOf[Integer]
|
189
|
+
|
190
|
+
# @!attribute logprob
|
191
|
+
#
|
192
|
+
# @return [Float]
|
193
|
+
required :logprob, Float
|
194
|
+
|
195
|
+
# @!attribute top_logprobs
|
196
|
+
#
|
197
|
+
# @return [Array<OpenAI::Models::Responses::ResponseOutputText::Logprob::TopLogprob>]
|
198
|
+
required :top_logprobs,
|
199
|
+
-> {
|
200
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob]
|
201
|
+
}
|
202
|
+
|
203
|
+
# @!method initialize(token:, bytes:, logprob:, top_logprobs:)
|
204
|
+
# The log probability of a token.
|
205
|
+
#
|
206
|
+
# @param token [String]
|
207
|
+
# @param bytes [Array<Integer>]
|
208
|
+
# @param logprob [Float]
|
209
|
+
# @param top_logprobs [Array<OpenAI::Models::Responses::ResponseOutputText::Logprob::TopLogprob>]
|
210
|
+
|
211
|
+
class TopLogprob < OpenAI::Internal::Type::BaseModel
|
212
|
+
# @!attribute token
|
213
|
+
#
|
214
|
+
# @return [String]
|
215
|
+
required :token, String
|
216
|
+
|
217
|
+
# @!attribute bytes
|
218
|
+
#
|
219
|
+
# @return [Array<Integer>]
|
220
|
+
required :bytes, OpenAI::Internal::Type::ArrayOf[Integer]
|
221
|
+
|
222
|
+
# @!attribute logprob
|
223
|
+
#
|
224
|
+
# @return [Float]
|
225
|
+
required :logprob, Float
|
226
|
+
|
227
|
+
# @!method initialize(token:, bytes:, logprob:)
|
228
|
+
# The top log probability of a token.
|
229
|
+
#
|
230
|
+
# @param token [String]
|
231
|
+
# @param bytes [Array<Integer>]
|
232
|
+
# @param logprob [Float]
|
233
|
+
end
|
234
|
+
end
|
168
235
|
end
|
169
236
|
end
|
170
237
|
end
|
@@ -4,6 +4,8 @@ module OpenAI
|
|
4
4
|
module Models
|
5
5
|
module Responses
|
6
6
|
# @see OpenAI::Resources::Responses#retrieve
|
7
|
+
#
|
8
|
+
# @see OpenAI::Resources::Responses#retrieve_streaming
|
7
9
|
class ResponseRetrieveParams < OpenAI::Internal::Type::BaseModel
|
8
10
|
extend OpenAI::Internal::Type::RequestParameters::Converter
|
9
11
|
include OpenAI::Internal::Type::RequestParameters
|
@@ -15,12 +17,20 @@ module OpenAI
|
|
15
17
|
# @return [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>, nil]
|
16
18
|
optional :include, -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Responses::ResponseIncludable] }
|
17
19
|
|
18
|
-
# @!
|
20
|
+
# @!attribute starting_after
|
21
|
+
# The sequence number of the event after which to start streaming.
|
22
|
+
#
|
23
|
+
# @return [Integer, nil]
|
24
|
+
optional :starting_after, Integer
|
25
|
+
|
26
|
+
# @!method initialize(include: nil, starting_after: nil, request_options: {})
|
19
27
|
# Some parameter documentations has been truncated, see
|
20
28
|
# {OpenAI::Models::Responses::ResponseRetrieveParams} for more details.
|
21
29
|
#
|
22
30
|
# @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>] Additional fields to include in the response. See the `include`
|
23
31
|
#
|
32
|
+
# @param starting_after [Integer] The sequence number of the event after which to start streaming.
|
33
|
+
#
|
24
34
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
25
35
|
end
|
26
36
|
end
|
@@ -4,7 +4,10 @@ module OpenAI
|
|
4
4
|
module Resources
|
5
5
|
class Beta
|
6
6
|
class Threads
|
7
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
7
8
|
class Messages
|
9
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
10
|
+
#
|
8
11
|
# Some parameter documentations has been truncated, see
|
9
12
|
# {OpenAI::Models::Beta::Threads::MessageCreateParams} for more details.
|
10
13
|
#
|
@@ -38,6 +41,8 @@ module OpenAI
|
|
38
41
|
)
|
39
42
|
end
|
40
43
|
|
44
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
45
|
+
#
|
41
46
|
# Some parameter documentations has been truncated, see
|
42
47
|
# {OpenAI::Models::Beta::Threads::MessageRetrieveParams} for more details.
|
43
48
|
#
|
@@ -68,6 +73,8 @@ module OpenAI
|
|
68
73
|
)
|
69
74
|
end
|
70
75
|
|
76
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
77
|
+
#
|
71
78
|
# Some parameter documentations has been truncated, see
|
72
79
|
# {OpenAI::Models::Beta::Threads::MessageUpdateParams} for more details.
|
73
80
|
#
|
@@ -101,6 +108,8 @@ module OpenAI
|
|
101
108
|
)
|
102
109
|
end
|
103
110
|
|
111
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
112
|
+
#
|
104
113
|
# Some parameter documentations has been truncated, see
|
105
114
|
# {OpenAI::Models::Beta::Threads::MessageListParams} for more details.
|
106
115
|
#
|
@@ -137,6 +146,8 @@ module OpenAI
|
|
137
146
|
)
|
138
147
|
end
|
139
148
|
|
149
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
150
|
+
#
|
140
151
|
# Deletes a message.
|
141
152
|
#
|
142
153
|
# @overload delete(message_id, thread_id:, request_options: {})
|
@@ -5,7 +5,10 @@ module OpenAI
|
|
5
5
|
class Beta
|
6
6
|
class Threads
|
7
7
|
class Runs
|
8
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
8
9
|
class Steps
|
10
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
11
|
+
#
|
9
12
|
# Some parameter documentations has been truncated, see
|
10
13
|
# {OpenAI::Models::Beta::Threads::Runs::StepRetrieveParams} for more details.
|
11
14
|
#
|
@@ -45,6 +48,8 @@ module OpenAI
|
|
45
48
|
)
|
46
49
|
end
|
47
50
|
|
51
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
52
|
+
#
|
48
53
|
# Some parameter documentations has been truncated, see
|
49
54
|
# {OpenAI::Models::Beta::Threads::Runs::StepListParams} for more details.
|
50
55
|
#
|
@@ -4,10 +4,13 @@ module OpenAI
|
|
4
4
|
module Resources
|
5
5
|
class Beta
|
6
6
|
class Threads
|
7
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
7
8
|
class Runs
|
8
9
|
# @return [OpenAI::Resources::Beta::Threads::Runs::Steps]
|
9
10
|
attr_reader :steps
|
10
11
|
|
12
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
13
|
+
#
|
11
14
|
# See {OpenAI::Resources::Beta::Threads::Runs#create_stream_raw} for streaming
|
12
15
|
# counterpart.
|
13
16
|
#
|
@@ -76,6 +79,8 @@ module OpenAI
|
|
76
79
|
)
|
77
80
|
end
|
78
81
|
|
82
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
83
|
+
#
|
79
84
|
# See {OpenAI::Resources::Beta::Threads::Runs#create} for non-streaming
|
80
85
|
# counterpart.
|
81
86
|
#
|
@@ -147,6 +152,8 @@ module OpenAI
|
|
147
152
|
)
|
148
153
|
end
|
149
154
|
|
155
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
156
|
+
#
|
150
157
|
# Some parameter documentations has been truncated, see
|
151
158
|
# {OpenAI::Models::Beta::Threads::RunRetrieveParams} for more details.
|
152
159
|
#
|
@@ -177,6 +184,8 @@ module OpenAI
|
|
177
184
|
)
|
178
185
|
end
|
179
186
|
|
187
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
188
|
+
#
|
180
189
|
# Some parameter documentations has been truncated, see
|
181
190
|
# {OpenAI::Models::Beta::Threads::RunUpdateParams} for more details.
|
182
191
|
#
|
@@ -210,6 +219,8 @@ module OpenAI
|
|
210
219
|
)
|
211
220
|
end
|
212
221
|
|
222
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
223
|
+
#
|
213
224
|
# Some parameter documentations has been truncated, see
|
214
225
|
# {OpenAI::Models::Beta::Threads::RunListParams} for more details.
|
215
226
|
#
|
@@ -244,6 +255,8 @@ module OpenAI
|
|
244
255
|
)
|
245
256
|
end
|
246
257
|
|
258
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
259
|
+
#
|
247
260
|
# Cancels a run that is `in_progress`.
|
248
261
|
#
|
249
262
|
# @overload cancel(run_id, thread_id:, request_options: {})
|
@@ -271,6 +284,8 @@ module OpenAI
|
|
271
284
|
)
|
272
285
|
end
|
273
286
|
|
287
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
288
|
+
#
|
274
289
|
# See {OpenAI::Resources::Beta::Threads::Runs#submit_tool_outputs_stream_raw} for
|
275
290
|
# streaming counterpart.
|
276
291
|
#
|
@@ -314,6 +329,8 @@ module OpenAI
|
|
314
329
|
)
|
315
330
|
end
|
316
331
|
|
332
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
333
|
+
#
|
317
334
|
# See {OpenAI::Resources::Beta::Threads::Runs#submit_tool_outputs} for
|
318
335
|
# non-streaming counterpart.
|
319
336
|
#
|
@@ -3,6 +3,7 @@
|
|
3
3
|
module OpenAI
|
4
4
|
module Resources
|
5
5
|
class Beta
|
6
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
6
7
|
class Threads
|
7
8
|
# @return [OpenAI::Resources::Beta::Threads::Runs]
|
8
9
|
attr_reader :runs
|
@@ -10,6 +11,8 @@ module OpenAI
|
|
10
11
|
# @return [OpenAI::Resources::Beta::Threads::Messages]
|
11
12
|
attr_reader :messages
|
12
13
|
|
14
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
15
|
+
#
|
13
16
|
# Some parameter documentations has been truncated, see
|
14
17
|
# {OpenAI::Models::Beta::ThreadCreateParams} for more details.
|
15
18
|
#
|
@@ -39,6 +42,8 @@ module OpenAI
|
|
39
42
|
)
|
40
43
|
end
|
41
44
|
|
45
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
46
|
+
#
|
42
47
|
# Retrieves a thread.
|
43
48
|
#
|
44
49
|
# @overload retrieve(thread_id, request_options: {})
|
@@ -59,6 +64,8 @@ module OpenAI
|
|
59
64
|
)
|
60
65
|
end
|
61
66
|
|
67
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
68
|
+
#
|
62
69
|
# Some parameter documentations has been truncated, see
|
63
70
|
# {OpenAI::Models::Beta::ThreadUpdateParams} for more details.
|
64
71
|
#
|
@@ -88,6 +95,8 @@ module OpenAI
|
|
88
95
|
)
|
89
96
|
end
|
90
97
|
|
98
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
99
|
+
#
|
91
100
|
# Delete a thread.
|
92
101
|
#
|
93
102
|
# @overload delete(thread_id, request_options: {})
|
@@ -108,6 +117,8 @@ module OpenAI
|
|
108
117
|
)
|
109
118
|
end
|
110
119
|
|
120
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
121
|
+
#
|
111
122
|
# See {OpenAI::Resources::Beta::Threads#stream_raw} for streaming counterpart.
|
112
123
|
#
|
113
124
|
# Some parameter documentations has been truncated, see
|
@@ -166,11 +177,13 @@ module OpenAI
|
|
166
177
|
options: {extra_headers: {"OpenAI-Beta" => "assistants=v2"}, **options}
|
167
178
|
)
|
168
179
|
end
|
169
|
-
|
180
|
+
|
170
181
|
def stream
|
171
182
|
raise NotImplementedError.new("higher level helpers are coming soon!")
|
172
183
|
end
|
173
|
-
|
184
|
+
|
185
|
+
# @deprecated The Assistants API is deprecated in favor of the Responses API
|
186
|
+
#
|
174
187
|
# See {OpenAI::Resources::Beta::Threads#create_and_run} for non-streaming
|
175
188
|
# counterpart.
|
176
189
|
#
|
@@ -13,7 +13,7 @@ module OpenAI
|
|
13
13
|
# @param container_id [String]
|
14
14
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
15
15
|
#
|
16
|
-
# @return [
|
16
|
+
# @return [StringIO]
|
17
17
|
#
|
18
18
|
# @see OpenAI::Models::Containers::Files::ContentRetrieveParams
|
19
19
|
def retrieve(file_id, params)
|
@@ -25,7 +25,8 @@ module OpenAI
|
|
25
25
|
@client.request(
|
26
26
|
method: :get,
|
27
27
|
path: ["containers/%1$s/files/%2$s/content", container_id, file_id],
|
28
|
-
|
28
|
+
headers: {"accept" => "application/binary"},
|
29
|
+
model: StringIO,
|
29
30
|
options: options
|
30
31
|
)
|
31
32
|
end
|
@@ -242,17 +242,21 @@ module OpenAI
|
|
242
242
|
)
|
243
243
|
end
|
244
244
|
|
245
|
+
# See {OpenAI::Resources::Responses#retrieve_streaming} for streaming counterpart.
|
246
|
+
#
|
245
247
|
# Some parameter documentations has been truncated, see
|
246
248
|
# {OpenAI::Models::Responses::ResponseRetrieveParams} for more details.
|
247
249
|
#
|
248
250
|
# Retrieves a model response with the given ID.
|
249
251
|
#
|
250
|
-
# @overload retrieve(response_id, include: nil, request_options: {})
|
252
|
+
# @overload retrieve(response_id, include: nil, starting_after: nil, request_options: {})
|
251
253
|
#
|
252
254
|
# @param response_id [String] The ID of the response to retrieve.
|
253
255
|
#
|
254
256
|
# @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>] Additional fields to include in the response. See the `include`
|
255
257
|
#
|
258
|
+
# @param starting_after [Integer] The sequence number of the event after which to start streaming.
|
259
|
+
#
|
256
260
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
257
261
|
#
|
258
262
|
# @return [OpenAI::Models::Responses::Response]
|
@@ -260,6 +264,10 @@ module OpenAI
|
|
260
264
|
# @see OpenAI::Models::Responses::ResponseRetrieveParams
|
261
265
|
def retrieve(response_id, params = {})
|
262
266
|
parsed, options = OpenAI::Responses::ResponseRetrieveParams.dump_request(params)
|
267
|
+
if parsed[:stream]
|
268
|
+
message = "Please use `#retrieve_streaming` for the streaming use case."
|
269
|
+
raise ArgumentError.new(message)
|
270
|
+
end
|
263
271
|
@client.request(
|
264
272
|
method: :get,
|
265
273
|
path: ["responses/%1$s", response_id],
|
@@ -269,6 +277,44 @@ module OpenAI
|
|
269
277
|
)
|
270
278
|
end
|
271
279
|
|
280
|
+
# See {OpenAI::Resources::Responses#retrieve} for non-streaming counterpart.
|
281
|
+
#
|
282
|
+
# Some parameter documentations has been truncated, see
|
283
|
+
# {OpenAI::Models::Responses::ResponseRetrieveParams} for more details.
|
284
|
+
#
|
285
|
+
# Retrieves a model response with the given ID.
|
286
|
+
#
|
287
|
+
# @overload retrieve_streaming(response_id, include: nil, starting_after: nil, request_options: {})
|
288
|
+
#
|
289
|
+
# @param response_id [String] The ID of the response to retrieve.
|
290
|
+
#
|
291
|
+
# @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>] Additional fields to include in the response. See the `include`
|
292
|
+
#
|
293
|
+
# @param starting_after [Integer] The sequence number of the event after which to start streaming.
|
294
|
+
#
|
295
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
296
|
+
#
|
297
|
+
# @return [OpenAI::Internal::Stream<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::ResponseReasoningDeltaEvent, OpenAI::Models::Responses::ResponseReasoningDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDoneEvent>]
|
298
|
+
#
|
299
|
+
# @see OpenAI::Models::Responses::ResponseRetrieveParams
|
300
|
+
def retrieve_streaming(response_id, params = {})
|
301
|
+
parsed, options = OpenAI::Responses::ResponseRetrieveParams.dump_request(params)
|
302
|
+
unless parsed.fetch(:stream, true)
|
303
|
+
message = "Please use `#retrieve` for the non-streaming use case."
|
304
|
+
raise ArgumentError.new(message)
|
305
|
+
end
|
306
|
+
parsed.store(:stream, true)
|
307
|
+
@client.request(
|
308
|
+
method: :get,
|
309
|
+
path: ["responses/%1$s", response_id],
|
310
|
+
query: parsed,
|
311
|
+
headers: {"accept" => "text/event-stream"},
|
312
|
+
stream: OpenAI::Internal::Stream,
|
313
|
+
model: OpenAI::Responses::ResponseStreamEvent,
|
314
|
+
options: options
|
315
|
+
)
|
316
|
+
end
|
317
|
+
|
272
318
|
# Deletes a model response with the given ID.
|
273
319
|
#
|
274
320
|
# @overload delete(response_id, request_options: {})
|
data/lib/openai/version.rb
CHANGED
data/lib/openai.rb
CHANGED
@@ -16,7 +16,9 @@ require "time"
|
|
16
16
|
require "uri"
|
17
17
|
# We already ship the preferred sorbet manifests in the package itself.
|
18
18
|
# `tapioca` currently does not offer us a way to opt out of unnecessary compilation.
|
19
|
-
if Object.const_defined?(:Tapioca) &&
|
19
|
+
if Object.const_defined?(:Tapioca) &&
|
20
|
+
caller.chain([$PROGRAM_NAME]).chain(ARGV).any?(/tapioca/) &&
|
21
|
+
ARGV.none?(/dsl/)
|
20
22
|
return
|
21
23
|
end
|
22
24
|
|
@@ -38,6 +38,21 @@ module OpenAI
|
|
38
38
|
sig { returns(Symbol) }
|
39
39
|
attr_accessor :type
|
40
40
|
|
41
|
+
sig do
|
42
|
+
returns(
|
43
|
+
T.nilable(T::Array[OpenAI::Responses::ResponseOutputText::Logprob])
|
44
|
+
)
|
45
|
+
end
|
46
|
+
attr_reader :logprobs
|
47
|
+
|
48
|
+
sig do
|
49
|
+
params(
|
50
|
+
logprobs:
|
51
|
+
T::Array[OpenAI::Responses::ResponseOutputText::Logprob::OrHash]
|
52
|
+
).void
|
53
|
+
end
|
54
|
+
attr_writer :logprobs
|
55
|
+
|
41
56
|
# A text output from the model.
|
42
57
|
sig do
|
43
58
|
params(
|
@@ -50,6 +65,8 @@ module OpenAI
|
|
50
65
|
)
|
51
66
|
],
|
52
67
|
text: String,
|
68
|
+
logprobs:
|
69
|
+
T::Array[OpenAI::Responses::ResponseOutputText::Logprob::OrHash],
|
53
70
|
type: Symbol
|
54
71
|
).returns(T.attached_class)
|
55
72
|
end
|
@@ -58,6 +75,7 @@ module OpenAI
|
|
58
75
|
annotations:,
|
59
76
|
# The text output from the model.
|
60
77
|
text:,
|
78
|
+
logprobs: nil,
|
61
79
|
# The type of the output text. Always `output_text`.
|
62
80
|
type: :output_text
|
63
81
|
)
|
@@ -75,7 +93,8 @@ module OpenAI
|
|
75
93
|
)
|
76
94
|
],
|
77
95
|
text: String,
|
78
|
-
type: Symbol
|
96
|
+
type: Symbol,
|
97
|
+
logprobs: T::Array[OpenAI::Responses::ResponseOutputText::Logprob]
|
79
98
|
}
|
80
99
|
)
|
81
100
|
end
|
@@ -265,6 +284,103 @@ module OpenAI
|
|
265
284
|
def self.variants
|
266
285
|
end
|
267
286
|
end
|
287
|
+
|
288
|
+
class Logprob < OpenAI::Internal::Type::BaseModel
|
289
|
+
OrHash =
|
290
|
+
T.type_alias do
|
291
|
+
T.any(
|
292
|
+
OpenAI::Responses::ResponseOutputText::Logprob,
|
293
|
+
OpenAI::Internal::AnyHash
|
294
|
+
)
|
295
|
+
end
|
296
|
+
|
297
|
+
sig { returns(String) }
|
298
|
+
attr_accessor :token
|
299
|
+
|
300
|
+
sig { returns(T::Array[Integer]) }
|
301
|
+
attr_accessor :bytes
|
302
|
+
|
303
|
+
sig { returns(Float) }
|
304
|
+
attr_accessor :logprob
|
305
|
+
|
306
|
+
sig do
|
307
|
+
returns(
|
308
|
+
T::Array[
|
309
|
+
OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob
|
310
|
+
]
|
311
|
+
)
|
312
|
+
end
|
313
|
+
attr_accessor :top_logprobs
|
314
|
+
|
315
|
+
# The log probability of a token.
|
316
|
+
sig do
|
317
|
+
params(
|
318
|
+
token: String,
|
319
|
+
bytes: T::Array[Integer],
|
320
|
+
logprob: Float,
|
321
|
+
top_logprobs:
|
322
|
+
T::Array[
|
323
|
+
OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob::OrHash
|
324
|
+
]
|
325
|
+
).returns(T.attached_class)
|
326
|
+
end
|
327
|
+
def self.new(token:, bytes:, logprob:, top_logprobs:)
|
328
|
+
end
|
329
|
+
|
330
|
+
sig do
|
331
|
+
override.returns(
|
332
|
+
{
|
333
|
+
token: String,
|
334
|
+
bytes: T::Array[Integer],
|
335
|
+
logprob: Float,
|
336
|
+
top_logprobs:
|
337
|
+
T::Array[
|
338
|
+
OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob
|
339
|
+
]
|
340
|
+
}
|
341
|
+
)
|
342
|
+
end
|
343
|
+
def to_hash
|
344
|
+
end
|
345
|
+
|
346
|
+
class TopLogprob < OpenAI::Internal::Type::BaseModel
|
347
|
+
OrHash =
|
348
|
+
T.type_alias do
|
349
|
+
T.any(
|
350
|
+
OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob,
|
351
|
+
OpenAI::Internal::AnyHash
|
352
|
+
)
|
353
|
+
end
|
354
|
+
|
355
|
+
sig { returns(String) }
|
356
|
+
attr_accessor :token
|
357
|
+
|
358
|
+
sig { returns(T::Array[Integer]) }
|
359
|
+
attr_accessor :bytes
|
360
|
+
|
361
|
+
sig { returns(Float) }
|
362
|
+
attr_accessor :logprob
|
363
|
+
|
364
|
+
# The top log probability of a token.
|
365
|
+
sig do
|
366
|
+
params(
|
367
|
+
token: String,
|
368
|
+
bytes: T::Array[Integer],
|
369
|
+
logprob: Float
|
370
|
+
).returns(T.attached_class)
|
371
|
+
end
|
372
|
+
def self.new(token:, bytes:, logprob:)
|
373
|
+
end
|
374
|
+
|
375
|
+
sig do
|
376
|
+
override.returns(
|
377
|
+
{ token: String, bytes: T::Array[Integer], logprob: Float }
|
378
|
+
)
|
379
|
+
end
|
380
|
+
def to_hash
|
381
|
+
end
|
382
|
+
end
|
383
|
+
end
|
268
384
|
end
|
269
385
|
end
|
270
386
|
end
|
@@ -31,9 +31,17 @@ module OpenAI
|
|
31
31
|
end
|
32
32
|
attr_writer :include
|
33
33
|
|
34
|
+
# The sequence number of the event after which to start streaming.
|
35
|
+
sig { returns(T.nilable(Integer)) }
|
36
|
+
attr_reader :starting_after
|
37
|
+
|
38
|
+
sig { params(starting_after: Integer).void }
|
39
|
+
attr_writer :starting_after
|
40
|
+
|
34
41
|
sig do
|
35
42
|
params(
|
36
43
|
include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
44
|
+
starting_after: Integer,
|
37
45
|
request_options: OpenAI::RequestOptions::OrHash
|
38
46
|
).returns(T.attached_class)
|
39
47
|
end
|
@@ -41,6 +49,8 @@ module OpenAI
|
|
41
49
|
# Additional fields to include in the response. See the `include` parameter for
|
42
50
|
# Response creation above for more information.
|
43
51
|
include: nil,
|
52
|
+
# The sequence number of the event after which to start streaming.
|
53
|
+
starting_after: nil,
|
44
54
|
request_options: {}
|
45
55
|
)
|
46
56
|
end
|
@@ -50,6 +60,7 @@ module OpenAI
|
|
50
60
|
{
|
51
61
|
include:
|
52
62
|
T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
63
|
+
starting_after: Integer,
|
53
64
|
request_options: OpenAI::RequestOptions
|
54
65
|
}
|
55
66
|
)
|
@@ -428,11 +428,15 @@ module OpenAI
|
|
428
428
|
)
|
429
429
|
end
|
430
430
|
|
431
|
+
# See {OpenAI::Resources::Responses#retrieve_streaming} for streaming counterpart.
|
432
|
+
#
|
431
433
|
# Retrieves a model response with the given ID.
|
432
434
|
sig do
|
433
435
|
params(
|
434
436
|
response_id: String,
|
435
437
|
include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
438
|
+
starting_after: Integer,
|
439
|
+
stream: T.noreturn,
|
436
440
|
request_options: OpenAI::RequestOptions::OrHash
|
437
441
|
).returns(OpenAI::Responses::Response)
|
438
442
|
end
|
@@ -442,6 +446,42 @@ module OpenAI
|
|
442
446
|
# Additional fields to include in the response. See the `include` parameter for
|
443
447
|
# Response creation above for more information.
|
444
448
|
include: nil,
|
449
|
+
# The sequence number of the event after which to start streaming.
|
450
|
+
starting_after: nil,
|
451
|
+
# There is no need to provide `stream:`. Instead, use `#retrieve_streaming` or
|
452
|
+
# `#retrieve` for streaming and non-streaming use cases, respectively.
|
453
|
+
stream: false,
|
454
|
+
request_options: {}
|
455
|
+
)
|
456
|
+
end
|
457
|
+
|
458
|
+
# See {OpenAI::Resources::Responses#retrieve} for non-streaming counterpart.
|
459
|
+
#
|
460
|
+
# Retrieves a model response with the given ID.
|
461
|
+
sig do
|
462
|
+
params(
|
463
|
+
response_id: String,
|
464
|
+
include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
|
465
|
+
starting_after: Integer,
|
466
|
+
stream: T.noreturn,
|
467
|
+
request_options: OpenAI::RequestOptions::OrHash
|
468
|
+
).returns(
|
469
|
+
OpenAI::Internal::Stream[
|
470
|
+
OpenAI::Responses::ResponseStreamEvent::Variants
|
471
|
+
]
|
472
|
+
)
|
473
|
+
end
|
474
|
+
def retrieve_streaming(
|
475
|
+
# The ID of the response to retrieve.
|
476
|
+
response_id,
|
477
|
+
# Additional fields to include in the response. See the `include` parameter for
|
478
|
+
# Response creation above for more information.
|
479
|
+
include: nil,
|
480
|
+
# The sequence number of the event after which to start streaming.
|
481
|
+
starting_after: nil,
|
482
|
+
# There is no need to provide `stream:`. Instead, use `#retrieve_streaming` or
|
483
|
+
# `#retrieve` for streaming and non-streaming use cases, respectively.
|
484
|
+
stream: true,
|
445
485
|
request_options: {}
|
446
486
|
)
|
447
487
|
end
|
@@ -5,7 +5,8 @@ module OpenAI
|
|
5
5
|
{
|
6
6
|
annotations: ::Array[OpenAI::Models::Responses::ResponseOutputText::annotation],
|
7
7
|
text: String,
|
8
|
-
type: :output_text
|
8
|
+
type: :output_text,
|
9
|
+
logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob]
|
9
10
|
}
|
10
11
|
|
11
12
|
class ResponseOutputText < OpenAI::Internal::Type::BaseModel
|
@@ -15,16 +16,24 @@ module OpenAI
|
|
15
16
|
|
16
17
|
attr_accessor type: :output_text
|
17
18
|
|
19
|
+
attr_reader logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob]?
|
20
|
+
|
21
|
+
def logprobs=: (
|
22
|
+
::Array[OpenAI::Responses::ResponseOutputText::Logprob]
|
23
|
+
) -> ::Array[OpenAI::Responses::ResponseOutputText::Logprob]
|
24
|
+
|
18
25
|
def initialize: (
|
19
26
|
annotations: ::Array[OpenAI::Models::Responses::ResponseOutputText::annotation],
|
20
27
|
text: String,
|
28
|
+
?logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob],
|
21
29
|
?type: :output_text
|
22
30
|
) -> void
|
23
31
|
|
24
32
|
def to_hash: -> {
|
25
33
|
annotations: ::Array[OpenAI::Models::Responses::ResponseOutputText::annotation],
|
26
34
|
text: String,
|
27
|
-
type: :output_text
|
35
|
+
type: :output_text,
|
36
|
+
logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob]
|
28
37
|
}
|
29
38
|
|
30
39
|
type annotation =
|
@@ -119,6 +128,61 @@ module OpenAI
|
|
119
128
|
|
120
129
|
def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseOutputText::annotation]
|
121
130
|
end
|
131
|
+
|
132
|
+
type logprob =
|
133
|
+
{
|
134
|
+
token: String,
|
135
|
+
bytes: ::Array[Integer],
|
136
|
+
logprob: Float,
|
137
|
+
top_logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob]
|
138
|
+
}
|
139
|
+
|
140
|
+
class Logprob < OpenAI::Internal::Type::BaseModel
|
141
|
+
attr_accessor token: String
|
142
|
+
|
143
|
+
attr_accessor bytes: ::Array[Integer]
|
144
|
+
|
145
|
+
attr_accessor logprob: Float
|
146
|
+
|
147
|
+
attr_accessor top_logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob]
|
148
|
+
|
149
|
+
def initialize: (
|
150
|
+
token: String,
|
151
|
+
bytes: ::Array[Integer],
|
152
|
+
logprob: Float,
|
153
|
+
top_logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob]
|
154
|
+
) -> void
|
155
|
+
|
156
|
+
def to_hash: -> {
|
157
|
+
token: String,
|
158
|
+
bytes: ::Array[Integer],
|
159
|
+
logprob: Float,
|
160
|
+
top_logprobs: ::Array[OpenAI::Responses::ResponseOutputText::Logprob::TopLogprob]
|
161
|
+
}
|
162
|
+
|
163
|
+
type top_logprob =
|
164
|
+
{ token: String, bytes: ::Array[Integer], logprob: Float }
|
165
|
+
|
166
|
+
class TopLogprob < OpenAI::Internal::Type::BaseModel
|
167
|
+
attr_accessor token: String
|
168
|
+
|
169
|
+
attr_accessor bytes: ::Array[Integer]
|
170
|
+
|
171
|
+
attr_accessor logprob: Float
|
172
|
+
|
173
|
+
def initialize: (
|
174
|
+
token: String,
|
175
|
+
bytes: ::Array[Integer],
|
176
|
+
logprob: Float
|
177
|
+
) -> void
|
178
|
+
|
179
|
+
def to_hash: -> {
|
180
|
+
token: String,
|
181
|
+
bytes: ::Array[Integer],
|
182
|
+
logprob: Float
|
183
|
+
}
|
184
|
+
end
|
185
|
+
end
|
122
186
|
end
|
123
187
|
end
|
124
188
|
end
|
@@ -2,7 +2,10 @@ module OpenAI
|
|
2
2
|
module Models
|
3
3
|
module Responses
|
4
4
|
type response_retrieve_params =
|
5
|
-
{
|
5
|
+
{
|
6
|
+
include: ::Array[OpenAI::Models::Responses::response_includable],
|
7
|
+
starting_after: Integer
|
8
|
+
}
|
6
9
|
& OpenAI::Internal::Type::request_parameters
|
7
10
|
|
8
11
|
class ResponseRetrieveParams < OpenAI::Internal::Type::BaseModel
|
@@ -15,13 +18,19 @@ module OpenAI
|
|
15
18
|
::Array[OpenAI::Models::Responses::response_includable]
|
16
19
|
) -> ::Array[OpenAI::Models::Responses::response_includable]
|
17
20
|
|
21
|
+
attr_reader starting_after: Integer?
|
22
|
+
|
23
|
+
def starting_after=: (Integer) -> Integer
|
24
|
+
|
18
25
|
def initialize: (
|
19
26
|
?include: ::Array[OpenAI::Models::Responses::response_includable],
|
27
|
+
?starting_after: Integer,
|
20
28
|
?request_options: OpenAI::request_opts
|
21
29
|
) -> void
|
22
30
|
|
23
31
|
def to_hash: -> {
|
24
32
|
include: ::Array[OpenAI::Models::Responses::response_includable],
|
33
|
+
starting_after: Integer,
|
25
34
|
request_options: OpenAI::RequestOptions
|
26
35
|
}
|
27
36
|
end
|
@@ -52,9 +52,17 @@ module OpenAI
|
|
52
52
|
def retrieve: (
|
53
53
|
String response_id,
|
54
54
|
?include: ::Array[OpenAI::Models::Responses::response_includable],
|
55
|
+
?starting_after: Integer,
|
55
56
|
?request_options: OpenAI::request_opts
|
56
57
|
) -> OpenAI::Responses::Response
|
57
58
|
|
59
|
+
def retrieve_streaming: (
|
60
|
+
String response_id,
|
61
|
+
?include: ::Array[OpenAI::Models::Responses::response_includable],
|
62
|
+
?starting_after: Integer,
|
63
|
+
?request_options: OpenAI::request_opts
|
64
|
+
) -> OpenAI::Internal::Stream[OpenAI::Models::Responses::response_stream_event]
|
65
|
+
|
58
66
|
def delete: (
|
59
67
|
String response_id,
|
60
68
|
?request_options: OpenAI::request_opts
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|