Message Batches API는 Messages API와 동일한 기능 세트를 지원합니다. 이 페이지는 Message Batches API 사용 방법에 중점을 두고 있지만, Messages API 기능 세트의 예제는 Messages API 예제 를 참조하세요.
Message Batch 생성
import anthropic
from anthropic. types. message_create_params import MessageCreateParamsNonStreaming
from anthropic. types. messages. batch_create_params import Request
client = anthropic. Anthropic( )
message_batch = client. messages. batches. create(
requests= [
Request(
custom_id= "my-first-request" ,
params= MessageCreateParamsNonStreaming(
model= "claude-opus-4-20250514" ,
max_tokens= 1024 ,
messages= [ {
"role" : "user" ,
"content" : "Hello, world" ,
} ]
)
) ,
Request(
custom_id= "my-second-request" ,
params= MessageCreateParamsNonStreaming(
model= "claude-opus-4-20250514" ,
max_tokens= 1024 ,
messages= [ {
"role" : "user" ,
"content" : "Hi again, friend" ,
} ]
)
)
]
)
print ( message_batch)
Message Batch 완료 폴링
Message Batch를 폴링하려면 생성 요청 시 응답으로 제공되거나 나열 을 통해 배치를 나열할 때 제공되는 id
가 필요합니다. 예제 id
: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF
.
import anthropic
client = anthropic. Anthropic( )
message_batch = None
while True :
message_batch = client. messages. batches. retrieve(
MESSAGE_BATCH_ID
)
if message_batch. processing_status == "ended" :
break
print ( f"Batch { MESSAGE_BATCH_ID} is still processing..." )
time. sleep( 60 )
print ( message_batch)
워크스페이스의 모든 Message Batch 나열
import anthropic
client = anthropic. Anthropic( )
for message_batch in client. messages. batches. list (
limit= 20
) :
print ( message_batch)
Message Batch 결과 검색
Message Batch 상태가 ended
가 되면 배치의 results_url
을 확인하고 .jsonl
파일 형태로 결과를 검색할 수 있습니다.
import anthropic
client = anthropic. Anthropic( )
for result in client. messages. batches. results(
MESSAGE_BATCH_ID,
) :
print ( result)
Message Batch 취소
취소 직후 배치의 processing_status
는 canceling
이 됩니다. 동일한 배치 완료 폴링 기법을 사용하여 취소가 완료되는 시점을 폴링할 수 있습니다. 취소된 배치도 ended
상태가 되며 결과를 포함할 수 있습니다.
import anthropic
client = anthropic. Anthropic( )
message_batch = client. messages. batches. cancel(
MESSAGE_BATCH_ID,
)
print ( message_batch)