Class: Anthropic::Resources::Messages::Batches

Inherits:
Object
  • Object
show all
Defined in:
lib/anthropic/resources/messages/batches.rb,
sig/anthropic/resources/messages/batches.rbs

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Batches

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 Batches.

Parameters:



192
193
194
# File 'lib/anthropic/resources/messages/batches.rb', line 192

def initialize(client:)
  @client = client
end

Instance Method Details

#cancel(message_batch_id, request_options: {}) ⇒ Anthropic::Models::Messages::MessageBatch

Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a canceling state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.

The number of canceled requests is specified in request_counts. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.

Learn more about the Message Batches API in our user guide

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

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

Returns:

See Also:



151
152
153
154
155
156
157
158
# File 'lib/anthropic/resources/messages/batches.rb', line 151

def cancel(message_batch_id, params = {})
  @client.request(
    method: :post,
    path: ["v1/messages/batches/%1$s/cancel", message_batch_id],
    model: Anthropic::Messages::MessageBatch,
    options: params[:request_options]
  )
end

#create(requests:, user_profile_id: nil, request_options: {}) ⇒ Anthropic::Models::Messages::MessageBatch

Send a batch of Message creation requests.

The Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.

Learn more about the Message Batches API in our user guide

Some parameter documentations has been truncated, see Models::Messages::BatchCreateParams for more details.

Parameters:

Returns:

See Also:



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/anthropic/resources/messages/batches.rb', line 30

def create(params)
  parsed, options = Anthropic::Messages::BatchCreateParams.dump_request(params)
  header_params = {user_profile_id: "anthropic-user-profile-id"}
  @client.request(
    method: :post,
    path: "v1/messages/batches",
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: Anthropic::Messages::MessageBatch,
    options: options
  )
end

#delete(message_batch_id, request_options: {}) ⇒ Anthropic::Models::Messages::DeletedMessageBatch

Delete a Message Batch.

Message Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.

Learn more about the Message Batches API in our user guide

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

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

Returns:

See Also:



120
121
122
123
124
125
126
127
# File 'lib/anthropic/resources/messages/batches.rb', line 120

def delete(message_batch_id, params = {})
  @client.request(
    method: :delete,
    path: ["v1/messages/batches/%1$s", message_batch_id],
    model: Anthropic::Messages::DeletedMessageBatch,
    options: params[:request_options]
  )
end

#list(after_id: nil, before_id: nil, limit: nil, request_options: {}) ⇒ Anthropic::Internal::Page<Anthropic::Models::Messages::MessageBatch>

List all Message Batches within a Workspace. Most recently created batches are returned first.

Learn more about the Message Batches API in our user guide

Some parameter documentations has been truncated, see Models::Messages::BatchListParams for more details.

Parameters:

  • after_id (String)

    ID of the object to use as a cursor for pagination. When provided, returns the p

  • before_id (String)

    ID of the object to use as a cursor for pagination. When provided, returns the p

  • limit (Integer)

    Number of items to return per page.

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

Returns:

See Also:



90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/anthropic/resources/messages/batches.rb', line 90

def list(params = {})
  parsed, options = Anthropic::Messages::BatchListParams.dump_request(params)
  query = Anthropic::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "v1/messages/batches",
    query: query,
    page: Anthropic::Internal::Page,
    model: Anthropic::Messages::MessageBatch,
    options: options
  )
end

#results_streaming(message_batch_id, request_options: {}) ⇒ Anthropic::Internal::JsonLStream<Anthropic::Models::Messages::MessageBatchIndividualResponse>

Streams the results of a Message Batch as a .jsonl file.

Each line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the custom_id field to match results to requests.

Learn more about the Message Batches API in our user guide

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

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

Returns:

See Also:



178
179
180
181
182
183
184
185
186
187
# File 'lib/anthropic/resources/messages/batches.rb', line 178

def results_streaming(message_batch_id, params = {})
  @client.request(
    method: :get,
    path: ["v1/messages/batches/%1$s/results", message_batch_id],
    headers: {"accept" => "application/x-jsonl", "accept-encoding" => "identity"},
    stream: Anthropic::Internal::JsonLStream,
    model: Anthropic::Messages::MessageBatchIndividualResponse,
    options: params[:request_options]
  )
end

#retrieve(message_batch_id, request_options: {}) ⇒ Anthropic::Models::Messages::MessageBatch

This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the results_url field in the response.

Learn more about the Message Batches API in our user guide

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

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

Returns:

See Also:



59
60
61
62
63
64
65
66
# File 'lib/anthropic/resources/messages/batches.rb', line 59

def retrieve(message_batch_id, params = {})
  @client.request(
    method: :get,
    path: ["v1/messages/batches/%1$s", message_batch_id],
    model: Anthropic::Messages::MessageBatch,
    options: params[:request_options]
  )
end