OpenAI: gpt-oss-20b (batch)
Το μικρότερο μοντέλο γενικής χρήσης gpt-oss της OpenAI δέχεται και επιστρέφει κείμενο για συλλογισμό, ανάπτυξη κώδικα και εξειδικευμένες ροές. Υποστηρίζει ρυθμιζόμενο συλλογισμό, κλήσεις συναρτήσεων, Structured Outputs και πρόσθετη εκπαίδευση των δημοσιευμένων ανοιχτών βαρών.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το gpt-oss-20b είναι το μικρότερο μοντέλο γενικής χρήσης ανοιχτών βαρών της OpenAI για συλλογισμό και ροές προγραμματιστών. Δέχεται κείμενο και επιστρέφει κείμενο. Ο κατασκευαστής δημοσιεύει 21 δισεκατομμύρια συνολικές παραμέτρους, με 3,6 δισεκατομμύρια ενεργές παραμέτρους ανά token. Είναι η έκδοση 20b της οικογένειας gpt-oss, ξεχωριστή από τη μεγαλύτερη έκδοση 120b και από το μοντέλο ταξινόμησης πολιτικής Safeguard.
Ο παραγωγός περιγράφει τοπικές και εξειδικευμένες χρήσεις και σύνολο εκπαίδευσης μόνο κειμένου που εστιάζει σε STEM, ανάπτυξη κώδικα και γενικές γνώσεις. Ενδεικτική εργασία είναι η εξήγηση αποσπάσματος κώδικα υπό δηλωμένες παραδοχές και η πρόταση εστιασμένης αλλαγής. Μια εργασία ανάλυσης κειμένου μπορεί αντίστοιχα να συγκρίνει περιγραφές βάσει ρητών κριτηρίων ή να μετατρέπει σημειώσεις εργασίας σε χρήσιμο σύνολο ευρημάτων. Δώσε στο μοντέλο το αρχικό υλικό και το αποτέλεσμα που χρειάζεται ο αναγνώστης ή το επόμενο βήμα εφαρμογής.
Η δημοσιευμένη αρχιτεκτονική μείγματος ειδικών έχει 24 επίπεδα, 32 ειδικούς και τέσσερις ενεργούς ειδικούς ανά token. Η αρχική έκδοση MXFP4 των βαρών των ειδικών της OpenAI έχει σχεδιαστεί ώστε να χωρά σε 16 GB μνήμης. Τα βάρη κυκλοφορούν με άδεια Apache 2.0 και μπορούν να υποβληθούν σε πρόσθετη εκπαίδευση για εξειδικευμένη εργασία. Αυτές οι ιδιότητες του παραγωγού περιγράφουν το δημοσιευμένο μοντέλο, επιτρέποντας στον προγραμματιστή να διακρίνει το μέγεθος και τον ρόλο προσαρμογής του χωρίς να υποθέτει τη διαμόρφωση που χρησιμοποιεί μια συγκεκριμένη εφαρμογή.
Η τεκμηρίωση της OpenAI αναφέρει παράθυρο συμφραζομένων 131.072 token, μέγιστη παραγόμενη έξοδο 131.072 token και ημερομηνία αποκοπής γνώσεων την 1η Ιουνίου 2024. Τα διαθέσιμα συμφραζόμενα πρέπει να χωρούν το παρεχόμενο υλικό, την ανάλυση και την τελική απάντηση. Το μοντέλο υποστηρίζει επίπεδα συλλογισμού low, medium και high. Η απαιτούμενη μορφή Harmony κρατά την εσωτερική ανάλυση και την τελική απόκριση σε διακριτά κανάλια και ο παραγωγός αναφέρει ότι η ακατέργαστη ανάλυση δεν πρέπει να εμφανίζεται απευθείας στους τελικούς χρήστες.
Ο κατασκευαστής τεκμηριώνει κλήσεις συναρτήσεων, περιήγηση στον ιστό, εκτέλεση κώδικα Python μέσω εργαλείων και Structured Outputs. Οι αναφερόμενες δυνατότητες του μοντέλου περιλαμβάνουν επίσης σταδιακή ροή απαντήσεων· το τεκμηριωμένο περιβάλλον εργαλείων του περιλαμβάνει συναρτήσεις, εκτέλεση κώδικα μέσω διερμηνευτή, συνδέσεις MCP και αναζήτηση στον ιστό. Οι εφαρμογές εκθέτουν και εκτελούν τις λειτουργίες τους και επιστρέφουν πραγματικά αποτελέσματα για την επόμενη απόφαση. Το τελικό κείμενο πρέπει να διακρίνει μια προτεινόμενη ενέργεια από μια ολοκληρωμένη λειτουργία και τα επιστρεφόμενα στοιχεία της.
Για εστιασμένη ροή, όρισε τα απαιτούμενα πεδία, τους περιορισμούς και το κριτήριο ολοκλήρωσης. Ζήτησε εξήγηση συνδεδεμένη με τον κώδικα ή συμπέρασμα συνδεδεμένο με το παρεχόμενο κείμενο και μετά χρησιμοποίησε συνέχεια για να αντιμετωπίσεις μία λεπτομέρεια που λείπει. Ένα χρήσιμο τελικό παραδοτέο είναι συγκεκριμένη προτεινόμενη επεξεργασία, σύγκριση, σύντομη αναφορά ή δομημένο αποτέλεσμα που διατηρεί τα απαραίτητα γεγονότα και κατονομάζει κάθε προϋπόθεση που παραμένει ανεπίλυτη.
Ailoot Ultra · Μαζική επεξεργασία POST /v1/batches openai/gpt-oss-20b:batch
openai/gpt-oss-20b:batchΕισαγωγή
Το μικρότερο μοντέλο γενικής χρήσης gpt-oss της OpenAI δέχεται και επιστρέφει κείμενο για συλλογισμό, ανάπτυξη κώδικα και εξειδικευμένες ροές. Υποστηρίζει ρυθμιζόμενο συλλογισμό, κλήσεις συναρτήσεων, Structured Outputs και πρόσθετη εκπαίδευση των δημοσιευμένων ανοιχτών βαρών.
- Αποδεκτές είσοδοι
- Κείμενο
- Αποτελέσματα
- Κείμενο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Μαζική επεξεργασία POST /v1/batches
- Είσοδος
text- Έξοδος
text- Μορφή εξόδου
- Ενσωματωμένο JSON στο results[].response.body
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοendpoint | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια /v1/chat/completions | Προεπιλογή— |
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια openai/gpt-oss-20b:batch | Προεπιλογή— |
Πεδίοrequests | Τύποςbatch_item[] | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 1 | Προεπιλογή— |
Πεδίοrequests[].custom_id | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοrequests[].body.messages | Τύποςmessage[] | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοcompletion_window | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 24h | Προεπιλογή— |
Πεδίοprovider | Τύποςobject|null | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοrequests[].body.model | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια openai/gpt-oss-20b:batch, openai/gpt-oss-20b | Προεπιλογή— |
Πεδίοprovider.only | Τύποςstring[] | ΑπαίτησηΠροαιρετικό | Τιμές και όρια deepinfra/bf16 | Προεπιλογή— |
Πεδίοprovider.allow_fallbacks | Τύποςboolean|null | ΑπαίτησηΠροαιρετικό | Τιμές και όρια false, null | Προεπιλογή— |
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηendpoint, model, requests |
Παράμετροςmaterial_types | Σύμβασηtext |
Παράμετροςrepresentation | ΣύμβασηΕνσωματωμένος πίνακας requests[]· κάθε στοιχείο έχει custom_id και body |
Παράμετροςrequest_endpoint_profile | Σύμβαση/v1/chat/completions |
Παράμετροςfile_material | ΣύμβασηΟ καλών μπορεί να διαβάσει το πραγματικό υλικό UTF-8 JSONL τοπικά στον πίνακα requests[]. Δεν χρησιμοποιείται παράμετρος purpose για μεταφόρτωση, input_file_id ή αναφορά σε αρχείο. Αν το υλικό του πελάτη λείπει ή είναι κενό, η προετοιμασία σταματά πριν από το POST. |
Παράμετροςserialization_order | Σύμβασηendpoint, model, provider (αν παρέχεται), completion_window (αν παρέχεται), requests στο τέλος |
Παράμετροςoptional_controls | Σύμβασηprovider.only, provider.allow_fallbacks, completion_window |
Παράμετροςschema_scope | ΣύμβασηΣώματα αιτημάτων Text Chat Completions στον τεκμηριωμένο ενσωματωμένο φάκελο Batch. |
Κύκλος ζωής: asynchronous
GET /v1/batches/{operation_id} · Το πραγματικό response.id της αρχικής απόκρισης δημιουργίας· ο ίδιος χρήστης, το ίδιο κλειδί και η ίδια ομάδα
Τιμολόγηση
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
- Τιμολόγηση ρητής αποθήκευσης στην κρυφή μνήμη
- Δεν είναι ενεργοποιημένο Όταν ζητείται ρητή αποθήκευση στην κρυφή μνήμη
Χρεώσεις Ailoot
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Token συμφραζομένων, πάνω από | Token συμφραζομένων, έως και | Χρέωση |
|---|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Token συμφραζομένων, πάνω από— | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου $0.000048 / 1K token Έξοδος · Token εξόδου $0.000224 / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
| ΔιαμόρφωσηΕπίπεδο 1 βάσει μήκους αιτήματος | Πίνακας χρεώσεων— | Token συμφραζομένων, πάνω από0 | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου $0.000048 / 1K token Έξοδος · Token εξόδου $0.000224 / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
Ailoot Ultra · Μαζική επεξεργασία
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-oss-20b:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['openai/gpt-oss-20b:batch', 'openai/gpt-oss-20b']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-oss-20b:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Λήψη και αποθήκευση αποτελεσμάτων
Ailoot Ultra · Μαζική επεξεργασία
Ενσωματωμένο JSON στο results[].response.body
GET /v1/batches/{operation_id}
Έλεγχος κατάστασης εργασίας
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.
Διατηρήστε ολόκληρο το αρχικό JSON κατάστασης, κάθε result/custom_id και ολόκληρο το σώμα της απόκρισης ή του σφάλματος. Αποθηκεύστε τα ολοκληρωμένα results[] ως JSONL χωρίς φιλτράρισμα.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διατηρήστε το αρχικό ID της λειτουργίας. Η απόκριση 503 result_pending_check περιέχει X-Should-Retry:false· μην υποβάλετε ποτέ ξανά μια αρχική μαζική εργασία με άγνωστη έκβαση.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοresults[].custom_id | Τύποςstring |
Πεδίοresults[].response.body.choices[].message.content | Τύποςstring|null |
Πεδίοresults[].error | Τύποςobject|null |
Πεδίοusage | Τύποςobject|null |
Πεδίοid | Τύποςstring |
Πεδίοmodel | Τύποςstring |
Πεδίοendpoint | Τύποςstring |
Πεδίοstatus | Τύποςstring |
Πεδίοrequest_counts | Τύποςobject |
Πεδίοresults[].id | Τύποςstring |
Πεδίοresults[].response.status_code | Τύποςinteger |
Πεδίοresults[].response.request_id | Τύποςstring |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΜη έγκυρος τεκμηριωμένος ενσωματωμένος φάκελος, διπλότυπα κλειδιά, ταυτότητα στοιχείου ή σύγκρουση με τις ρυθμισμένες δυνατότητες του μοντέλου. | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από οποιαδήποτε νέα υποβολή. |
Απάντηση401 · authentication_error | ΣυνθήκηΜη έγκυρο κλειδί API. | Επόμενο βήμαΧρησιμοποιήστε το εξουσιοδοτημένο κλειδί Ailoot. |
Απάντηση403 · permission_error | ΣυνθήκηΗ ομάδα μαζικής επεξεργασίας δεν είναι διαθέσιμη. | Επόμενο βήμαΕλέγξτε τα δικαιώματα πρόσβασης του κλειδιού/της ομάδας. |
Απάντηση422 · invalid_request_error | ΣυνθήκηΗ μαζική επεξεργασία χρεώνεται στο υπόλοιπο· η δημιουργία μέσω συνδρομής απορρίπτεται. | Επόμενο βήμαΧρησιμοποιήστε την εξουσιοδοτημένη ομάδα που χρεώνεται στο υπόλοιπο. |
Απάντηση422 · price_unavailable | ΣυνθήκηΔεν μπορεί να υπολογιστεί προσφορά κόστους για την είσοδο της μαζικής εργασίας. | Επόμενο βήμαΔιατηρήστε την απόκριση· χρησιμοποιήστε την τεκμηριωμένη είσοδο της οικογένειας API. |
Απάντηση402 · billing_error | ΣυνθήκηΤο ποσό δέσμευσης για τη μαζική επεξεργασία δεν είναι διαθέσιμο. | Επόμενο βήμαΕπιλύστε το ζήτημα αποδοχής πριν από ένα νέο αίτημα. |
Απάντηση503 · price_unavailable | ΣυνθήκηΗ τιμή της μεθόδου μαζικής επεξεργασίας/οι εγγενείς τιμές δεν είναι διαθέσιμες. | Επόμενο βήμαΔιατηρήστε την απόκριση· μην αντικαθιστάτε τις τιμές. |
Απάντηση503 · api_error | ΣυνθήκηΗ ακριβής διαδρομή του προμηθευτή δεν είναι διαθέσιμη. | Επόμενο βήμαΔιατηρήστε την απόκριση για τη διόρθωση της διαδρομής. |
Απάντηση503 · result_pending_check | ΣυνθήκηΤο αρχικό αποτέλεσμα χρειάζεται έλεγχο· X-Should-Retry:false. | Επόμενο βήμαΔιατηρήστε το αρχικό operation_id/id και διαβάστε την κατάστασή του· μην επαναλάβετε ποτέ το αρχικό POST. |
Απάντηση404 · not_found | ΣυνθήκηΗ λειτουργία κατάστασης της μαζικής εργασίας δεν υπάρχει ή ανήκει σε άλλη ταυτότητα. | Επόμενο βήμαΧρησιμοποιήστε το ακριβές αρχικό id και τον ίδιο χρήστη, το ίδιο κλειδί και την ίδια ομάδα. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra openai/gpt-oss-20b:batch
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
FAQ · OpenAI: gpt-oss-20b (batch)
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/batches·openai/gpt-oss-20b:batch:text→text- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/batches·openai/gpt-oss-20b:batch:endpoint,model,requests,completion_window,provider- Ποια όρια ισχύουν;
POST /v1/batches·openai/gpt-oss-20b:batch:requests.min_items:1