Loading...
    • Erstellen
    • Admin
    • Modelle & Preise
    • Client SDKs
    • API-Referenz
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnellstart
    Mit Claude erstellen
    FunktionsübersichtVerwendung der Messages APIClaude API-FähigkeitStop-Gründe verarbeiten
    Modellmöglichkeiten
    Extended ThinkingAdaptive ThinkingAufwandTask Budgets (Beta)Fast Mode (Beta: Research Preview)Strukturierte AusgabenZitateStreaming MessagesBatch-VerarbeitungSuchergebnisseStreaming-AblehnungenMehrsprachige UnterstützungEmbeddings
    Tools
    ÜbersichtWie Tool-Nutzung funktioniertWeb Search ToolWeb Fetch ToolCode Execution ToolAdvisor ToolMemory ToolBash ToolComputer Use ToolText Editor Tool
    Tool-Infrastruktur
    Tool-ReferenzTool-SucheProgrammgesteuerte Tool-AufrufeFeingranulares Tool-Streaming
    Kontextverwaltung
    KontextfensterKomprimierungKontextbearbeitungPrompt CachingToken-Zählung
    Mit Dateien arbeiten
    Files APIPDF-UnterstützungBilder und Vision
    Skills
    ÜbersichtSchnellstartBest PracticesSkills für UnternehmenSkills in der API
    MCP
    Remote MCP ServerMCP Connector
    Prompt Engineering
    ÜbersichtBest Practices für PromptingConsole Prompting Tools
    Testen und evaluieren
    Erfolg definieren und Evaluierungen erstellenVerwendung des Evaluation Tools in ConsoleLatenz reduzieren
    Guardrails verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenPrompt-Leak reduzieren
    Ressourcen
    Glossar
    Versionshinweise
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Modellmöglichkeiten

    Batch-Verarbeitung

    Effiziente Verarbeitung großer Anfragemengen mit asynchroner Verarbeitung

    Batch-Verarbeitung ist ein leistungsstarker Ansatz zur effizienten Verarbeitung großer Anfragemengen. Anstatt Anfragen einzeln mit sofortigen Antworten zu verarbeiten, ermöglicht die Batch-Verarbeitung das Einreichen mehrerer Anfragen zusammen zur asynchronen Verarbeitung. Dieses Muster ist besonders nützlich, wenn:

    • Sie große Datenmengen verarbeiten müssen
    • Sofortige Antworten nicht erforderlich sind
    • Sie Kosteneffizienz optimieren möchten
    • Sie großangelegte Evaluierungen oder Analysen durchführen

    Die Message Batches API ist Anthropics erste Implementierung dieses Musters.

    This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.


    Message Batches API

    Die Message Batches API ist eine leistungsstarke, kostengünstige Möglichkeit, große Mengen an Messages-Anfragen asynchron zu verarbeiten. Dieser Ansatz eignet sich gut für Aufgaben, die keine sofortigen Antworten erfordern, wobei die meisten Batches in weniger als 1 Stunde abgeschlossen werden, während die Kosten um 50% gesenkt und der Durchsatz erhöht werden.

    Sie können die API-Referenz direkt erkunden, zusätzlich zu diesem Leitfaden.

    Wie die Message Batches API funktioniert

    Wenn Sie eine Anfrage an die Message Batches API senden:

    1. Das System erstellt einen neuen Message Batch mit den bereitgestellten Messages-Anfragen.
    2. Der Batch wird dann asynchron verarbeitet, wobei jede Anfrage unabhängig bearbeitet wird.
    3. Sie können den Status des Batches abfragen und Ergebnisse abrufen, wenn die Verarbeitung aller Anfragen beendet ist.

    Dies ist besonders nützlich für Massenoperationen, die keine sofortigen Ergebnisse erfordern, wie zum Beispiel:

    • Großangelegte Evaluierungen: Verarbeiten Sie effizient Tausende von Testfällen.
    • Inhaltsmoderation: Analysieren Sie asynchron große Mengen an benutzergenerierten Inhalten.
    • Datenanalyse: Generieren Sie Erkenntnisse oder Zusammenfassungen für große Datensätze.
    • Massen-Inhaltsgenerierung: Erstellen Sie große Mengen an Text für verschiedene Zwecke (z. B. Produktbeschreibungen, Artikel-Zusammenfassungen).

    Batch-Einschränkungen

    • Ein Message Batch ist auf entweder 100.000 Message-Anfragen oder 256 MB Größe begrenzt, je nachdem, welche Grenze zuerst erreicht wird.
    • Das System verarbeitet jeden Batch so schnell wie möglich, wobei die meisten Batches innerhalb von 1 Stunde abgeschlossen werden. Sie können auf Batch-Ergebnisse zugreifen, wenn alle Nachrichten abgeschlossen sind oder nach 24 Stunden, je nachdem, was zuerst eintritt. Batches verfallen, wenn die Verarbeitung nicht innerhalb von 24 Stunden abgeschlossen ist.
    • Batch-Ergebnisse sind 29 Tage nach der Erstellung verfügbar. Danach können Sie den Batch weiterhin anzeigen, aber seine Ergebnisse können nicht mehr heruntergeladen werden.
    • Batches sind auf einen Workspace beschränkt. Sie können alle Batches (und deren Ergebnisse) anzeigen, die innerhalb des Workspace erstellt wurden, zu dem Ihr API-Schlüssel gehört.
    • Ratenlimits gelten sowohl für HTTP-Anfragen der Batches API als auch für die Anzahl der Anfragen innerhalb eines Batches, die auf Verarbeitung warten. Siehe Message Batches API-Ratenlimits. Darüber hinaus kann die Verarbeitung basierend auf der aktuellen Nachfrage und Ihrem Anfragevolumen verlangsamt werden. In diesem Fall können Sie mehr Anfragen sehen, die nach 24 Stunden ablaufen.
    • Aufgrund des hohen Durchsatzes und der gleichzeitigen Verarbeitung können Batches Ihr konfiguriertes Ausgabenlimit des Workspace leicht überschreiten.

    Unterstützte Modelle

    Alle aktiven Modelle unterstützen die Message Batches API.

    Was kann in Batches verarbeitet werden

    Jede Anfrage, die Sie an die Messages API stellen können, kann in einen Batch aufgenommen werden. Dies umfasst:

    • Vision
    • Tool-Nutzung
    • Systemnachrichten
    • Mehrteilige Konversationen
    • Alle Beta-Funktionen

    Da jede Anfrage im Batch unabhängig verarbeitet wird, können Sie verschiedene Arten von Anfragen innerhalb eines einzelnen Batches mischen.

    Da Batches länger als 5 Minuten zur Verarbeitung benötigen können, erwägen Sie die Verwendung der 1-Stunden-Cache-Dauer mit Prompt-Caching für bessere Cache-Hit-Raten bei der Verarbeitung von Batches mit gemeinsamen Kontexten.


    Preisgestaltung

    Die Batches API bietet erhebliche Kosteneinsparungen. Alle Nutzungen werden mit 50% der Standard-API-Preise berechnet.

    ModelBatch inputBatch output
    Claude Opus 4.7$2.50 / MTok$12.50 / MTok
    Claude Opus 4.6$2.50 / MTok$12.50 / MTok
    Claude Opus 4.5$2.50 / MTok$12.50 / MTok
    Claude Opus 4.1$7.50 / MTok$37.50 / MTok
    Claude Opus 4$7.50 / MTok$37.50 / MTok
    Claude Sonnet 4.6$1.50 / MTok$7.50 / MTok
    Claude Sonnet 4.5$1.50 / MTok$7.50 / MTok
    Claude Sonnet 4$1.50 / MTok$7.50 / MTok
    Claude Sonnet 3.7 (deprecated)$1.50 / MTok$7.50 / MTok
    Claude Haiku 4.5$0.50 / MTok$2.50 / MTok
    Claude Haiku 3.5$0.40 / MTok$2 / MTok
    Claude Opus 3 (deprecated)$7.50 / MTok$37.50 / MTok
    Claude Haiku 3$0.125 / MTok$0.625 / MTok

    Wie man die Message Batches API verwendet

    Bereiten Sie Ihren Batch vor und erstellen Sie ihn

    Ein Message Batch besteht aus einer Liste von Anfragen zum Erstellen einer Message. Die Form einer einzelnen Anfrage setzt sich zusammen aus:

    • Eine eindeutige custom_id zur Identifizierung der Messages-Anfrage. Muss 1 bis 64 Zeichen lang sein und darf nur alphanumerische Zeichen, Bindestriche und Unterstriche enthalten (Übereinstimmung mit ^[a-zA-Z0-9_-]{1,64}$).
    • Ein params-Objekt mit den Standard-Messages API-Parametern

    Sie können einen Batch erstellen, indem Sie diese Liste in den requests-Parameter übergeben:

    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-7",
                    max_tokens=1024,
                    messages=[
                        {
                            "role": "user",
                            "content": "Hello, world",
                        }
                    ],
                ),
            ),
            Request(
                custom_id="my-second-request",
                params=MessageCreateParamsNonStreaming(
                    model="claude-opus-4-7",
                    max_tokens=1024,
                    messages=[
                        {
                            "role": "user",
                            "content": "Hi again, friend",
                        }
                    ],
                ),
            ),
        ]
    )
    
    print(message_batch)

    In diesem Beispiel werden zwei separate Anfragen zusammen zur asynchronen Verarbeitung in einen Batch aufgenommen. Jede Anfrage hat eine eindeutige custom_id und enthält die Standard-Parameter, die Sie für einen Messages API-Aufruf verwenden würden.

    Testen Sie Ihre Batch-Anfragen mit der Messages API

    Die Validierung des params-Objekts für jede Message-Anfrage wird asynchron durchgeführt, und Validierungsfehler werden zurückgegeben, wenn die Verarbeitung des gesamten Batches beendet ist. Sie können sicherstellen, dass Sie Ihre Eingabe korrekt erstellen, indem Sie Ihre Anfragefom zuerst mit der Messages API überprüfen.

    Wenn ein Batch zum ersten Mal erstellt wird, hat die Antwort einen Verarbeitungsstatus von in_progress.

    Output
    {
      "id": "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d",
      "type": "message_batch",
      "processing_status": "in_progress",
      "request_counts": {
        "processing": 2,
        "succeeded": 0,
        "errored": 0,
        "canceled": 0,
        "expired": 0
      },
      "ended_at": null,
      "created_at": "2024-09-24T18:37:24.100435Z",
      "expires_at": "2024-09-25T18:37:24.100435Z",
      "cancel_initiated_at": null,
      "results_url": null
    }

    Verfolgen Sie Ihren Batch

    Das Feld processing_status des Message Batch gibt die Verarbeitungsstufe an, in der sich der Batch befindet. Es beginnt als in_progress, wird dann auf ended aktualisiert, sobald alle Anfragen im Batch die Verarbeitung abgeschlossen haben und die Ergebnisse verfügbar sind. Sie können den Status Ihres Batches überwachen, indem Sie die Console besuchen oder den Abrufen-Endpunkt verwenden.

    Abfragen auf Message Batch-Abschluss

    Um einen Message Batch abzufragen, benötigen Sie seine id, die in der Antwort beim Erstellen eines Batches oder durch Auflisten von Batches bereitgestellt wird. Sie können eine Abfrageschleife implementieren, die den Batch-Status regelmäßig überprüft, bis die Verarbeitung beendet ist:

    import time
    
    client = anthropic.Anthropic()
    
    MESSAGE_BATCH_ID = "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d"
    
    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)

    Auflisten aller Message Batches

    Sie können alle Message Batches in Ihrem Workspace mit dem List-Endpunkt auflisten. Die API unterstützt Paginierung und ruft automatisch zusätzliche Seiten nach Bedarf ab:

    client = anthropic.Anthropic()
    
    # Automatically fetches more pages as needed.
    for message_batch in client.messages.batches.list(limit=20):
        print(message_batch)

    Abrufen von Batch-Ergebnissen

    Nachdem die Batch-Verarbeitung beendet ist, hat jede Messages-Anfrage im Batch ein Ergebnis. Es gibt 4 Ergebnistypen:

    ErgebnistypBeschreibung
    succeededAnfrage war erfolgreich. Enthält das Nachrichtenergebnis.
    erroredAnfrage ist auf einen Fehler gestoßen und eine Nachricht wurde nicht erstellt. Mögliche Fehler sind ungültige Anfragen und interne Serverfehler. Sie werden für diese Anfragen nicht abgerechnet.
    canceledBenutzer hat den Batch abgebrochen, bevor diese Anfrage an das Modell gesendet werden konnte. Sie werden für diese Anfragen nicht abgerechnet.
    expiredBatch hat seine 24-Stunden-Gültigkeitsdauer erreicht, bevor diese Anfrage an das Modell gesendet werden konnte. Sie werden für diese Anfragen nicht abgerechnet.

    Sie sehen einen Überblick über Ihre Ergebnisse mit den request_counts des Batch, die zeigen, wie viele Anfragen jeden dieser vier Zustände erreicht haben.

    Die Ergebnisse des Batch sind zum Download unter der results_url-Eigenschaft auf dem Message Batch verfügbar und, falls die Organisationsberechtigung dies zulässt, in der Console. Aufgrund der möglicherweise großen Größe der Ergebnisse wird empfohlen, Ergebnisse zu streamen, anstatt sie alle auf einmal herunterzuladen.

    client = anthropic.Anthropic()
    
    # Stream results file in memory-efficient chunks, processing one at a time
    for result in client.messages.batches.results(
        "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d",
    ):
        match result.result.type:
            case "succeeded":
                print(f"Success! {result.custom_id}")
            case "errored":
                if result.result.error.error.type == "invalid_request_error":
                    # Request body must be fixed before re-sending request
                    print(f"Validation error {result.custom_id}")
                else:
                    # Request can be retried directly
                    print(f"Server error {result.custom_id}")
            case "expired":
                print(f"Request expired {result.custom_id}")

    Die Ergebnisse sind im .jsonl-Format, wobei jede Zeile ein gültiges JSON-Objekt ist, das das Ergebnis einer einzelnen Anfrage im Message Batch darstellt. Für jedes gestreamte Ergebnis können Sie je nach seiner custom_id und seinem Ergebnistyp etwas anderes tun. Hier ist ein Beispiel für einen Satz von Ergebnissen:

    .jsonl file
    {"custom_id":"my-second-request","result":{"type":"succeeded","message":{"id":"msg_014VwiXbi91y3JMjcpyGBHX5","type":"message","role":"assistant","model":"claude-opus-4-7","content":[{"type":"text","text":"Hello again! It's nice to see you. How can I assist you today? Is there anything specific you'd like to chat about or any questions you have?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":11,"output_tokens":36}}}}
    {"custom_id":"my-first-request","result":{"type":"succeeded","message":{"id":"msg_01FqfsLoHwgeFbguDgpz48m7","type":"message","role":"assistant","model":"claude-opus-4-7","content":[{"type":"text","text":"Hello! How can I assist you today? Feel free to ask me any questions or let me know if there's anything you'd like to chat about."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":10,"output_tokens":34}}}}

    Wenn Ihr Ergebnis einen Fehler hat, wird sein result.error auf die Standard-Fehlerform gesetzt.

    Batch-Ergebnisse stimmen möglicherweise nicht mit der Eingabereihenfolge überein

    Batch-Ergebnisse können in beliebiger Reihenfolge zurückgegeben werden und stimmen möglicherweise nicht mit der Reihenfolge der Anfragen überein, wenn der Batch erstellt wurde. Im obigen Beispiel wird das Ergebnis für die zweite Batch-Anfrage vor der ersten zurückgegeben. Um Ergebnisse korrekt mit ihren entsprechenden Anfragen abzugleichen, verwenden Sie immer das Feld custom_id.

    Abbrechen eines Message Batch

    Sie können einen Message Batch, der gerade verarbeitet wird, mit dem Abbruch-Endpunkt abbrechen. Unmittelbar nach dem Abbruch ist der processing_status eines Batch canceling. Sie können die oben beschriebene Polling-Technik verwenden, um zu warten, bis der Abbruch abgeschlossen ist. Abgebrochene Batches enden mit einem Status von ended und können teilweise Ergebnisse für Anfragen enthalten, die vor dem Abbruch verarbeitet wurden.

    client = anthropic.Anthropic()
    
    MESSAGE_BATCH_ID = "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d"
    
    message_batch = client.messages.batches.cancel(
        MESSAGE_BATCH_ID,
    )
    print(message_batch)

    Die Antwort zeigt den Batch in einem canceling-Zustand:

    Output
    {
      "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
      "type": "message_batch",
      "processing_status": "canceling",
      "request_counts": {
        "processing": 2,
        "succeeded": 0,
        "errored": 0,
        "canceled": 0,
        "expired": 0
      },
      "ended_at": null,
      "created_at": "2024-09-24T18:37:24.100435Z",
      "expires_at": "2024-09-25T18:37:24.100435Z",
      "cancel_initiated_at": "2024-09-24T18:39:03.114875Z",
      "results_url": null
    }

    Prompt Caching mit Message Batches verwenden

    Die Message Batches API unterstützt Prompt Caching, wodurch Sie möglicherweise Kosten und Verarbeitungszeit für Batch-Anfragen reduzieren können. Die Preisrabatte aus Prompt Caching und Message Batches können sich stapeln und bieten noch größere Kosteneinsparungen, wenn beide Funktionen zusammen verwendet werden. Da Batch-Anfragen jedoch asynchron und gleichzeitig verarbeitet werden, werden Cache-Treffer auf Best-Effort-Basis bereitgestellt. Benutzer erfahren typischerweise Cache-Hit-Raten zwischen 30% und 98%, abhängig von ihren Verkehrsmustern.

    Um die Wahrscheinlichkeit von Cache-Treffern in Ihren Batch-Anfragen zu maximieren:

    1. Fügen Sie identische cache_control-Blöcke in jede Message-Anfrage innerhalb Ihres Batch ein
    2. Halten Sie einen stetigen Strom von Anfragen aufrecht, um zu verhindern, dass Cache-Einträge nach ihrer 5-Minuten-Lebensdauer ablaufen
    3. Strukturieren Sie Ihre Anfragen so, dass sie so viel zwischengespeicherte Inhalte wie möglich gemeinsam nutzen

    Beispiel für die Implementierung von Prompt Caching in einem Batch:

    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-7",
                    max_tokens=1024,
                    system=[
                        {
                            "type": "text",
                            "text": "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n",
                        },
                        {
                            "type": "text",
                            "text": "<the entire contents of Pride and Prejudice>",
                            "cache_control": {"type": "ephemeral"},
                        },
                    ],
                    messages=[
                        {
                            "role": "user",
                            "content": "Analyze the major themes in Pride and Prejudice.",
                        }
                    ],
                ),
            ),
            Request(
                custom_id="my-second-request",
                params=MessageCreateParamsNonStreaming(
                    model="claude-opus-4-7",
                    max_tokens=1024,
                    system=[
                        {
                            "type": "text",
                            "text": "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n",
                        },
                        {
                            "type": "text",
                            "text": "<the entire contents of Pride and Prejudice>",
                            "cache_control": {"type": "ephemeral"},
                        },
                    ],
                    messages=[
                        {
                            "role": "user",
                            "content": "Write a summary of Pride and Prejudice.",
                        }
                    ],
                ),
            ),
        ]
    )

    In diesem Beispiel enthalten beide Anfragen im Batch identische Systemmeldungen und den vollständigen Text von Pride and Prejudice, der mit cache_control gekennzeichnet ist, um die Wahrscheinlichkeit von Cache-Treffern zu erhöhen.

    Erweiterte Ausgabe (Beta)

    Der output-300k-2026-03-24 Beta-Header erhöht die max_tokens-Obergrenze auf 300.000 für Batch-Anfragen mit Claude Opus 4.7, Claude Opus 4.6 oder Claude Sonnet 4.6. Fügen Sie den Header ein, um Ausgaben zu generieren, die viel länger als das Standardlimit (64k bis 128k je nach Modell) in einer einzigen Runde sind.

    Erweiterte Ausgabe ist nur auf der Message Batches API verfügbar, nicht auf der synchronen Messages API. Sie wird auf der Claude API unterstützt und ist nicht auf Amazon Bedrock, Vertex AI oder Microsoft Foundry verfügbar.

    Verwenden Sie erweiterte Ausgabe für langformatige Generierung wie buchlanges Entwürfe und technische Dokumentation, erschöpfende strukturierte Datenextraktion, große Code-Generierungs-Gerüste und lange Reasoning-Ketten.

    Eine einzelne 300k-Token-Generierung kann über eine Stunde dauern, daher planen Sie Ihre Batch-Einreichungen mit dem 24-Stunden-Verarbeitungsfenster im Hinterkopf. Standard-Batch-Preise (50% der Standard-API-Preise) gelten.

    from anthropic.types.beta.message_create_params import MessageCreateParamsNonStreaming
    from anthropic.types.beta.messages.batch_create_params import Request
    
    client = anthropic.Anthropic()
    
    message_batch = client.beta.messages.batches.create(
        betas=["output-300k-2026-03-24"],
        requests=[
            Request(
                custom_id="long-form-request",
                params=MessageCreateParamsNonStreaming(
                    model="claude-opus-4-7",
                    max_tokens=300_000,
                    messages=[
                        {
                            "role": "user",
                            "content": "Write a comprehensive technical guide to building distributed systems, covering architecture patterns, consistency models, fault tolerance, and operational best practices.",
                        }
                    ],
                ),
            ),
        ],
    )
    
    print(message_batch)

    Best Practices für effektives Batching

    Um das Beste aus der Batches API herauszuholen:

    • Überwachen Sie den Batch-Verarbeitungsstatus regelmäßig und implementieren Sie angemessene Wiederholungslogik für fehlgeschlagene Anfragen.
    • Verwenden Sie aussagekräftige custom_id-Werte, um Ergebnisse leicht mit Anfragen abzugleichen, da die Reihenfolge nicht garantiert ist.
    • Erwägen Sie, sehr große Datensätze in mehrere Batches aufzuteilen, um eine bessere Verwaltbarkeit zu erreichen.
    • Führen Sie einen Testlauf mit einer einzelnen Anfragefom mit der Messages API durch, um Validierungsfehler zu vermeiden.

    Fehlerbehebung bei häufigen Problemen

    Wenn Sie unerwartet Verhalten feststellen:

    • Überprüfen Sie, dass die Gesamtgröße der Batch-Anfrage 256 MB nicht überschreitet. Wenn die Anfragegröße zu groß ist, erhalten Sie möglicherweise einen 413 request_too_large-Fehler.
    • Überprüfen Sie, dass Sie unterstützte Modelle für alle Anfragen im Batch verwenden.
    • Stellen Sie sicher, dass jede Anfrage im Batch eine eindeutige custom_id hat.
    • Stellen Sie sicher, dass weniger als 29 Tage seit der Batch-created_at-Zeit (nicht der Verarbeitungs-ended_at-Zeit) vergangen sind. Wenn mehr als 29 Tage vergangen sind, sind die Ergebnisse nicht mehr einsehbar.
    • Bestätigen Sie, dass der Batch nicht abgebrochen wurde.

    Beachten Sie, dass der Fehler einer Anfrage in einem Batch die Verarbeitung anderer Anfragen nicht beeinträchtigt.


    Batch-Speicherung und Datenschutz

    • Workspace-Isolation: Batches sind innerhalb des Workspace isoliert, in dem sie erstellt wurden. Sie können nur von API-Schlüsseln zugegriffen werden, die diesem Workspace zugeordnet sind, oder von Benutzern mit Berechtigung zum Anzeigen von Workspace-Batches in der Console.

    • Ergebnisverfügbarkeit: Batch-Ergebnisse sind 29 Tage nach der Batch-Erstellung verfügbar, was ausreichend Zeit für den Abruf und die Verarbeitung bietet.


    Datenspeicherung

    Die Batch-Verarbeitung speichert Anfrage- und Antwortdaten bis zu 29 Tage nach der Batch-Erstellung. Sie können einen Message Batch jederzeit nach der Verarbeitung mit dem DELETE /v1/messages/batches/{batch_id}-Endpoint löschen. Um einen laufenden Batch zu löschen, brechen Sie ihn zuerst ab. Die asynchrone Verarbeitung erfordert serverseitige Speicherung sowohl von Eingaben als auch von Ausgaben bis zur Batch-Fertigstellung und zum Abruf der Ergebnisse.

    Für ZDR-Berechtigung über alle Funktionen hinweg siehe API und Datenspeicherung.

    Häufig gestellte Fragen

    Was this page helpful?

    • Wie die Message Batches API funktioniert
    • Batch-Einschränkungen
    • Unterstützte Modelle
    • Was kann in Batches verarbeitet werden
    • Preisgestaltung
    • Wie man die Message Batches API verwendet
    • Bereiten Sie Ihren Batch vor und erstellen Sie ihn
    • Verfolgen Sie Ihren Batch
    • Auflisten aller Message Batches
    • Abrufen von Batch-Ergebnissen
    • Abbrechen eines Message Batch
    • Prompt Caching mit Message Batches verwenden
    • Erweiterte Ausgabe (Beta)
    • Best Practices für effektives Batching
    • Fehlerbehebung bei häufigen Problemen
    • Batch-Speicherung und Datenschutz
    • Datenspeicherung
    • Häufig gestellte Fragen