OpenAI: o3 Mini (batch)
OpenAI o3-mini yra tekstinio samprotavimo modelis mokslui, matematikai ir programavimui. Jis siūlo low, medium ir high samprotavimo lygius, 200K kontekstą, struktūrizuotą išvestį ir įrankiais palaikomas darbo eigas, su maksimaliu 100K žetonų generuojamos išvesties biudžetu.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
OpenAI o3-mini yra mažesnis o serijos samprotavimo modelis, orientuotas į techninių problemų sprendimą, įskaitant mokslą, matematiką ir programavimą. Jis priima ir generuoja tekstą, su papildomu vidiniu samprotavimu prieš matomą atsakymą. Naudokite jį aiškiai suformuluotai matematinei problemai, algoritminei analizei, kodo redakcijai ar techniniam palyginimui, kurio išvada priklauso nuo kelių sąlygų. Bazinio o3-mini leidimo samprotavimo lygį galima konfigūruoti; o3-mini High išankstinis nustatymas parenka high lygį, o ne atskirus modelio svorius.
Gamintojas dokumentuoja low, medium ir high samprotavimo lygius. Didesnis lygis gali padėti sudėtingai problemai ir pareikalauti daugiau generavimo laiko, nors norimas matomas atsakymas vis tiek gali būti glaustas. Pateikite modeliui užduotį, apribojimus ir išvesties sutartį, užuot nurodę ilgą tarpinių minčių grandinę. Algoritminei problemai pateikite įvesties ribas, reikiamą elgesį ir teisingumą lemiančius atvejus. Matematikai apibrėžkite kintamuosius, sritis, žymėjimą ir reikiamą rezultatą.
OpenAI nurodo 200 000 žetonų konteksto langą, maksimalų 100 000 žetonų išvesties biudžetą ir 2023 m. spalio 1 d. žinių ribą. Samprotavimo žetonai prieš galutinį atsakymą naudoja turimą konteksto bei generuojamos išvesties biudžetą, todėl maksimumas nėra pažadas pateikti tiek matomo atsakymo žetonų. Palikite vietos tiek analizei, tiek prašomam rezultatui. Jei problemai skirtas biudžetas per mažas, užklausa gali išnaudoti generuojamų žetonų limitą dar negrąžinusi naudingo matomo teksto.
Paties modelio įvesties modalumas yra tekstas, o ne vaizdai. Jei užduotis kyla iš schemos ar ekrano kopijos, pateikite aktualias jos sąlygas raštu. Gamintojas įrankiais palaikomose darbo eigose nurodo failų įkėlimą ir failų paiešką, kurie gali pateikti aktualią tekstinę medžiagą nekeisdami paties modelio modalumo. Įvardykite šaltinių ištraukas ar failų turinį, reikalingus klausimui atsakyti, užuot manę, kad kiekvienas priedas automatiškai pateikia naudingą pagrindimą.
Modelis palaiko Structured Outputs, funkcijų iškvietimą ir srautinį perdavimą, o gamintojo modelio kortelėje nurodomos Responses, Chat Completions, Assistants ir Batch sąsajos. Struktūrizuotoje užduotyje nurodykite būtinus laukus ir kaip pateikti trūkstamą informaciją. Įrankio darbo eigoje modelis pasiūlo funkciją ir argumentus; programa atlieka veiksmą ir grąžina tikrąjį stebėjimą. Siūlomą operaciją laikykite atskirai nuo tos, kurios rezultatas jau gautas.
Dabartiniame gamintojo įrankių rinkinyje taip pat nurodoma failų paieška, kodo interpretavimas, MCP jungtys ir vaizdų generavimo įrankiai. Šie sukonfigūruoti įrankiai turi savo operacijas; jie nepaverčia tiesioginio o3-mini tekstinio atsakymo paties modelio vaizdų ar garso išvestimi. Programavimo užduočiai pateikite kodą, pastebėtą gedimą ir reikalavimus, tada prašykite siūlomo pakeitimo su paaiškinimu, kokius atvejus jis sprendžia. Jei yra vykdymo rezultatų, pateikite juos kaip pagrindimą kitai redakcijai, užuot laikę nepaleistą kodą baigtu rezultatu.
Naudingas galutinis rezultatas gali būti formulė, pagrįstas palyginimas, kodo pasiūlymas ar struktūrizuotas techninis rezultatas, susiejantis išvadą su pradinėmis sąlygomis. Tolesniam žingsniui įvardykite naują pagrindimą ir atsakymo dalį, kurią reikia pataisyti. Išsaugokite aktualų pokalbį ir įrankių stebėjimus, kad kitas atsakymas galėtų remtis tikrais rezultatais. Mažesnio modelio samprotavimo paskirtis praktiška tada, kai užduočiai reikia analizės, aiškių apribojimų ir tikslinio tekstinio rezultato, o ne nepagrįstų prielaidų apie išorinius veiksmus.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches openai/o3-mini:batch
openai/o3-mini:batchPradžia
OpenAI o3-mini yra tekstinio samprotavimo modelis mokslui, matematikai ir programavimui. Jis siūlo low, medium ir high samprotavimo lygius, 200K kontekstą, struktūrizuotą išvestį ir įrankiais palaikomas darbo eigas, su maksimaliu 100K žetonų generuojamos išvesties biudžetu.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
- Įvestis
text- Išvestis
text- Išvesties formatas
- tiesiogiai įterptas results[].response.body JSON
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasendpoint | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos /v1/chat/completions | Numatyta— |
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos openai/o3-mini:batch | Numatyta— |
Laukasrequests | Tipasbatch_item[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasrequests[].custom_id | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.messages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukascompletion_window | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 24h | Numatyta— |
Laukasprovider | Tipasobject|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.model | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos openai/o3-mini:batch, openai/o3-mini | Numatyta— |
Laukasprovider.only | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos openai | Numatyta— |
Laukasprovider.allow_fallbacks | Tipasboolean|null | ReikalavimasNeprivaloma | Reikšmės ir ribos false, null | Numatyta— |
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijaendpoint, model, requests |
Parametrasmaterial_types | Specifikacijatext |
Parametrasrepresentation | Specifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus |
Parametrasrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parametrasfile_material | SpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST. |
Parametrasserialization_order | Specifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai |
Parametrasoptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parametrasschema_scope | SpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje. |
Gyvavimo ciklas: asynchronous
GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Išreikštinio podėlio kainodara
- Neįjungta Kai prašoma išreikštinio podėlio
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0011 / 1K tokenų Išvestis · Išvesties tokenai $0.0044 / 1K tokenų Įvestis · Talpyklos skaitymas $0.00055 / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0011 / 1K tokenų Išvestis · Išvesties tokenai $0.0044 / 1K tokenų Įvestis · Talpyklos skaitymas $0.00055 / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Paketinis apdorojimas
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/o3-mini: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/o3-mini:batch', 'openai/o3-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/o3-mini: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.
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Paketinis apdorojimas
tiesiogiai įterptas results[].response.body JSON
GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
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
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasresults[].custom_id | Tipasstring |
Laukasresults[].response.body.choices[].message.content | Tipasstring|null |
Laukasresults[].error | Tipasobject|null |
Laukasusage | Tipasobject|null |
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukasendpoint | Tipasstring |
Laukasstatus | Tipasstring |
Laukasrequest_counts | Tipasobject |
Laukasresults[].id | Tipasstring |
Laukasresults[].response.status_code | Tipasinteger |
Laukasresults[].response.request_id | Tipasstring |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis. | Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus. |
Atsakymas401 · authentication_error | SąlygaNegaliojantis API raktas. | Kitas žingsnisNaudokite leistiną Ailoot raktą. |
Atsakymas403 · permission_error | SąlygaPaketinio apdorojimo grupė neprieinama. | Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises. |
Atsakymas422 · invalid_request_error | SąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos. | Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso. |
Atsakymas422 · price_unavailable | SąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos. | Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį. |
Atsakymas402 · billing_error | SąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas. | Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą. |
Atsakymas503 · price_unavailable | SąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami. | Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis. |
Atsakymas503 · api_error | SąlygaKonkretus tiekėjo maršrutas neprieinamas. | Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti. |
Atsakymas503 · result_pending_check | SąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false. | Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos. |
Atsakymas404 · not_found | SąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe. | Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra openai/o3-mini:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · OpenAI: o3 Mini (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·openai/o3-mini:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·openai/o3-mini:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·openai/o3-mini:batch:requests.min_items:1