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:



234
235
236
# File 'lib/anthropic/resources/messages/batches.rb', line 234

def initialize(client:)
  @client = client
end

Instance Method Details

#cancel(message_batch_id, workspace_id: nil, 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

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

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

  • workspace_id (String)

    Optional header to select the Workspace for this request. The value is a Workspa

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

Returns:

See Also:



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

def cancel(message_batch_id, params = {})
  parsed, options = Anthropic::Messages::BatchCancelParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["v1/messages/batches/%1$s/cancel", message_batch_id],
    headers: parsed.transform_keys(workspace_id: "anthropic-workspace-id"),
    model: Anthropic::Messages::MessageBatch,
    options: options
  )
end

#create(requests:, user_profile_id: nil, workspace_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:

  • requests (Array<Anthropic::Models::Messages::BatchCreateParams::Request>)

    Body param: List of requests for prompt completion. Each is an individual reques

  • user_profile_id (String)

    Header param: The user profile ID to attribute the requests in this batch to. Us

  • workspace_id (String)

    Header param: Optional header to select the Workspace for this request. The valu

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

Returns:

See Also:



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/anthropic/resources/messages/batches.rb', line 32

def create(params)
  parsed, options = Anthropic::Messages::BatchCreateParams.dump_request(params)
  header_params = {
    user_profile_id: "anthropic-user-profile-id",
    workspace_id: "anthropic-workspace-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, workspace_id: nil, 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

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

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

  • workspace_id (String)

    Optional header to select the Workspace for this request. The value is a Workspa

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

Returns:

See Also:



141
142
143
144
145
146
147
148
149
150
# File 'lib/anthropic/resources/messages/batches.rb', line 141

def delete(message_batch_id, params = {})
  parsed, options = Anthropic::Messages::BatchDeleteParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["v1/messages/batches/%1$s", message_batch_id],
    headers: parsed.transform_keys(workspace_id: "anthropic-workspace-id"),
    model: Anthropic::Messages::DeletedMessageBatch,
    options: options
  )
end

#list(after_id: nil, before_id: nil, limit: nil, workspace_id: 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)

    Query param: ID of the object to use as a cursor for pagination. When provided,

  • before_id (String)

    Query param: ID of the object to use as a cursor for pagination. When provided,

  • limit (Integer)

    Query param: Number of items to return per page.

  • workspace_id (String)

    Header param: Optional header to select the Workspace for this request. The valu

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

Returns:

See Also:



104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/anthropic/resources/messages/batches.rb', line 104

def list(params = {})
  query_params = [:after_id, :before_id, :limit]
  parsed, options = Anthropic::Messages::BatchListParams.dump_request(params)
  query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :get,
    path: "v1/messages/batches",
    query: query,
    headers: parsed.except(*query_params).transform_keys(workspace_id: "anthropic-workspace-id"),
    page: Anthropic::Internal::Page,
    model: Anthropic::Messages::MessageBatch,
    options: options
  )
end

#results_streaming(message_batch_id, workspace_id: nil, 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

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

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

  • workspace_id (String)

    Optional header to select the Workspace for this request. The value is a Workspa

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

Returns:

See Also:



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/anthropic/resources/messages/batches.rb', line 213

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

#retrieve(message_batch_id, workspace_id: nil, 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

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

Parameters:

  • message_batch_id (String)

    ID of the Message Batch.

  • workspace_id (String)

    Optional header to select the Workspace for this request. The value is a Workspa

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

Returns:

See Also:



69
70
71
72
73
74
75
76
77
78
# File 'lib/anthropic/resources/messages/batches.rb', line 69

def retrieve(message_batch_id, params = {})
  parsed, options = Anthropic::Messages::BatchRetrieveParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["v1/messages/batches/%1$s", message_batch_id],
    headers: parsed.transform_keys(workspace_id: "anthropic-workspace-id"),
    model: Anthropic::Messages::MessageBatch,
    options: options
  )
end