- Sie große Datenmengen verarbeiten müssen
- Sofortige Antworten nicht erforderlich sind
- Sie für Kosteneffizienz optimieren möchten
- Sie groß angelegte Evaluierungen oder Analysen durchführen
Message Batches API
Die Message Batches API ist eine leistungsstarke, kosteneffiziente Möglichkeit, große Mengen von 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 fertiggestellt werden, während die Kosten um 50% reduziert und der Durchsatz erhöht wird. 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:- Das System erstellt einen neuen Message Batch mit den bereitgestellten Messages-Anfragen.
- Der Batch wird dann asynchron verarbeitet, wobei jede Anfrage unabhängig behandelt wird.
- Sie können den Status des Batches abfragen und Ergebnisse abrufen, wenn die Verarbeitung für alle Anfragen beendet ist.
- Groß angelegte Evaluierungen: Tausende von Testfällen effizient verarbeiten.
- Inhaltsmoderation: Große Mengen von benutzergenerierten Inhalten asynchron analysieren.
- Datenanalyse: Erkenntnisse oder Zusammenfassungen für große Datensätze generieren.
- Bulk-Inhaltsgenerierung: Große Mengen von Text für verschiedene Zwecke erstellen (z.B. Produktbeschreibungen, Artikelzusammenfassungen).
Batch-Beschränkungen
- Ein Message Batch ist auf entweder 100.000 Message-Anfragen oder 256 MB Größe begrenzt, je nachdem, was zuerst erreicht wird.
- Wir verarbeiten 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 laufen ab, wenn die Verarbeitung nicht innerhalb von 24 Stunden abgeschlossen wird.
- Batch-Ergebnisse sind 29 Tage nach der Erstellung verfügbar. Danach können Sie den Batch möglicherweise noch anzeigen, aber seine Ergebnisse stehen nicht mehr zum Download zur Verfügung.
- Batches sind auf einen Workspace beschränkt. Sie können alle Batches—und ihre Ergebnisse—anzeigen, die innerhalb des Workspace erstellt wurden, zu dem Ihr API-Schlüssel gehört.
- Ratenlimits gelten sowohl für Batches API HTTP-Anfragen als auch für die Anzahl der Anfragen innerhalb eines Batches, die auf Verarbeitung warten. Siehe Message Batches API Ratenlimits. Zusätzlich können wir die Verarbeitung basierend auf der aktuellen Nachfrage und Ihrem Anfragevolumen verlangsamen. 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
Die Message Batches API unterstützt derzeit:- Claude Opus 4 (
claude-opus-4-20250514
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219
) - Claude Sonnet 3.5 (
claude-3-5-sonnet-20240620
undclaude-3-5-sonnet-20241022
) - Claude Haiku 3.5 (
claude-3-5-haiku-20241022
) - Claude Haiku 3 (
claude-3-haiku-20240307
) - Claude Opus 3 (
claude-3-opus-20240229
)
Was in Batches verarbeitet werden kann
Jede Anfrage, die Sie an die Messages API stellen können, kann in einem Batch enthalten sein. Dies umfasst:- Vision
- Tool-Verwendung
- System-Nachrichten
- Multi-Turn-Gespräche
- Alle Beta-Features
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-Trefferquoten bei der Verarbeitung von Batches mit geteiltem Kontext.
Preisgestaltung
Die Batches API bietet erhebliche Kosteneinsparungen. Alle Nutzung wird zu 50% der Standard-API-Preise berechnet.Model | Batch input | Batch output |
---|---|---|
Claude Opus 4.1 | $7.50 / MTok | $37.50 / MTok |
Claude Opus 4 | $7.50 / MTok | $37.50 / MTok |
Claude Sonnet 4 | $1.50 / MTok | $7.50 / MTok |
Claude Sonnet 3.7 | $1.50 / MTok | $7.50 / MTok |
Claude Sonnet 3.5 (deprecated) | $1.50 / MTok | $7.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 zur Erstellung einer Message. Die Form einer einzelnen Anfrage umfasst:- Eine eindeutige
custom_id
zur Identifizierung der Messages-Anfrage - Ein
params
-Objekt mit den Standard-Messages API-Parametern
requests
-Parameter übergeben:
custom_id
und enthält die Standardparameter, die Sie für einen Messages API-Aufruf verwenden würden.
Testen Sie Ihre Batch-Anfragen mit der Messages APIDie 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 Anfrageform zuerst mit der Messages API überprüfen.in_progress
.
JSON
Verfolgen Sie Ihren Batch
Dasprocessing_status
-Feld des Message Batch zeigt die Verarbeitungsphase an, in der sich der Batch befindet. Es beginnt als in_progress
und wird dann auf ended
aktualisiert, sobald alle Anfragen im Batch die Verarbeitung abgeschlossen haben und Ergebnisse bereit sind. Sie können den Status Ihres Batches überwachen, indem Sie die Console besuchen oder den Abruf-Endpunkt verwenden:
Abrufen von Batch-Ergebnissen
Sobald die Batch-Verarbeitung beendet ist, hat jede Messages-Anfrage im Batch ein Ergebnis. Es gibt 4 Ergebnistypen:Ergebnistyp | Beschreibung |
---|---|
succeeded | Anfrage war erfolgreich. Enthält das Message-Ergebnis. |
errored | Anfrage stieß auf einen Fehler und eine Message wurde nicht erstellt. Mögliche Fehler umfassen ungültige Anfragen und interne Serverfehler. Sie werden für diese Anfragen nicht belastet. |
canceled | Benutzer hat den Batch abgebrochen, bevor diese Anfrage an das Modell gesendet werden konnte. Sie werden für diese Anfragen nicht belastet. |
expired | Batch erreichte seine 24-Stunden-Ablaufzeit, bevor diese Anfrage an das Modell gesendet werden konnte. Sie werden für diese Anfragen nicht belastet. |
request_counts
des Batches, die zeigen, wie viele Anfragen jeden dieser vier Zustände erreicht haben.
Ergebnisse des Batches sind zum Download unter der results_url
-Eigenschaft des Message Batch verfügbar und, wenn die Organisationsberechtigung es erlaubt, in der Console. Aufgrund der potenziell großen Größe der Ergebnisse wird empfohlen, Ergebnisse zu streamen, anstatt sie alle auf einmal herunterzuladen.
.jsonl
-Format vorliegen, 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 custom_id
und Ergebnistyp etwas anderes tun. Hier ist ein Beispiel für eine Reihe von Ergebnissen:
.jsonl file
result.error
auf unsere Standard-Fehlerform gesetzt.
Batch-Ergebnisse entsprechen möglicherweise nicht der EingabereihenfolgeBatch-Ergebnisse können in beliebiger Reihenfolge zurückgegeben werden und entsprechen möglicherweise nicht der Reihenfolge der Anfragen bei der Batch-Erstellung. Im obigen Beispiel wird das Ergebnis für die zweite Batch-Anfrage vor der ersten zurückgegeben. Um Ergebnisse korrekt mit ihren entsprechenden Anfragen zu verknüpfen, verwenden Sie immer das
custom_id
-Feld.Verwendung von Prompt-Caching mit Message Batches
Die Message Batches API unterstützt Prompt-Caching, wodurch Sie möglicherweise Kosten und Verarbeitungszeit für Batch-Anfragen reduzieren können. Die Preisrabatte von Prompt-Caching und Message Batches können sich stapeln und noch größere Kosteneinsparungen bieten, wenn beide Features zusammen verwendet werden. Da Batch-Anfragen jedoch asynchron und gleichzeitig verarbeitet werden, werden Cache-Treffer nach bestem Bemühen bereitgestellt. Benutzer erleben typischerweise Cache-Trefferquoten zwischen 30% und 98%, abhängig von ihren Verkehrsmustern. Um die Wahrscheinlichkeit von Cache-Treffern in Ihren Batch-Anfragen zu maximieren:- Fügen Sie identische
cache_control
-Blöcke in jede Message-Anfrage innerhalb Ihres Batches ein - Halten Sie einen stetigen Strom von Anfragen aufrecht, um zu verhindern, dass Cache-Einträge nach ihrer 5-minütigen Lebensdauer ablaufen
- Strukturieren Sie Ihre Anfragen so, dass sie so viel gecachten Inhalt wie möglich teilen
cache_control
markiert ist, um die Wahrscheinlichkeit von Cache-Treffern zu erhöhen.
Best Practices für effektive Batch-Verarbeitung
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 zu verknüpfen, da die Reihenfolge nicht garantiert ist. - Erwägen Sie, sehr große Datensätze in mehrere Batches aufzuteilen für bessere Verwaltbarkeit.
- Führen Sie einen Probelauf einer einzelnen Anfrageform mit der Messages API durch, um Validierungsfehler zu vermeiden.
Fehlerbehebung bei häufigen Problemen
Bei unerwartetem Verhalten:- Ü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 Verarbeitungended_at
) vergangen sind. Wenn über 29 Tage vergangen sind, sind Ergebnisse nicht mehr einsehbar. - Bestätigen Sie, dass der Batch nicht abgebrochen wurde.
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 mit diesem Workspace verbunden sind, oder von Benutzern mit Berechtigung, Workspace-Batches in der Console anzuzeigen.
- Ergebnisverfügbarkeit: Batch-Ergebnisse sind 29 Tage nach der Batch-Erstellung verfügbar, was ausreichend Zeit für Abruf und Verarbeitung bietet.
FAQ
Wie lange dauert es, bis ein Batch verarbeitet wird?
Wie lange dauert es, bis ein Batch verarbeitet wird?
Batches können bis zu 24 Stunden für die Verarbeitung benötigen, aber viele werden früher fertig. Die tatsächliche Verarbeitungszeit hängt von der Größe des Batches, der aktuellen Nachfrage und Ihrem Anfragevolumen ab. Es ist möglich, dass ein Batch abläuft und nicht innerhalb von 24 Stunden abgeschlossen wird.
Ist die Batches API für alle Modelle verfügbar?
Ist die Batches API für alle Modelle verfügbar?
Siehe oben für die Liste der unterstützten Modelle.
Kann ich die Message Batches API mit anderen API-Features verwenden?
Kann ich die Message Batches API mit anderen API-Features verwenden?
Ja, die Message Batches API unterstützt alle Features, die in der Messages API verfügbar sind, einschließlich Beta-Features. Streaming wird jedoch für Batch-Anfragen nicht unterstützt.
Wie beeinflusst die Message Batches API die Preisgestaltung?
Wie beeinflusst die Message Batches API die Preisgestaltung?
Die Message Batches API bietet einen 50%-Rabatt auf alle Nutzung im Vergleich zu Standard-API-Preisen. Dies gilt für Input-Token, Output-Token und alle speziellen Token. Für mehr zur Preisgestaltung besuchen Sie unsere Preisseite.
Kann ich einen Batch nach der Übermittlung aktualisieren?
Kann ich einen Batch nach der Übermittlung aktualisieren?
Nein, sobald ein Batch übermittelt wurde, kann er nicht mehr geändert werden. Wenn Sie Änderungen vornehmen müssen, sollten Sie den aktuellen Batch abbrechen und einen neuen übermitteln. Beachten Sie, dass die Stornierung möglicherweise nicht sofort wirksam wird.
Gibt es Message Batches API Ratenlimits und interagieren sie mit den Messages API Ratenlimits?
Gibt es Message Batches API Ratenlimits und interagieren sie mit den Messages API Ratenlimits?
Die Message Batches API hat HTTP-anfragenbasierte Ratenlimits zusätzlich zu Limits für die Anzahl der Anfragen, die auf Verarbeitung warten. Siehe Message Batches API Ratenlimits. Die Nutzung der Batches API beeinflusst nicht die Ratenlimits in der Messages API.
Wie behandle ich Fehler in meinen Batch-Anfragen?
Wie behandle ich Fehler in meinen Batch-Anfragen?
Wenn Sie die Ergebnisse abrufen, hat jede Anfrage ein
result
-Feld, das anzeigt, ob sie succeeded
, errored
, canceled
oder expired
ist. Für errored
-Ergebnisse werden zusätzliche Fehlerinformationen bereitgestellt. Sehen Sie das Fehlerantwort-Objekt in der API-Referenz.Wie behandelt die Message Batches API Datenschutz und Datentrennung?
Wie behandelt die Message Batches API Datenschutz und Datentrennung?
Die Message Batches API ist mit starken Datenschutz- und Datentrennungsmaßnahmen konzipiert:
- Batches und ihre Ergebnisse sind innerhalb des Workspace isoliert, in dem sie erstellt wurden. Das bedeutet, sie können nur von API-Schlüsseln aus demselben Workspace zugegriffen werden.
- Jede Anfrage innerhalb eines Batches wird unabhängig verarbeitet, ohne Datenleckage zwischen Anfragen.
- Ergebnisse sind nur für eine begrenzte Zeit verfügbar (29 Tage) und folgen unserer Datenaufbewahrungsrichtlinie.
- Das Herunterladen von Batch-Ergebnissen in der Console kann auf Organisationsebene oder pro Workspace deaktiviert werden.
Kann ich Prompt-Caching in der Message Batches API verwenden?
Kann ich Prompt-Caching in der Message Batches API verwenden?
Ja, es ist möglich, Prompt-Caching mit der Message Batches API zu verwenden. Da asynchrone Batch-Anfragen jedoch gleichzeitig und in beliebiger Reihenfolge verarbeitet werden können, werden Cache-Treffer nach bestem Bemühen bereitgestellt.