B2BB2B LLM

Claude Message Batches

Χρησιμοποιήστε παρτίδες μηνυμάτων συμβατών με Anthropic ενώ το Model Gate εκτελεί κάθε στοιχείο μέσω της ανθεκτικής εσωτερικής ουράς του.

Claude Message Batches

Οι υπάρχουσες λειτουργίες Μαζικής ανάγνωσης/ελέγχου παραμένουν διαθέσιμες με μηδενικό υπόλοιπο για ένα κατά τα άλλα έγκυρο ενεργό διαπιστευτήριο, αλλά POST /v1/messages/batches απαιτεί νέα αποδοχή θετικού υπολοίπου/δαπανών πριν αποθηκευτούν οποιεσδήποτε σειρές εργασίας/στοιχείων. Επομένως, ένα κλειδί μηδενικής ισορροπίας δεν μπορεί να δημιουργήσει μια νέα παρτίδα Claude ή να καταναλώσει χώρο αποθήκευσης διατήρησης MariaDB. Τα πραγματικά αντικείμενα επανεξετάζουν την είσοδο όταν οι εργαζόμενοι τα διεκδικούν και περιμένουν στη διαρκή ουρά εάν τα χρήματα εξαντληθούν αργότερα. Η είσοδος αποκωδικοποιείται σταδιακά ανά στοιχείο αντί να φορτώνεται ως πλήρες έγγραφο JSON στη μνήμη 256 MB και ανά χρήστη τα όρια ενεργής εργασίας/στοιχείου σε ουρά δεσμεύουν την κατάχρηση αποθήκευσης ανεξάρτητα από τη χρέωση.

Το Model Gate εφαρμόζει ένα API παρτίδων μηνυμάτων συμβατό με Anthropic https://api.model-gate.com. Είναι ένα επίπεδο συμβατότητας: Το Model Gate αποθηκεύει την παρτίδα σταθερά και εκτελεί κάθε στοιχείο μέσω του κανονικού Model Gate /v1/messages μονοπάτι. Το κάνει δεν υποβάλετε μια παρτίδα Anthropic εγγενή στον πάροχο ανάντη.

Χρησιμοποιήστε ένα κανονικό κλειδί μοντέλου API (mg_live_...). Κάθε στοιχείο λογίζεται ως μεμονωμένο αίτημα με request_mode=batch, batch_protocol=claude, το αναγνωριστικό παρτίδας και αυτό custom_id.

Η ροή δεν υποστηρίζεται σε μια παρτίδα. Τα ψευδώνυμα μοντέλου επιλύονται πριν το στοιχείο μπει στην ουρά.

Δημιουργήστε μια δέσμη μηνυμάτων

Αίτηση

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."}]
        }
      }
    ]
  }'

Απάντηση — 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
}

Ανακτήστε μια παρτίδα

Αίτηση

curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
  -H "x-api-key: mg_live_..."

Απάντηση — έληξε

{
  "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"
}

Διαβάστε τα αποτελέσματα

Τα αποτελέσματα επιστρέφονται ως Γραμμές JSON. Μην υποθέσετε ότι η λογική της εφαρμογής εξαρτάται από την αρχική σειρά εισαγωγής. αποτελέσματα αγώνα από custom_id.

Αίτηση

curl https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../results \
  -H "x-api-key: mg_live_..."

Απάντηση — 200

