Claude Message Batches
Uporabite pakete sporočil, združljive z Anthropic, medtem ko Model Gate izvede vsak element prek svoje vzdržljive notranje čakalne vrste.
Claude Message Batches
Obstoječe operacije branja/nadzora serije ostanejo na voljo pri ničelnem stanju za sicer veljavno aktivno poverilnico, vendar POST /v1/messages/batches zahteva nov sprejem pozitivnega stanja/porabe, preden se shranijo vrstice opravil/predmetov. Ključ z ničelnim stanjem torej ne more ustvariti nove serije Claude ali porabiti zadrževalnega prostora MariaDB. Dejanski predmeti ponovno preverijo sprejem, ko jih delavci zahtevajo, in počakajo v trajni čakalni vrsti, če so sredstva pozneje izčrpana. Vnos se dekodira postopoma, element za elementom, namesto da bi se naložil kot celoten dokument JSON v pomnilniku s 256 MB, kvote aktivnih opravil/predmetov v čakalni vrsti na uporabnika pa omejijo zlorabo prostora za shranjevanje neodvisno od zaračunavanja.
Model Gate implementira API za pakete sporočil, združljiv z antropikom https://api.model-gate.com. To je združljivostna plast: Model Gate trajno shrani serijo in izvede vsak element skozi običajna Model Gate /v1/messages pot. Res je ne predložite serijo ponudnika Anthropic navzgor.
Uporabite običajen ključ API modela (mg_live_...). Vsak artikel se obračuna kot individualna zahteva request_mode=batch, batch_protocol=claude, ID serije in njen custom_id.
Pretakanje znotraj paketa ni podprto. Vzdevki modela so razrešeni, preden je element postavljen v čakalno vrsto.
Ustvarite paket sporočil
Zahteva
curl https://api.model-gate.com/v1/messages/batches \
-H "x-api-key: mg_live_..." \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"requests": [
{
"custom_id": "summary-1",
"params": {
"model": "ch-47",
"max_tokens": 256,
"messages": [{"role":"user","content":"Summarize this text."}]
}
}
]
}'
Odziv — 200
{
"id": "msgbatch_01K...",
"type": "message_batch",
"processing_status": "in_progress",
"request_counts": {
"processing": 1,
"succeeded": 0,
"errored": 0,
"canceled": 0,
"expired": 0
},
"ended_at": null,
"created_at": "2026-08-13T08:30:00Z",
"expires_at": "2026-08-14T08:30:00Z",
"cancel_initiated_at": null,
"results_url": null
}
Pridobite serijo
Zahteva
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odgovor — konec
{
"id": "msgbatch_01K...",
"type": "message_batch",
"processing_status": "ended",
"request_counts": {
"processing": 0,
"succeeded": 1,
"errored": 0,
"canceled": 0,
"expired": 0
},
"ended_at": "2026-08-13T08:30:04Z",
"results_url": "https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results"
}
Preberi rezultate
Rezultati so vrnjeni kot vrstice JSON. Ne domnevajte, da je logika aplikacije odvisna od izvirnega vrstnega reda vnosa; rezultati tekem po custom_id.
Zahteva
curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results \
-H "x-api-key: mg_live_..."
Odziv — 200
{"custom_id":"summary-1","result":{"type":"succeeded","message":{"id":"msg_...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}]}}}
Seznam serij
limit privzeto 20 in mora biti iz 1 do 100. Uporaba after_id oz before_id za paginacijo kazalca; ne pošiljajte obeh v enem zahtevku.
Zahteva
curl "https://api.model-gate.com/v1/messages/batches?limit=20&after_id=msgbatch_01K..." \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"data": [],
"has_more": false,
"first_id": null,
"last_id": null
}
Prekliči serijo
Prekliči onemogoči zahtevanje elementov v čakalni vrsti. Element, ki se že obdeluje, se lahko konča.
Zahteva
curl -X POST https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../cancel \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"id": "msgbatch_01K...",
"type": "message_batch",
"processing_status": "canceling",
"request_counts": {
"processing": 1,
"succeeded": 0,
"errored": 0,
"canceled": 0,
"expired": 0
}
}
Izbrišite končano serijo
Brisanje je sprejeto šele, ko paket doseže končno stanje.
Zahteva
curl -X DELETE https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
-H "x-api-key: mg_live_..."
Odziv — 200
{
"id": "msgbatch_01K...",
"type": "message_batch_deleted"
}
Semantika obnovitve
Paketni elementi uporabljajo isto trajno čakalno vrsto kot izvorne asinhrone zahteve. Okrevanje je vsaj-enkrat, ne točno enkrat: po zrušitvi delavca je mogoče opuščeni najem zahtevati nazaj in element se lahko znova pošlje navzgor, če prvi odgovor navzgor ni bil trajno shranjen. ID zahteve Model Gate ostane stabilen med ponovnimi poskusi in varuhi poravnave preprečijo drugo bremenitev računa za že dokončano zahtevo.
Vsak predmet je sprejet takoj, preden ga delavec prevzame. Sicer veljavni elementi ostanejo v čakalni vrsti, medtem ko stanje na tekočem računu ni pozitivno ali pa je omejitev porabe, ki jo je mogoče ponastaviti za ključ/skupino, že izčrpana; čakanje na sredstva ne porabi poskusa ali označi elementa kot neuspešnega. Pozneje dopolnitev, ponastavitev uporabe ali povečanje omejitve samodejno nadaljuje z ustreznimi elementi v čakalni vrsti. Model Gate ne rezervira stroškov serije v najslabšem primeru, zato se lahko sočasno sprejeti predmeti končajo z negativnim končnim stanjem ali majhno prekoračitvijo omejitve porabe; hranijo se le naslednji novi predmeti.
Cene in računovodstvo
Vsak paketni element uporablja isto usmerjanje modela, obračunavanje žetonov, posnetek cen, vrednotenje uporabe, ključ API/skupinske omejitve in logiko poravnave kot običajna zahteva Model Gate. Skrbnik lahko konfigurira a Koeficient cene paketne zahteve na predlogi za cene računa. Privzeto je 1.
Na primer z običajnimi stroški Model Gate 0.02 in šaržni koeficient 0.5, je dejanska bremenitev računa 0.01. Shranjen referenčni znesek uradnega ponudnika se ne pomnoži s tem šaržnim koeficientom Model Gate. Izvorne zahteve z uporabo "async": true prav tako niso prizadeti.
Če se koeficient razlikuje od 1, je prikazano na strani Cene modelov in v /v1/models kot batch_pricing plus učinkovito batch_cost stopnje.
Napake
Neveljaven ali podvojen custom_id, neznan model, stream:true, ugnezdeno async:true, prevelika zahteva ali neveljavno telo vrne običajen odgovor o napaki v slogu Anthropic.
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "summary-1: stream=true is not supported inside a batch"
}
}