Class: OpenAI::Resources::Beta::Responses

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/beta/responses.rb,
lib/openai/resources/beta/responses/input_items.rb,
lib/openai/resources/beta/responses/input_tokens.rb,
sig/openai/resources/beta/responses.rbs,
sig/openai/resources/beta/responses/input_items.rbs,
sig/openai/resources/beta/responses/input_tokens.rbs

Defined Under Namespace

Classes: InputItems, InputTokens

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Responses

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Responses.

Parameters:



432
433
434
435
436
# File 'lib/openai/resources/beta/responses.rb', line 432

def initialize(client:)
  @client = client
  @input_items = OpenAI::Resources::Beta::Responses::InputItems.new(client: client)
  @input_tokens = OpenAI::Resources::Beta::Responses::InputTokens.new(client: client)
end

Instance Attribute Details

#input_itemsOpenAI::Resources::Beta::Responses::InputItems (readonly)



8
9
10
# File 'lib/openai/resources/beta/responses.rb', line 8

def input_items
  @input_items
end

#input_tokensOpenAI::Resources::Beta::Responses::InputTokens (readonly)



11
12
13
# File 'lib/openai/resources/beta/responses.rb', line 11

def input_tokens
  @input_tokens
end

Instance Method Details

#cancel(response_id, betas: nil, request_options: {}) ⇒ OpenAI::Models::Beta::BetaResponse

Cancels a model response with the given ID. Only responses created with the background parameter set to true can be cancelled. Learn more.

Parameters:

Returns:

See Also:



368
369
370
371
372
373
374
375
376
377
378
# File 'lib/openai/resources/beta/responses.rb', line 368

def cancel(response_id, params = {})
  parsed, options = OpenAI::Beta::ResponseCancelParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["responses/%1$s/cancel?beta=true", response_id],
    headers: parsed.transform_keys(betas: "openai-beta"),
    model: OpenAI::Beta::BetaResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#compact(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, service_tier: nil, betas: nil, request_options: {}) ⇒ OpenAI::Models::Beta::BetaCompactedResponse

Some parameter documentations has been truncated, see Models::Beta::ResponseCompactParams for more details.

Compact a conversation. Returns a compacted response object.

Learn when and how to compact long-running conversations in the conversation state guide. For ZDR-compatible compaction details, see Compaction (advanced).

Parameters:

Returns:

See Also:



415
416
417
418
419
420
421
422
423
424
425
426
427
# File 'lib/openai/resources/beta/responses.rb', line 415

