Class: OpenAI::Resources::Responses

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

Defined Under Namespace

Classes: InputItems

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:



242
243
244
245
# File 'lib/openai/resources/responses.rb', line 242

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

Instance Attribute Details

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



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

def input_items
  @input_items
end

Instance Method Details

#cancel(response_id, request_options: {}) ⇒ nil

Cancels a model response with the given ID. Only responses created with the ‘background` parameter set to `true` can be cancelled. [Learn more](platform.openai.com/docs/guides/background).

Parameters:

  • response_id (String)

    The ID of the response to cancel.

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

Returns:

  • (nil)

See Also:



230
231
232
233
234
235
236
237
# File 'lib/openai/resources/responses.rb', line 230

def cancel(response_id, params = {})
  @client.request(
    method: :post,
    path: ["responses/%1$s/cancel", response_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#create(input: , model: , background: nil, include: nil, instructions: nil, max_output_tokens: nil, metadata: nil, parallel_tool_calls: nil, previous_response_id: nil, reasoning: nil, service_tier: nil, store: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_p: nil, truncation: nil, user: nil, request_options: {}) ⇒ OpenAI::Models::Responses::Response

See #stream_raw for streaming counterpart.

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

Creates a model response. Provide [text](platform.openai.com/docs/guides/text) or [image](platform.openai.com/docs/guides/images) inputs to generate [text](platform.openai.com/docs/guides/text) or [JSON](platform.openai.com/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](platform.openai.com/docs/guides/function-calling) or use built-in [tools](platform.openai.com/docs/guides/tools) like [web search](platform.openai.com/docs/guides/tools-web-search) or [file search](platform.openai.com/docs/guides/tools-file-search) to use your own data as input for the model’s response.

Parameters:

Returns:

See Also:



71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/openai/resources/responses.rb', line 71

def create(params)
  parsed, options = OpenAI::Responses::ResponseCreateParams.dump_request(params)
  if parsed[:stream]
    message = "Please use `#stream_raw` for the streaming use case."
    raise ArgumentError.new(message)
  end
  @client.request(
    method: :post,
    path: "responses",
    body: parsed,
    model: OpenAI::Responses::Response,
    options: options
  )
end

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

Deletes a model response with the given ID.

Parameters:

  • response_id (String)

    The ID of the response to delete.

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

Returns:

  • (nil)

See Also:



208
209
210
211
212
213
214
215
# File 'lib/openai/resources/responses.rb', line 208

def delete(response_id, params = {})
  @client.request(
    method: :delete,
    path: ["responses/%1$s", response_id],
    model: NilClass,
    options: params[:request_options]
  )
end

#retrieve(response_id, include: nil, request_options: {}) ⇒ OpenAI::Models::Responses::Response

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

Retrieves a model response with the given ID.

Parameters:

Returns:

See Also:



186
187
188
189
190
191
192
193
194
195
# File 'lib/openai/resources/responses.rb', line 186

def retrieve(response_id, params = {})
  parsed, options = OpenAI::Responses::ResponseRetrieveParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["responses/%1$s", response_id],
    query: parsed,
    model: OpenAI::Responses::Response,
    options: options
  )
end

#streamObject

Raises:

  • (NotImplementedError)


86
87
88
# File 'lib/openai/resources/responses.rb', line 86

def stream
  raise NotImplementedError.new("higher level helpers are coming soon!")
end

#stream_raw(input: , model: , background: nil, include: nil, instructions: nil, max_output_tokens: nil, metadata: nil, parallel_tool_calls: nil, previous_response_id: nil, reasoning: nil, service_tier: nil, store: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_p: nil, truncation: nil, user: nil, request_options: {}) ⇒ 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>

See #create for non-streaming counterpart.

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

Creates a model response. Provide [text](platform.openai.com/docs/guides/text) or [image](platform.openai.com/docs/guides/images) inputs to generate [text](platform.openai.com/docs/guides/text) or [JSON](platform.openai.com/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](platform.openai.com/docs/guides/function-calling) or use built-in [tools](platform.openai.com/docs/guides/tools) like [web search](platform.openai.com/docs/guides/tools-web-search) or [file search](platform.openai.com/docs/guides/tools-file-search) to use your own data as input for the model’s response.

Parameters:

Returns:

See Also:



152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/openai/resources/responses.rb', line 152

def stream_raw(params)
  parsed, options = OpenAI::Responses::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)
  @client.request(
    method: :post,
    path: "responses",
    headers: {"accept" => "text/event-stream"},
    body: parsed,
    stream: OpenAI::Internal::Stream,
    model: OpenAI::Responses::ResponseStreamEvent,
    options: options
  )
end