De Batch API voor Large Language Models maakt asynchrone verwerking van talrijke inferentieverzoeken mogelijk en is volledig compatibel met de OpenAI API-standaard.
De Batch API is een kosteneffectieve oplossing wanneer directe inferentieresultaten niet nodig zijn. Deze biedt hogere snelheidslimieten dan online aanroepen en zorgt ervoor dat resultaten binnen een redelijke termijn van 24 uur worden geleverd.
Deze API is ideaal voor:
- Het uitvoeren van evaluaties en data-analyse.
- Het classificeren van uitgebreide datasets.
- Het genereren van documentsamenvattingen in een offline modus.
Ondersteunde modellen:
Snelstart
1. Batchbestanden voorbereiden
De Batch API gebruikt bestanden in .jsonl-indeling als invoer, waarbij elke regel de details van een API-inferentieverzoek vertegenwoordigt. Beschikbare endpoints zijn /v1/chat/completions en /v1/completions.
Stel de parameter endpoint in op /v1/chat/completions of /v1/completions voor compatibiliteit met de OpenAI API.
Elk verzoek moet een unieke custom_id bevatten om inferentieresultaten na voltooiing van de batch in het uitvoerbestand te kunnen lokaliseren. Parameters in het veld body van elke regel worden als daadwerkelijke inferentieverzoekparameters naar het endpoint verzonden.
Alle verzoeken binnen één batch-JSONL-bestand moeten op hetzelfde model zijn gericht. Meng geen verzoeken voor verschillende modellen in één batch.
Hieronder staat een voorbeeldinvoerbestand met 2 verzoeken:
2. Batchinvoerbestand uploaden
Upload het batchinvoerbestand om ervoor te zorgen dat er nauwkeurig naar kan worden verwezen bij het maken van een batch. Gebruik de Files API om uw .jsonl-bestand te uploaden en stel het doel in op batch. Houd er rekening mee dat het bestand 15 dagen wordt bewaard.
Codevoorbeeld
Python
Curl
Voorbeeldrespons na een succesvolle bestandsupload:
3. Een batch maken
Zodra het invoerbestand succesvol is geüpload, kunt u een batch starten met behulp van de ID van het geüploade File-object. Het voltooiingsvenster is vast ingesteld op 24h en kan momenteel niet worden aangepast.
Codevoorbeeld
Python
Curl
Dit verzoek levert een Batch-object op dat metadata over uw batch bevat, zoals geïllustreerd in het onderstaande voorbeeld:
4. De status van een batch controleren
U kunt op elk moment de status van een batch controleren om de nieuwste batchinformatie te ontvangen.
De status-enumeratiewaarden van het Batch-object zijn als volgt:
| Status | Beschrijving |
|---|
| VALIDATING | Het invoerbestand wordt gevalideerd voordat de batch kan beginnen |
| PROGRESS | Batch wordt uitgevoerd |
| COMPLETED | Batchverwerking succesvol voltooid |
| FAILED | Batchverwerking mislukt |
| EXPIRED | Batch heeft de deadline overschreden |
| CANCELLING | Batch wordt geannuleerd |
| CANCELLED | Batch is geannuleerd |
Codevoorbeeld
Python
Curl
5. De resultaten ophalen
Zodra de batch-inferentie is voltooid, kunt u het uitvoerbestand met resultaten downloaden met behulp van het veld output_file_id uit het Batch-object.
Het uitvoerbestand met resultaten wordt 30 dagen na afloop van de batch-inferentie verwijderd, dus haal het tijdig op via de interface.
Codevoorbeeld
Python
Curl
De respons retourneert de ruwe bestandsinhoud. Voor batchuitvoerbestanden bevat elke regel een respons zoals deze:
Instructies
Beperkingen
- Elke batch kan maximaal 50.000 verzoeken bevatten.
- De maximale invoerbestandsgrootte per batch is 100MB.
Foutafhandeling
Fouten die tijdens batchverwerking optreden, worden vastgelegd in een afzonderlijk foutbestand, dat toegankelijk is via het veld error_file_id. Veelvoorkomende foutcodes zijn:
| Foutcode | Beschrijving | Oplossing |
|---|
| 400 | Ongeldige verzoekindeling | Controleer de JSONL-syntaxis en vereiste velden |
| 401 | Authenticatie mislukt | Controleer API key |
| 404 | Batch niet gevonden | Controleer batch-ID |
| 429 | Snelheidslimiet overschreden | Verlaag de verzoekfrequentie |
| 500 | Serverfout | Neem contact met ons op |
Vervallen van batches
Batches die niet binnen 24 uur zijn voltooid, gaan over naar de status EXPIRED. Niet-voltooide verzoeken worden geannuleerd, terwijl voltooide verzoeken via een uitvoerbestand worden geleverd. U betaalt alleen voor tokens die zijn verbruikt door voltooide verzoeken. De batch doet er alles aan om binnen 24 uur te voltooien.
Alle Batch API’s
- Batch maken
- Batch ophalen
- Batch annuleren
- Batches weergeven
- Bestand uploaden
- Bestanden weergeven
- Bestand ophalen
- Bestand verwijderen
- Bestandsinhoud ophalen