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

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

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.



211
212
213
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 211

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



165
166
167
168
169
170
171
172
173
174
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 165

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, request_options: {}) ⇒ Anthropic::Models::Beta::Messages::BetaMessageBatch

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

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



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

def create(params)
  parsed, options = Anthropic::Beta::Messages::BatchCreateParams.dump_request(params)
  header_params = {betas: "anthropic-beta"}
  @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



130
131
132
133
134
135
136
137
138
139
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 130

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>

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

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



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

def list(params = {})
  parsed, options = Anthropic::Beta::Messages::BatchListParams.dump_request(params)
  query_params = [:after_id, :before_id, :limit]
  @client.request(
    method: :get,
    path: "v1/messages/batches?beta=true",
    query: parsed.slice(*query_params),
    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



196
197
198
199
200
201
202
203
204
205
206
# File 'lib/anthropic/resources/beta/messages/batches.rb', line 196

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", **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



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

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