A API de Lotes de Mensagens suporta o mesmo conjunto de recursos que a API de Mensagens. Embora esta página se concentre em como usar a API de Lotes de Mensagens, consulte exemplos da API de Mensagens para exemplos do conjunto de recursos da API de Mensagens.
Fazendo Polling para Conclusão do Lote de Mensagens
Para fazer polling de um Lote de Mensagens, você precisará do seu id, que é fornecido na resposta ao criar a solicitação ou ao listar lotes. Exemplo 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)
Listando Todos os Lotes de Mensagens em um Workspace
import anthropicclient = anthropic.Anthropic()# Automatically fetches more pages as needed.for message_batch in client.messages.batches.list( limit=20):print(message_batch)
Uma vez que o status do seu Lote de Mensagens seja ended, você poderá visualizar a results_url do lote e recuperar resultados na forma de um arquivo .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)
Imediatamente após o cancelamento, o processing_status de um lote será canceling. Você pode usar a mesma técnica de polling para conclusão do lote para fazer polling de quando o cancelamento é finalizado, pois lotes cancelados também terminam como ended e podem conter resultados.