def compact(params)
  parsed, options = OpenAI::Beta::ResponseCompactParams.dump_request(params)
  header_params = {betas: "openai-beta"}
  @client.request(
    method: :post,
    path: "responses/compact?beta=true",
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: OpenAI::Beta::BetaCompactedResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#create(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {}) ⇒ OpenAI::Models::Beta::BetaResponse

See OpenAI::Resources::Beta::Responses#stream_raw for streaming counterpart.

Some parameter documentations has been truncated, see Models::Beta::ResponseCreateParams for more details.

Creates a model response. Provide text or image inputs to generate text or JSON outputs. Have the model call your own custom code or use built-in tools like web search or file search to use your own data as input for the model's response.

Parameters:

Returns:

See Also:



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/openai/resources/beta/responses.rb', line 101

def create(params = {})
  parsed, options = OpenAI::Beta::ResponseCreateParams.dump_request(params)
  if parsed[:stream]
    message = "Please use `#stream_raw` for the streaming use case."
    raise ArgumentError.new(message)
  end
  header_params = {betas: "openai-beta"}
  @client.request(
    method: :post,
    path: "responses?beta=true",
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: OpenAI::Beta::BetaResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#delete(response_id, betas: nil, request_options: {}) ⇒ nil

Deletes a model response with the given ID.

Parameters:

Returns:

  • (nil)

See Also:



341
342
343
344
345
346
347
348
349
350
351
# File 'lib/openai/resources/beta/responses.rb', line 341

def delete(response_id, params = {})
  parsed, options = OpenAI::Beta::ResponseDeleteParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["responses/%1$s?beta=true", response_id],
    headers: parsed.transform_keys(betas: "openai-beta"),
    model: NilClass,
    security: {bearer_auth: true},
    options: options
  )
end

#retrieve(response_id, include: nil, include_obfuscation: nil, starting_after: nil, betas: nil, request_options: {}) ⇒ OpenAI::Models::Beta::BetaResponse

See OpenAI::Resources::Beta::Responses#retrieve_streaming for streaming counterpart.

Some parameter documentations has been truncated, see Models::Beta::ResponseRetrieveParams for more details.

Retrieves a model response with the given ID.

Parameters:

  • response_id (String)

    Path param: The ID of the response to retrieve.

  • include (Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>)

    Query param: Additional fields to include in the response. See the include

  • include_obfuscation (Boolean)

    Query param: When true, stream obfuscation will be enabled. Stream obfuscation a

  • starting_after (Integer)

    Query param: The sequence number of the event after which to start streaming.

  • betas (Array<Symbol, OpenAI::Models::Beta::ResponseRetrieveParams::Beta>)

    Header param: Optional beta features to enable for this request.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
# File 'lib/openai/resources/beta/responses.rb', line 258

def retrieve(response_id, params = {})
  query_params = [:include, :include_obfuscation, :starting_after, :stream]
  parsed, options = OpenAI::Beta::ResponseRetrieveParams.dump_request(params)
  query = OpenAI::Internal::Util.encode_query_params(parsed.slice(*query_params))
  if parsed[:stream]
    message = "Please use `#retrieve_streaming` for the streaming use case."
    raise ArgumentError.new(message)
  end
  @client.request(
    method: :get,
    path: ["responses/%1$s?beta=true", response_id],
    query: query,
    headers: parsed.except(*query_params).transform_keys(betas: "openai-beta"),
    model: OpenAI::Beta::BetaResponse,
    security: {bearer_auth: true},
    options: options
  )
end

#retrieve_streaming(response_id, include: nil, include_obfuscation: nil, starting_after: nil, betas: nil, request_options: {}) ⇒ OpenAI::Internal::Stream<OpenAI::Models::Beta::BetaResponseAudioDeltaEvent, OpenAI::Models::Beta::BetaResponseAudioDoneEvent, OpenAI::Models::Beta::BetaResponseAudioTranscriptDeltaEvent, OpenAI::Models::Beta::BetaResponseAudioTranscriptDoneEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Beta::BetaResponseCompletedEvent, OpenAI::Models::Beta::BetaResponseContentPartAddedEvent, OpenAI::Models::Beta::BetaResponseContentPartDoneEvent, OpenAI::Models::Beta::BetaResponseCreatedEvent, OpenAI::Models::Beta::BetaResponseErrorEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallCompletedEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallInProgressEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallSearchingEvent, OpenAI::Models::Beta::BetaResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Beta::BetaResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Beta::BetaResponseInProgressEvent, OpenAI::Models::Beta::BetaResponseFailedEvent, OpenAI::Models::Beta::BetaResponseIncompleteEvent, OpenAI::Models::Beta::BetaResponseOutputItemAddedEvent, OpenAI::Models::Beta::BetaResponseOutputItemDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningTextDeltaEvent, OpenAI::Models::Beta::BetaResponseReasoningTextDoneEvent, OpenAI::Models::Beta::BetaResponseRefusalDeltaEvent, OpenAI::Models::Beta::BetaResponseRefusalDoneEvent, OpenAI::Models::Beta::BetaResponseTextDeltaEvent, OpenAI::Models::Beta::BetaResponseTextDoneEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallCompletedEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallInProgressEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallSearchingEvent, OpenAI::Models::Beta::BetaResponseImageGenCallCompletedEvent, OpenAI::Models::Beta::BetaResponseImageGenCallGeneratingEvent, OpenAI::Models::Beta::BetaResponseImageGenCallInProgressEvent, OpenAI::Models::Beta::BetaResponseImageGenCallPartialImageEvent, OpenAI::Models::Beta::BetaResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Beta::BetaResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Beta::BetaResponseMcpCallCompletedEvent, OpenAI::Models::Beta::BetaResponseMcpCallFailedEvent, OpenAI::Models::Beta::BetaResponseMcpCallInProgressEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsCompletedEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsFailedEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsInProgressEvent, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Beta::BetaResponseQueuedEvent, OpenAI::Models::Beta::BetaResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Beta::BetaResponseCustomToolCallInputDoneEvent>

See OpenAI::Resources::Beta::Responses#retrieve for non-streaming counterpart.

Some parameter documentations has been truncated, see Models::Beta::ResponseRetrieveParams for more details.

Retrieves a model response with the given ID.

Parameters:

  • response_id (String)

    Path param: The ID of the response to retrieve.

  • include (Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>)

    Query param: Additional fields to include in the response. See the include

  • include_obfuscation (Boolean)

    Query param: When true, stream obfuscation will be enabled. Stream obfuscation a

  • starting_after (Integer)

    Query param: The sequence number of the event after which to start streaming.

  • betas (Array<Symbol, OpenAI::Models::Beta::ResponseRetrieveParams::Beta>)

    Header param: Optional beta features to enable for this request.

  • request_options (OpenAI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
# File 'lib/openai/resources/beta/responses.rb', line 301

def retrieve_streaming(response_id, params = {})
  query_params = [:include, :include_obfuscation, :starting_after, :stream]
  parsed, options = OpenAI::Beta::ResponseRetrieveParams.dump_request(params)
  query = OpenAI::Internal::Util.encode_query_params(parsed.slice(*query_params))
  unless parsed.fetch(:stream, true)
    message = "Please use `#retrieve` for the non-streaming use case."
    raise ArgumentError.new(message)
  end
  parsed.store(:stream, true)
  @client.request(
    method: :get,
    path: ["responses/%1$s?beta=true", response_id],
    query: query,
    headers: {
      "accept" => "text/event-stream",
      "accept-encoding" => "identity",
      **parsed.except(*query_params)
    }.transform_keys(
      betas: "openai-beta"
    ),
    stream: OpenAI::Internal::Stream,
    model: OpenAI::Beta::BetaResponseStreamEvent,
    security: {bearer_auth: true},
    options: options
  )
end

#stream_raw(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {}) ⇒ OpenAI::Internal::Stream<OpenAI::Models::Beta::BetaResponseAudioDeltaEvent, OpenAI::Models::Beta::BetaResponseAudioDoneEvent, OpenAI::Models::Beta::BetaResponseAudioTranscriptDeltaEvent, OpenAI::Models::Beta::BetaResponseAudioTranscriptDoneEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Beta::BetaResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Beta::BetaResponseCompletedEvent, OpenAI::Models::Beta::BetaResponseContentPartAddedEvent, OpenAI::Models::Beta::BetaResponseContentPartDoneEvent, OpenAI::Models::Beta::BetaResponseCreatedEvent, OpenAI::Models::Beta::BetaResponseErrorEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallCompletedEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallInProgressEvent, OpenAI::Models::Beta::BetaResponseFileSearchCallSearchingEvent, OpenAI::Models::Beta::BetaResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Beta::BetaResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Beta::BetaResponseInProgressEvent, OpenAI::Models::Beta::BetaResponseFailedEvent, OpenAI::Models::Beta::BetaResponseIncompleteEvent, OpenAI::Models::Beta::BetaResponseOutputItemAddedEvent, OpenAI::Models::Beta::BetaResponseOutputItemDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::BetaResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Beta::BetaResponseReasoningTextDeltaEvent, OpenAI::Models::Beta::BetaResponseReasoningTextDoneEvent, OpenAI::Models::Beta::BetaResponseRefusalDeltaEvent, OpenAI::Models::Beta::BetaResponseRefusalDoneEvent, OpenAI::Models::Beta::BetaResponseTextDeltaEvent, OpenAI::Models::Beta::BetaResponseTextDoneEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallCompletedEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallInProgressEvent, OpenAI::Models::Beta::BetaResponseWebSearchCallSearchingEvent, OpenAI::Models::Beta::BetaResponseImageGenCallCompletedEvent, OpenAI::Models::Beta::BetaResponseImageGenCallGeneratingEvent, OpenAI::Models::Beta::BetaResponseImageGenCallInProgressEvent, OpenAI::Models::Beta::BetaResponseImageGenCallPartialImageEvent, OpenAI::Models::Beta::BetaResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Beta::BetaResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Beta::BetaResponseMcpCallCompletedEvent, OpenAI::Models::Beta::BetaResponseMcpCallFailedEvent, OpenAI::Models::Beta::BetaResponseMcpCallInProgressEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsCompletedEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsFailedEvent, OpenAI::Models::Beta::BetaResponseMcpListToolsInProgressEvent, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Beta::BetaResponseQueuedEvent, OpenAI::Models::Beta::BetaResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Beta::BetaResponseCustomToolCallInputDoneEvent>

See OpenAI::Resources::Beta::Responses#create for non-streaming counterpart.

Some parameter documentations has been truncated, see Models::Beta::ResponseCreateParams for more details.

Creates a model response. Provide text or image inputs to generate text or JSON outputs. Have the model call your own custom code or use built-in tools like web search or file search to use your own data as input for the model's response.

Parameters:

Returns:

See Also:



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/openai/resources/beta/responses.rb', line 207

def stream_raw(params = {})
  parsed, options = OpenAI::Beta::ResponseCreateParams.dump_request(params)
  unless parsed.fetch(:stream, true)
    message = "Please use `#create` for the non-streaming use case."
    raise ArgumentError.new(message)
  end
  parsed.store(:stream, true)
  header_params = {betas: "openai-beta"}
  @client.request(
    method: :post,
    path: "responses?beta=true",
    headers: {
      "accept" => "text/event-stream",
      "accept-encoding" => "identity",
      **parsed.slice(*header_params.keys)
    }.transform_keys(
      header_params
    ),
    body: parsed.except(*header_params.keys),
    stream: OpenAI::Internal::Stream,
    model: OpenAI::Beta::BetaResponseStreamEvent,
    security: {bearer_auth: true},
    options: options
  )
end