Batch-Verarbeitung
Batch-Verarbeitung ist ein leistungsfähiger Ansatz zur effizienten Verarbeitung großer Anfragemengen. Anstatt Anfragen einzeln mit sofortigen Antworten zu verarbeiten, ermöglicht die Batch-Verarbeitung die gemeinsame Übermittlung mehrerer Anfragen zur asynchronen Verarbeitung. Dieses Muster ist besonders nützlich, wenn:
- Sie große Datenmengen verarbeiten müssen
- Sofortige Antworten nicht erforderlich sind
- Sie die Kosteneffizienz optimieren möchten
- Sie großangelegte Auswertungen oder Analysen durchführen
Die Message Batches API ist unsere erste Implementierung dieses Musters.
Message Batches API
Die Message Batches API ist eine leistungsstarke, kosteneffektive Möglichkeit zur asynchronen Verarbeitung großer Mengen von Messages-Anfragen. 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% reduziert und der Durchsatz erhöht wird.
Sie können zusätzlich zu diesem Leitfaden direkt die API-Referenz einsehen.
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 abgeschlossen ist.
Dies ist besonders nützlich für Massenoperationen, die keine sofortigen Ergebnisse erfordern, wie zum Beispiel:
- Großangelegte Auswertungen: Effiziente Verarbeitung tausender Testfälle.
- Inhaltsmoderation: Asynchrone Analyse großer Mengen nutzergenerierter Inhalte.
- Datenanalyse: Generierung von Erkenntnissen oder Zusammenfassungen für große Datensätze.
- Masseninhaltserstellung: Erstellung großer Textmengen für verschiedene Zwecke (z.B. Produktbeschreibungen, Artikelzusammenfassungen).
Batch-Einschränkungen
- Ein Message Batch ist auf entweder 100.000 Message-Anfragen oder 256 MB Größe beschränkt, 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 die 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 zwar noch anzeigen, aber seine Ergebnisse stehen nicht mehr zum Download zur Verfügung.
- Claude 3.7 Sonnet unterstützt bis zu 128K Ausgabe-Tokens unter Verwendung der erweiterten Ausgabefähigkeiten.
- Batches sind auf einen Workspace beschränkt. Sie können alle Batches – und deren Ergebnisse – einsehen, die innerhalb des Workspaces 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 das für Ihren Workspace konfigurierte Ausgabenlimit leicht überschreiten.
Unterstützte Modelle
Die Message Batches API unterstützt derzeit:
- Claude 3.7 Sonnet (
claude-3-7-sonnet-20250219
) - Claude 3.5 Sonnet (
claude-3-5-sonnet-20240620
undclaude-3-5-sonnet-20241022
) - Claude 3.5 Haiku (
claude-3-5-haiku-20241022
) - Claude 3 Haiku (
claude-3-haiku-20240307
) - Claude 3 Opus (
claude-3-opus-20240229
)
Was kann gebatcht werden
Jede Anfrage, die Sie an die Messages API stellen können, kann in einem Batch enthalten sein. Dies umfasst:
- Vision
- Tool-Nutzung
- Systemnachrichten
- Mehrzügige 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.
Preisgestaltung
Die Batches API bietet erhebliche Kosteneinsparungen. Alle Nutzung wird mit 50% der Standard-API-Preise berechnet.
Model | Batch input | Batch output |
---|---|---|
Claude 3.7 Sonnet | $1.50 / MTok | $7.50 / MTok |
Claude 3.5 Sonnet | $1.50 / MTok | $7.50 / MTok |
Claude 3.5 Haiku | $0.40 / MTok | $2 / MTok |
Claude 3 Opus | $7.50 / MTok | $37.50 / MTok |
Claude 3 Haiku | $0.125 / MTok | $0.625 / MTok |
Wie man die Message Batches API verwendet
Batch vorbereiten und erstellen
Ein Message Batch besteht aus einer Liste von Anfragen zum Erstellen einer Nachricht. Die Form einer einzelnen Anfrage besteht aus:
- Einer eindeutigen
custom_id
zur Identifizierung der Messages-Anfrage - Einem
params
-Objekt mit den Standard Messages API-Parametern
Sie können einen Batch erstellen, indem Sie diese Liste in den requests
-Parameter übergeben:
In diesem Beispiel werden zwei separate Anfragen für die asynchrone Verarbeitung zusammen gebatcht. Jede Anfrage hat eine eindeutige 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 API
Die Validierung des params
-Objekts für jede Nachrichtenanfrage 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 aufbauen, indem Sie Ihre Anfrageform zuerst mit der Messages API überprüfen.
Wenn ein Batch zuerst erstellt wird, hat die Antwort einen Verarbeitungsstatus von in_progress
.
Ihren Batch verfolgen
Das processing_status
-Feld des Message Batch zeigt die Phase der Verarbeitung an, in der sich der Batch befindet. Es beginnt als in_progress
und wird dann zu ended
aktualisiert, sobald alle Anfragen im Batch die Verarbeitung abgeschlossen haben und die Ergebnisse bereit sind. Sie können den Status Ihres Batches überwachen, indem Sie die Console besuchen oder den Abruf-Endpunkt verwenden:
Sie können diesen Endpunkt abfragen, um zu erfahren, wann die Verarbeitung beendet wurde.
[Fortsetzung folgt…]
Was this page helpful?