OpenAI: o4 Mini (batch)
OpenAI o4-mini je kompaktný model uvažovania zameraný na efektívne programovanie a vizuálne úlohy. Prijíma text a obrázky, vracia text a podporuje štruktúrované odpovede a nástroje na riešenie ohraničeného technického problému alebo získanie užitočného záveru z dodaného materiálu.
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
o4-mini je kompaktný model uvažovania OpenAI z radu o, optimalizovaný na rýchle a účinné uvažovanie pri programovaní a vizuálnych úlohách. Prijíma text a obrázky a vytvára text. Jeho užitočnou úlohou je definovaný technický problém vyžadujúci analýzu pred odpoveďou: pochopenie zlyhania kódu, interpretácia diagramu, prepojenie faktov v dodanom materiáli alebo vytvorenie štruktúrovaného výsledku pre ďalší krok.
Pri programovaní poskytnite relevantnú funkciu alebo súbory, očakávané správanie a presný vstup spôsobujúci zlyhanie alebo chybu. Zahrňte detaily jazyka a prostredia, ktoré ovplyvňujú výsledok. Konkrétna požiadavka môže žiadať pravdepodobnú príčinu, minimálnu navrhnutú opravu a vysvetlenie, ako zmena rieši pozorované správanie. Určte hranice zmeny, napríklad zachovanie verejného rozhrania alebo významu existujúcich údajov, aby bolo možné výsledok posúdiť podľa skutočnej úlohy.
Pri vizuálnom probléme dodajte čitateľnú snímku obrazovky, diagram alebo graf a určte otázku, na ktorú má odpovedať. Dôležité označenia, osi a jednotky ponechajte viditeľné. Ilustračné zadanie môže žiadať vysvetlenie toho, čo graf podporuje, určenie použitých pozorovaní a oddelenie viditeľnej hodnoty od odvodeného záveru. Pri dokumentovej úlohe označte zdrojové materiály a definujte polia alebo vzťahy požadované v odpovedi. Aj kompaktnému modelu pomáhajú úplné informácie o probléme a presná požiadavka na výstup.
OpenAI uvádza kontextové okno 200,000 tokenov, maximálny výstup 100,000 tokenov a hranicu znalostí 1. júna 2024. Tokeny uvažovania spotrebúvajú kapacitu kontextu aj výstupu, preto nechajte miesto na analýzu a konečnú odpoveď namiesto zaplnenia celého limitu vstupom. Dosiahnutie limitu kontextu alebo výstupu môže viesť k neúplnej odpovedi ešte pred akýmkoľvek viditeľným textom odpovede. Aj krátka konečná odpoveď môže vyžadovať vnútorné uvažovanie; samotná viditeľná dĺžka neopisuje celý objem tokenov.
Stránka konkrétneho modelu o4-mini uvádza rozhrania Chat Completions, Responses, Batch a fine-tuning (dolaďovanie modelu). Dokumentované možnosti zahŕňajú streamovanie, Structured Outputs, volanie funkcií, nahrávanie súborov, obrazový vstup, vyhľadávanie v súboroch, cache promptov a dolaďovanie (fine-tuning). Súbor nástrojov uvádza vyhľadávanie na webe a v súboroch, vykonávanie kódu v interpreteri a pripojenia MCP. Nástroju aplikácie dajte jasný účel a vstupný kontrakt, vráťte skutočný výsledok a požiadajte model, aby ho použil na ďalšie rozhodnutie. Požadované volanie funkcie je návrhom akcie, zatiaľ čo štruktúrovaná konečná odpoveď usporadúva informácie vytvorené úlohou.
Príručka promptovania OpenAI pre rad o odporúča jednoduchý priamy cieľ s výslovnými obmedzeniami a jasnými oddeľovačmi zdrojových materiálov. Nechajte model spracovať problém vnútorne; vyžiadajte potrebné konečné vysvetlenie, dôkazy alebo výpočet namiesto prepisu skrytého uvažovania. Najprv skúste jasné zadanie a príklady pridajte, keď zostáva nejasný požadovaný formát alebo hranica kategórie. Príklad má ukázať rovnaké pravidlá ako skutočná úloha vrátane vyjadrenia chýbajúcich informácií.
Pre aplikácie vyžadujúce voliteľné vysvetlenie procesu uvažovania príručka uvažovania OpenAI výslovne dokumentuje podrobné súhrny uvažovania pre o4-mini. Súhrn sa musí vyžiadať a je odlišný od surových vnútorných tokenov uvažovania, ktoré nie sú sprístupnené. Konečná odpoveď musí stále obsahovať výsledok požadovaný používateľom, napríklad navrhnutú zmenu kódu, interpretáciu grafu s relevantnými pozorovaniami alebo extrahované polia naviazané na dodaný materiál. Ak sú dôležité aktuálne fakty, dodajte ich, podstatné tvrdenia overte podľa zdroja a postup udržujte konkrétny pomocou ohraničenej úlohy a kritéria dokončenia.
Ailoot Ultra · Dávkové spracovanie POST /v1/batches openai/o4-mini:batch
openai/o4-mini:batchÚvod
OpenAI o4-mini je kompaktný model uvažovania zameraný na efektívne programovanie a vizuálne úlohy. Prijíma text a obrázky, vracia text a podporuje štruktúrované odpovede a nástroje na riešenie ohraničeného technického problému alebo získanie užitočného záveru z dodaného materiálu.
- Povolené vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Dávkové spracovanie POST /v1/batches
- Vstup
text- Výstup
text- Výstupný formát
- JSON priamo vložený v results[].response.body
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Poleendpoint | Typstring | PožiadavkaPovinné | Hodnoty a limity /v1/chat/completions | Predvolené— |
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity openai/o4-mini:batch | Predvolené— |
Polerequests | Typbatch_item[] | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 | Predvolené— |
Polerequests[].custom_id | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polerequests[].body.messages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polecompletion_window | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 24h | Predvolené— |
Poleprovider | Typobject|null | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polerequests[].body.model | Typstring | PožiadavkaVoliteľné | Hodnoty a limity openai/o4-mini:batch, openai/o4-mini | Predvolené— |
Poleprovider.only | Typstring[] | PožiadavkaVoliteľné | Hodnoty a limity openai | Predvolené— |
Poleprovider.allow_fallbacks | Typboolean|null | PožiadavkaVoliteľné | Hodnoty a limity false, null | Predvolené— |
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciaendpoint, model, requests |
Parametermaterial_types | Špecifikáciatext |
Parameterrepresentation | Špecifikáciapriamo vložené requests[]; každá položka obsahuje custom_id a body |
Parameterrequest_endpoint_profile | Špecifikácia/v1/chat/completions |
Parameterfile_material | ŠpecifikáciaVolajúci môže lokálne načítať skutočný súbor UTF-8 JSONL do requests[]. Nepoužíva sa účel nahrávania, input_file_id ani odkaz na súbor. Chýbajúce alebo prázdne podklady zákazníka zastavia prípravu pred POST. |
Parameterserialization_order | Špecifikáciaendpoint, model, provider (ak je zadaný), completion_window (ak je zadaný), requests na konci |
Parameteroptional_controls | Špecifikáciaprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ŠpecifikáciaTelá textových požiadaviek Chat Completions v zdokumentovanom obale dávky s priamo vloženými požiadavkami. |
Životný cyklus: asynchronous
GET /v1/batches/{operation_id} · skutočná hodnota response.id z pôvodnej odpovede na vytvorenie; rovnaký používateľ/kľúč/skupina
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
- Ceny explicitnej cache
- Nie je zapnuté Keď sa požaduje explicitná cache
Sadzby Ailoot
Ceny podľa konfigurácie
Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.
| Konfigurácia | Sadzobník | Počet tokenov kontextu väčší než | Tokeny kontextu, najviac (vrátane hranice) | Poplatok |
|---|---|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Počet tokenov kontextu väčší než— | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.0011 / 1K tokenov Výstup · Výstupné tokeny $0.0044 / 1K tokenov Vstup · Čítanie cache $0.000275 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
| KonfiguráciaPásmo dĺžky požiadavky 1 | Sadzobník— | Počet tokenov kontextu väčší než0 | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.0011 / 1K tokenov Výstup · Výstupné tokeny $0.0044 / 1K tokenov Vstup · Čítanie cache $0.000275 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Dávkové spracovanie
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/o4-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/o4-mini:batch', 'openai/o4-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/o4-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.
Prijať a uložiť výsledky
Ailoot Ultra · Dávkové spracovanie
JSON priamo vložený v results[].response.body
GET /v1/batches/{operation_id}
Skontrolovať stav úlohy
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
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Uchovajte úplný pôvodný stav vo formáte JSON, každý výsledok/custom_id a úplné telo odpovede alebo chyby. Dokončené results[] uložte ako JSONL bez filtrovania.
Ak treba overiť pôvodnú odpoveď
Uchovajte pôvodné ID operácie. Odpoveď 503 result_pending_check obsahuje X-Should-Retry:false; pôvodnú dávku s neznámym výsledkom nikdy znova neodosielajte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleresults[].custom_id | Typstring |
Poleresults[].response.body.choices[].message.content | Typstring|null |
Poleresults[].error | Typobject|null |
Poleusage | Typobject|null |
Poleid | Typstring |
Polemodel | Typstring |
Poleendpoint | Typstring |
Polestatus | Typstring |
Polerequest_counts | Typobject |
Poleresults[].id | Typstring |
Poleresults[].response.status_code | Typinteger |
Poleresults[].response.request_id | Typstring |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatný zdokumentovaný obal s priamo vloženými požiadavkami, duplicitné kľúče alebo konflikt identity položky či nastavených schopností modelu. | Ďalší krokPred akýmkoľvek novým odoslaním opravte označené polia. |
Odpoveď401 · authentication_error | PodmienkaNeplatný kľúč API. | Ďalší krokPoužite kľúč Ailoot, ktorý ste oprávnení používať. |
Odpoveď403 · permission_error | PodmienkaSkupina pre dávkové spracovanie nie je dostupná. | Ďalší krokSkontrolujte oprávnenie kľúča/skupiny. |
Odpoveď422 · invalid_request_error | PodmienkaDávkové spracovanie sa účtuje zo zostatku; vytvorenie cez predplatné sa odmieta. | Ďalší krokPoužite skupinu s účtovaním zo zostatku, ktorú ste oprávnení používať. |
Odpoveď422 · price_unavailable | PodmienkaPre vstup dávky nemožno vypočítať cenovú ponuku. | Ďalší krokUchovajte odpoveď; použite zdokumentovaný vstup pre danú rodinu metód. |
Odpoveď402 · billing_error | PodmienkaRezerva pre dávkové spracovanie nie je dostupná. | Ďalší krokPred novou požiadavkou vyriešte podmienky prijatia. |
Odpoveď503 · price_unavailable | PodmienkaCena metódy dávkového spracovania alebo natívne sadzby nie sú dostupné. | Ďalší krokUchovajte odpoveď; nenahrádzajte ceny inými. |
Odpoveď503 · api_error | PodmienkaPresná trasa k dodávateľovi nie je dostupná. | Ďalší krokUchovajte odpoveď na účely opravy smerovania. |
Odpoveď503 · result_pending_check | PodmienkaPôvodný výsledok je potrebné skontrolovať; X-Should-Retry:false. | Ďalší krokUchovajte pôvodné operation_id/id a čítajte jeho stav; pôvodný POST nikdy neopakujte. |
Odpoveď404 · not_found | PodmienkaOperácia na zisťovanie stavu dávky neexistuje alebo patrí inej identite. | Ďalší krokPoužite presné pôvodné id a rovnakého používateľa/kľúč/skupinu. |
Aliasy
Aliasy modelov
Ailoot Ultra openai/o4-mini:batch
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · OpenAI: o4 Mini (batch)
- Aké vstupy a výsledky sú dostupné?
POST /v1/batches·openai/o4-mini:batch:text→text- Aké polia používa požiadavka?
POST /v1/batches·openai/o4-mini:batch:endpoint,model,requests,completion_window,provider- Aké limity platia?
POST /v1/batches·openai/o4-mini:batch:requests.min_items:1