Illustration til: Claude Batch API: behandl hundredvis af opgaver automatisk

Claude Batch API: behandl hundredvis af opgaver automatisk

Anthropics Batch API er et kraftfuldt værktøj til udviklere der har brug for at behandle store mængder opgaver automatisk — og til halvdelen af prisen på det almindelige API. Her er hvad du skal vide om, hvornår og hvordan du bruger det.

Hvad er Batch API?

Batch API er en asynkron behandlingsmetode, der lader dig sende op til 100.000 requests på én gang. I stedet for at vente på hvert svar (synkront), sender du alle requests samlet, og Anthropic behandler dem over op til 24 timer og returnerer resultaterne.

Fordelen: 50% lavere pris sammenlignet med det standardsynkrone API. Ulempen: du får ikke svar med det samme — det passer til opgaver, der ikke kræver realtidsrespons.

Hvornår giver Batch API mening?

Batch API er ideelt til:

  • Massebehandling af dokumenter — analyser, oversæt eller klassificér tusinder af filer
  • Generering af mange tekster — produktbeskrivelser, SEO-tekster, resuméer for hele kataloger
  • Dataopmærkning — klassificér store datasæt til machine learning
  • Evaluering — test promptvarianter mod mange eksempler på én gang

Undgå Batch API til: realtidsapplikationer, brugervendte svar og alt der kræver svar under 5 sekunder.

Python-kodeeksempel

Sådan sender du et batch med Python SDK:

import anthropic

client = anthropic.Anthropic()

# Opret batch med flere requests
batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": f"opgave-{i}",
            "params": {
                "model": "claude-sonnet-4-5",
                "max_tokens": 300,
                "messages": [
                    {"role": "user", "content": f"Skriv et resumé af: {tekst}"}
                ]
            }
        }
        for i, tekst in enumerate(tekst_liste)
    ]
)

print(f"Batch oprettet: {batch.id}")
print(f"Status: {batch.processing_status}")

Polling for resultater

Når batchen er sendt, poller du for at tjekke status:

import time

def vent_paa_batch(batch_id: str):
    while True:
        batch = client.messages.batches.retrieve(batch_id)
        status = batch.processing_status

        if status == "ended":
            print(f"Batch færdig: {batch.request_counts.succeeded} succesfulde")
            return batch
        elif status == "errored":
            raise Exception(f"Batch fejlede: {batch.error}")

        print(f"Status: {status} — venter 60 sekunder...")
        time.sleep(60)

# Hent resultater
batch = vent_paa_batch(batch.id)
for result in client.messages.batches.results(batch.id):
    print(f"{result.custom_id}: {result.result.message.content[0].text[:100]}")

Begrænsninger

Vigtige ting at vide inden du vælger Batch API:

  • 24-timers behandlingstid: Anthropic garanterer resultater inden for 24 timer, men de fleste batches færdiggøres hurtigere
  • Ingen streaming: du kan ikke streame svar token for token
  • Maks 100.000 requests pr. batch: split større opgaver i separate batches
  • Resultater opbevares i 29 dage: hent dem inden de slettes

Batch API er et af de mest cost-effektive værktøjer i Anthropics arsenal for udviklere med databehandlingsopgaver i stor skala.


Udgivet

i

af

Kommentarer

Skriv et svar