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

Inherits:
Object
  • Object
show all
Defined in:
lib/anthropic/resources/beta/messages/batches.rb,
sig/anthropic/resources/beta/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:



220
221
222
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 220

def initialize(client:)
  @client = client
end

Instance Method Details

#cancel(message_batch_id, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Messages::BetaMessageBatch

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:

Returns:

See Also:



168
169
170
171
172
173
174
175
176
177
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 168

def cancel(message_batch_id, params = {})
  parsed, options = Anthropic::Beta::Messages::BatchCancelParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["v1/messages/batches/%1$s/cancel?beta=true", message_batch_id],
    headers: parsed.transform_keys(betas: "anthropic-beta"),
    model: Anthropic::Beta::Messages::BetaMessageBatch,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end

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

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::Beta::Messages::BatchCreateParams for more details.

Parameters:

Returns:

See Also:



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

def create(params)
  parsed, options = Anthropic::Beta::Messages::BatchCreateParams.dump_request(params)
  header_params = {betas: "anthropic-beta", user_profile_id: "anthropic-user-profile-id"}
  @client.request(
    method: :post,
    path: "v1/messages/batches?beta=true",
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: Anthropic::Beta::Messages::BetaMessageBatch,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end

#delete(message_batch_id, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Messages::BetaDeletedMessageBatch

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:

Returns:

See Also:



133
134
135
136
137
138
139
140
141
142
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 133

def delete(message_batch_id, params = {})
  parsed, options = Anthropic::Beta::Messages::BatchDeleteParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["v1/messages/batches/%1$s?beta=true", message_batch_id],
    headers: parsed.transform_keys(betas: "anthropic-beta"),
    model: Anthropic::Beta::Messages::BetaDeletedMessageBatch,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end

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

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::Beta::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.

  • betas (Array<String, Symbol, Anthropic::Models::AnthropicBeta>)

    Header param: Optional header to specify the beta version(s) you want to use.

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

Returns:

See Also:



99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 99

def list(params = {})
  query_params = [:after_id, :before_id, :limit]
  parsed, options = Anthropic::Beta::Messages::BatchListParams.dump_request(params)
  query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params))
  @client.request(
    method: :get,
    path: "v1/messages/batches?beta=true",
    query: query,
    headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
    page: Anthropic::Internal::Page,
    model: Anthropic::Beta::Messages::BetaMessageBatch,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end

#results_streaming(message_batch_id, betas: nil, request_options: {}) ⇒ Anthropic::Internal::JsonLStream<Anthropic::Models::Beta::Messages::BetaMessageBatchIndividualResponse>

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:

Returns:

See Also:



199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 199

def results_streaming(message_batch_id, params = {})
  parsed, options = Anthropic::Beta::Messages::BatchResultsParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["v1/messages/batches/%1$s/results?beta=true", message_batch_id],
    headers: {
      "accept" => "application/x-jsonl",
      "accept-encoding" => "identity",
      **parsed
    }.transform_keys(
      betas: "anthropic-beta"
    ),
    stream: Anthropic::Internal::JsonLStream,
    model: Anthropic::Beta::Messages::BetaMessageBatchIndividualResponse,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end

#retrieve(message_batch_id, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Messages::BetaMessageBatch

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:

Returns:

See Also:



64
65
66
67
68
69
70
71
72
73
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 64

def retrieve(message_batch_id, params = {})
  parsed, options = Anthropic::Beta::Messages::BatchRetrieveParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["v1/messages/batches/%1$s?beta=true", message_batch_id],
    headers: parsed.transform_keys(betas: "anthropic-beta"),
    model: Anthropic::Beta::Messages::BetaMessageBatch,
    options: {extra_headers: {"anthropic-beta" => "message-batches-2024-09-24"}, **options}
  )
end