La API de lotes de mensajes (Message Batches) admite el mismo conjunto de funciones que la API de mensajes (Messages). Aunque esta página se centra en cómo usar la API de lotes de mensajes, consulta Ejemplos de la API de mensajes para ver ejemplos del conjunto de funciones de la API de mensajes.
Para sondear un lote de mensajes, necesitarás su id, que se proporciona en la respuesta al crear la solicitud o al listar los lotes. Ejemplo de id: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF.
import anthropicclient = anthropic.Anthropic()message_batch =NonewhileTrue: message_batch = client.messages.batches.retrieve( MESSAGE_BATCH_ID)if message_batch.processing_status =="ended":breakprint(f"Batch {MESSAGE_BATCH_ID} is still processing...") time.sleep(60)print(message_batch)
Listado de todos los lotes de mensajes en un espacio de trabajo
import anthropicclient = anthropic.Anthropic()# Automatically fetches more pages as needed.for message_batch in client.messages.batches.list( limit=20):print(message_batch)
Una vez que el estado de tu lote de mensajes sea ended, podrás ver la results_url del lote y recuperar los resultados en forma de archivo .jsonl.
import anthropicclient = anthropic.Anthropic()# Stream results file in memory-efficient chunks, processing one at a timefor result in client.messages.batches.results( MESSAGE_BATCH_ID,):print(result)
Inmediatamente después de la cancelación, el processing_status de un lote será canceling. Puedes usar la misma técnica de sondeo para la finalización del lote para sondear cuándo se finaliza la cancelación, ya que los lotes cancelados también terminan como ended y pueden contener resultados.