{"custom_id":"summary-1","result":{"type":"succeeded","message":{"id":"msg_...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}]}}}

Κατάλογος παρτίδων

limit προεπιλογή σε 20 και πρέπει να είναι από 1 να 100. Χρήση after_id ή before_id για σελιδοποίηση δρομέα. μην στείλετε και τα δύο σε ένα αίτημα.

Αίτηση

curl "https://api.model-gate.com/v1/messages/batches?limit=20&after_id=msgbatch_01K..." \
  -H "x-api-key: mg_live_..."

Απάντηση — 200

{
  "data": [],
  "has_more": false,
  "first_id": null,
  "last_id": null
}

Ακυρώστε μια παρτίδα

Η ακύρωση εμποδίζει την αξίωση των στοιχείων σε ουρά. Ένα στοιχείο που ήδη επεξεργάζεται μπορεί να ολοκληρωθεί.

Αίτηση

curl -X POST https://api.model-gate.com/v1/messages/batches/msgbatch_01K.../cancel \
  -H "x-api-key: mg_live_..."

Απάντηση — 200

{
  "id": "msgbatch_01K...",
  "type": "message_batch",
  "processing_status": "canceling",
  "request_counts": {
    "processing": 1,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  }
}

Διαγράψτε μια ολοκληρωμένη παρτίδα

Η διαγραφή γίνεται αποδεκτή μόνο αφού η παρτίδα φτάσει σε τερματική κατάσταση.

Αίτηση

curl -X DELETE https://api.model-gate.com/v1/messages/batches/msgbatch_01K... \
  -H "x-api-key: mg_live_..."

Απάντηση — 200

{
  "id": "msgbatch_01K...",
  "type": "message_batch_deleted"
}

Σημασιολογία ανάκτησης

Τα ομαδικά στοιχεία χρησιμοποιούν την ίδια ανθεκτική ουρά με τα αιτήματα εγγενούς ασυγχρονισμού. Η ανάκτηση είναι τουλάχιστον μια φορά, όχι ακριβώς μία φορά: μετά από μια συντριβή εργαζομένων, μια εγκαταλειμμένη μίσθωση μπορεί να ανακτηθεί και ένα αντικείμενο μπορεί να σταλεί ξανά ανάντη, εάν η πρώτη απόκριση ανάντη δεν είχε αποθηκευτεί διαρκώς. Το αναγνωριστικό αιτήματος Πύλης Μοντέλου παραμένει σταθερό κατά τις επαναλήψεις και οι φύλακες διακανονισμού αποτρέπουν μια δεύτερη χρέωση λογαριασμού για ένα ήδη ολοκληρωμένο αίτημα.

Κάθε είδος γίνεται δεκτό αμέσως πριν το διεκδικήσει ένας εργαζόμενος. Διαφορετικά, τα έγκυρα στοιχεία παραμένουν στην ουρά ενώ το υπόλοιπο του τρεχούμενου λογαριασμού δεν είναι θετικό ή το όριο δαπανών με δυνατότητα επαναφοράς κλειδιού/ομάδας έχει ήδη εξαντληθεί. Η αναμονή για χρήματα δεν καταναλώνει μια προσπάθεια ή επισημαίνει ότι το στοιχείο απέτυχε. Μια μεταγενέστερη ανανέωση, επαναφορά χρήσης ή αύξηση ορίου επαναφέρει αυτόματα τα κατάλληλα στοιχεία σε ουρά. Το Model Gate δεν επιφυλάσσει κόστος παρτίδας στη χειρότερη περίπτωση, επομένως τα στοιχεία που γίνονται δεκτά ταυτόχρονα μπορεί να τελειώσουν με αρνητικό τελικό υπόλοιπο ή μια μικρή υπέρβαση ορίου δαπανών. διατηρούνται μόνο τα επόμενα νέα στοιχεία.

Τιμολόγηση και λογιστική

Κάθε στοιχείο παρτίδας χρησιμοποιεί την ίδια δρομολόγηση μοντέλου, λογιστική λογιστικής, στιγμιότυπο τιμολόγησης, αποτίμηση χρήσης, όρια κλειδιού API/ομάδας και λογική διακανονισμού ως κανονικό αίτημα Πύλης Μοντέλων. Ένας διαχειριστής μπορεί να διαμορφώσει ένα Συντελεστής τιμής αιτήματος παρτίδας στο πρότυπο τιμολόγησης λογαριασμού. Η προεπιλογή είναι 1.

Για παράδειγμα, με κανονικό κόστος Model Gate 0.02 και συντελεστή παρτίδας 0.5, η πραγματική χρέωση λογαριασμού είναι 0.01. Το αποθηκευμένο ποσό αναφοράς του επίσημου παρόχου δεν πολλαπλασιάζεται με αυτόν τον συντελεστή παρτίδας Model Gate. Εγγενή αιτήματα με χρήση "async": true επίσης δεν επηρεάζονται.

Εάν ο συντελεστής διαφέρει από 1, εμφανίζεται στη σελίδα τιμών μοντέλου και στο /v1/models ως batch_pricing συν το αποτελεσματικό batch_cost ποσοστά.

Σφάλματα

Μη έγκυρο ή διπλότυπο custom_id, ένα άγνωστο μοντέλο, stream:true, ένθετο async:true, ένα αίτημα μεγάλου μεγέθους ή ένα μη έγκυρο σώμα επιστρέφει μια κανονική απόκριση σφάλματος τύπου Anthropic.

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "summary-1: stream=true is not supported inside a batch"
  }
}