OpenAI: o4 Mini (batch)
OpenAI o4-mini on kompakti päättelymalli, joka keskittyy tehokkaaseen ohjelmointiin ja visuaalisiin tehtäviin. Se ottaa vastaan tekstiä ja kuvia, palauttaa tekstiä ja tukee jäsenneltyjä vastauksia sekä työkaluja rajatun teknisen ongelman ratkaisemiseen tai hyödyllisen johtopäätöksen tekemiseen annetusta aineistosta.
Tietoa mallista
Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.
o4-mini on OpenAI:n kompakti o-sarjan päättelymalli, joka on optimoitu nopeaan ja tehokkaaseen päättelyyn ohjelmointi- ja visuaalisissa tehtävissä. Se ottaa vastaan tekstiä ja kuvia ja tuottaa tekstiä. Sen hyödyllinen tehtävä on määritelty tekninen ongelma, joka tarvitsee analyysia ennen vastausta: koodivirheen ymmärtäminen, kaavion tulkitseminen, annetun aineiston tietojen yhdistäminen tai jäsennellyn tuloksen tuottaminen seuraavaa vaihetta varten.
Anna ohjelmointitehtävässä mallille olennainen funktio tai tiedostot, odotettu toiminta ja täsmällinen virheeseen johtava syöte tai virheilmoitus. Sisällytä tulokseen vaikuttavat kieli- ja ympäristötiedot. Kohdennettu pyyntö voi pyytää todennäköistä syytä, pientä korjausehdotusta ja selitystä siitä, miten muutos korjaa havaitun toiminnan. Määritä muutoksen rajat, kuten julkisen rajapinnan tai olemassa olevan datan merkityksen säilyttäminen, jotta tulosta voi arvioida todellista tehtävää vasten.
Anna visuaalisessa ongelmassa selkeä kuvakaappaus, kaavio tai kuvaaja ja nimeä kysymys, johon sen tulee vastata. Pidä merkitykselliset selitteet, akselit ja yksiköt näkyvissä. Esimerkkitehtävä voi pyytää selittämään, mitä kuvaaja tukee, nimeämään käytetyt havainnot ja erottamaan näkyvän arvon päätelmästä. Nimeä dokumenttitehtävässä lähdeaineisto ja määritä vastauksessa tarvittavat kentät tai suhteet. Kompaktikin malli hyötyy täydellisistä ongelmatiedoista ja täsmällisestä tulospyynnöstä.
OpenAI määrittää 200000 tokenin konteksti-ikkunan, 100000 tokenin enimmäistulosteen ja tietojen katkaisupäiväksi 1. kesäkuuta 2024. Päättelytokenit kuluttavat sekä kontekstia että tulostekapasiteettia, joten jätä tilaa analyysille ja lopulliselle vastaukselle sen sijaan, että täyttäisit koko kiintiön syötteellä. Konteksti- tai tulosterajan saavuttaminen voi tuottaa keskeneräisen vastauksen ennen näkyvää vastausta. Lyhyt lopullinen vastaus voi silti vaatia sisäistä päättelyä; pelkkä näkyvä pituus ei kuvaa koko tokenbudjettia.
Täsmällinen o4-mini-mallisivu luettelee rajapinnat Chat Completions, Responses, Batch ja hienosäätö. Dokumentoituihin ominaisuuksiin kuuluvat suoratoisto, Structured Outputs, funktiokutsut, tiedostojen lataus, kuvasyöte, tiedostohaku, kehotevälimuisti ja hienosäätö. Työkaluvalikoima sisältää verkko- ja tiedostohaun, koodin tulkinnan ja MCP-yhteydet. Anna sovellustyökalulle selkeä tarkoitus ja syötesopimus, palauta todellinen tulos ja pyydä mallia käyttämään sitä seuraavaan päätökseen. Pyydetty funktiokutsu on toimintaehdotus, kun taas jäsennelty lopullinen vastaus järjestää tehtävän tuottamat tiedot.
OpenAI:n o-sarjan kehoteohjeistus suosittelee yksinkertaista, suoraa tavoitetta, nimenomaisia rajoja ja selkeitä erottimia lähdeaineiston ympärille. Anna mallin käsitellä ongelma sisäisesti; pyydä tarvitsemasi lopullinen selitys, näyttö tai laskelma piilotetun päättelyn litteroinnin sijaan. Kokeile ensin selkeää tehtäväkuvausta ja lisää sitten esimerkkejä, jos vaadittu muoto tai luokkaraja jää epäselväksi. Esimerkin tulee näyttää samat säännöt kuin todellisen tehtävän, myös puuttuvan tiedon esittäminen.
Sovelluksille, jotka tarvitsevat valinnaisen selityksen päättelyprosessista, OpenAI:n päättelyohje dokumentoi nimenomaisesti yksityiskohtaiset päättely-yhteenvedot o4-minille. Yhteenveto on pyydettävä, ja se eroaa raaoista sisäisistä päättelytokeneista, joita ei näytetä. Lopullisen vastauksen on silti sisällettävä käyttäjän pyytämä tulos: esimerkiksi koodimuutosehdotus, kuvaajan tulkinta olennaisine havaintoineen tai annetun aineiston lähteisiin sidotut poimitut kentät. Anna tuoretta tietoa, kun sillä on merkitystä, tarkista tärkeät väitteet lähteestään ja käytä rajattua tehtävää ja valmistumiskriteeriä työnkulun kohdentamiseen.
Ailoot Ultra · Eräajo POST /v1/batches openai/o4-mini:batch
openai/o4-mini:batchAloitus
OpenAI o4-mini on kompakti päättelymalli, joka keskittyy tehokkaaseen ohjelmointiin ja visuaalisiin tehtäviin. Se ottaa vastaan tekstiä ja kuvia, palauttaa tekstiä ja tukee jäsenneltyjä vastauksia sekä työkaluja rajatun teknisen ongelman ratkaisemiseen tai hyödyllisen johtopäätöksen tekemiseen annetusta aineistosta.
- Hyväksytyt syötteet
- Teksti
- Tulokset
- Teksti
Saatavilla Ailootissa · syötteet & menetelmät
Ailoot Ultra · Eräajo POST /v1/batches
- Syötetyypit
text- Tulostyypit
text- Tulosteen muoto
- vastaukseen sisältyvä JSON kentässä results[].response.body
| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
|---|---|---|---|---|
Kenttäendpoint | Tyyppistring | VaatimusPakollinen | Arvot & rajat /v1/chat/completions | Oletus— |
Kenttämodel | Tyyppistring | VaatimusPakollinen | Arvot & rajat openai/o4-mini:batch | Oletus— |
Kenttärequests | Tyyppibatch_item[] | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
Kenttärequests[].custom_id | Tyyppistring | VaatimusPakollinen | Arvot & rajat | Oletus— |
Kenttärequests[].body.messages | Tyyppimessage[] | VaatimusPakollinen | Arvot & rajat | Oletus— |
Kenttäcompletion_window | Tyyppistring | VaatimusValinnainen | Arvot & rajat 24h | Oletus— |
Kenttäprovider | Tyyppiobject|null | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttärequests[].body.model | Tyyppistring | VaatimusValinnainen | Arvot & rajat openai/o4-mini:batch, openai/o4-mini | Oletus— |
Kenttäprovider.only | Tyyppistring[] | VaatimusValinnainen | Arvot & rajat openai | Oletus— |
Kenttäprovider.allow_fallbacks | Tyyppiboolean|null | VaatimusValinnainen | Arvot & rajat false, null | Oletus— |
Menetelmän parametrit ja elinkaari
| Parametri | Sopimus |
|---|---|
Parametricontent_type | Sopimusapplication/json |
Parametrirequired | Sopimusendpoint, model, requests |
Parametrimaterial_types | Sopimustext |
Parametrirepresentation | Sopimuspyyntöön sisältyvä requests[]; jokaisella alkiolla on custom_id ja body |
Parametrirequest_endpoint_profile | Sopimus/v1/chat/completions |
Parametrifile_material | SopimusKutsuja voi lukea todellisen UTF-8 JSONL -aineiston paikallisesti requests[]-taulukkoon. Latauksen purpose-arvoa, input_file_id-arvoa tai tiedostoviitettä ei käytetä. Puuttuva tai tyhjä asiakkaan aineisto keskeyttää valmistelun ennen POST-pyyntöä. |
Parametriserialization_order | Sopimusendpoint, model, provider (jos annettu), completion_window (jos annettu), requests viimeisenä |
Parametrioptional_controls | Sopimusprovider.only, provider.allow_fallbacks, completion_window |
Parametrischema_scope | SopimusTekstimuotoiset Chat Completions -pyyntörungot dokumentoidussa pyyntöön sisältyvässä Batch-kääreessä. |
Elinkaari: asynchronous
GET /v1/batches/{operation_id} · alkuperäisen luontivastauksen todellinen response.id; sama käyttäjä, avain ja ryhmä
Hinnoittelu
Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.
- Nopea tila
- Ei määritetty Kun nopea tila on valittu
- Flex-tila
- Ei määritetty Kun flex-tila on valittu
- Päättelyn enimmäisteho
- Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä
- Eksplisiittisen välimuistin hinnoittelu
- Ei käytössä Kun eksplisiittistä välimuistia pyydetään
Ailoot-hinnat
Hinnat asetusten mukaan
Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.
| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
|---|---|---|---|---|
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0011 / 1K tokenia Tuloste · Tulostokenit $0.0044 / 1K tokenia Syöte · Välimuistin luku $0.000275 / 1K tokenia Syöte · Välimuistiin kirjoitus — / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0011 / 1K tokenia Tuloste · Tulostokenit $0.0044 / 1K tokenia Syöte · Välimuistin luku $0.000275 / 1K tokenia Syöte · Välimuistiin kirjoitus — / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →
Esimerkkipyynnöt
Ailoot Ultra · Eräajo
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.
Vastaanota ja tallenna tulokset
Ailoot Ultra · Eräajo
vastaukseen sisältyvä JSON kentässä results[].response.body
GET /v1/batches/{operation_id}
Tarkista työn tila
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
Säilytä kaikki valmistuneet tulokset
Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.
Säilytä koko alkuperäinen tilatiedot sisältävä JSON, jokainen tulos ja custom_id sekä täydellinen vastaus- tai virherunko. Tallenna valmistuneet results[]-tulokset JSONL-muodossa suodattamatta.
Jos alkuperäinen vastaus on tarkistettava
Säilytä alkuperäinen operaation ID. 503 result_pending_check sisältää otsakkeen X-Should-Retry:false; älä koskaan lähetä uudelleen alkuperäistä eräajoa, jonka tila on tuntematon.
Vastauksen kentät
| Kenttä | Tyyppi |
|---|---|
Kenttäresults[].custom_id | Tyyppistring |
Kenttäresults[].response.body.choices[].message.content | Tyyppistring|null |
Kenttäresults[].error | Tyyppiobject|null |
Kenttäusage | Tyyppiobject|null |
Kenttäid | Tyyppistring |
Kenttämodel | Tyyppistring |
Kenttäendpoint | Tyyppistring |
Kenttästatus | Tyyppistring |
Kenttärequest_counts | Tyyppiobject |
Kenttäresults[].id | Tyyppistring |
Kenttäresults[].response.status_code | Tyyppiinteger |
Kenttäresults[].response.request_id | Tyyppistring |
Virheet ja seuraavat vaiheet
| Vastaus | Ehto | Seuraava vaihe |
|---|---|---|
Vastaus400 · invalid_request_error | EhtoDokumentoitu pyyntöön sisältyvä kääre on virheellinen, avaimet ovat päällekkäisiä, alkion identiteetti on virheellinen tai määritetyt mallin ominaisuudet ovat ristiriidassa. | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta lähetystä. |
Vastaus401 · authentication_error | EhtoVirheellinen API-avain. | Seuraava vaiheKäytä valtuutettua Ailoot-avainta. |
Vastaus403 · permission_error | EhtoEräajoryhmä ei ole käytettävissä. | Seuraava vaiheTarkista avaimen ja ryhmän käyttöoikeudet. |
Vastaus422 · invalid_request_error | EhtoEräajo laskutetaan saldosta; tilauspohjaisella laskutuksella tehty eräajon luontipyyntö hylätään. | Seuraava vaiheKäytä valtuutettua saldosta laskutettavaa ryhmää. |
Vastaus422 · price_unavailable | EhtoEräajon syötteelle ei voida laskea hinta-arviota. | Seuraava vaiheSäilytä vastaus; käytä dokumentoitua API-perheen syötettä. |
Vastaus402 · billing_error | EhtoEräajon varaus ei ole käytettävissä. | Seuraava vaihePoista pyynnön hyväksymisen esteet ennen uutta pyyntöä. |
Vastaus503 · price_unavailable | EhtoEräajomenetelmän hinta tai natiivit hinnat eivät ole käytettävissä. | Seuraava vaiheSäilytä vastaus; älä korvaa hintoja toisilla. |
Vastaus503 · api_error | EhtoTäsmällinen toimittajan reitti ei ole käytettävissä. | Seuraava vaiheSäilytä vastaus reitin korjaamista varten. |
Vastaus503 · result_pending_check | EhtoAlkuperäinen tulos edellyttää tarkistusta; X-Should-Retry:false. | Seuraava vaiheSäilytä alkuperäinen operation_id/id ja lue sen tila; älä koskaan toista alkuperäistä POST-pyyntöä. |
Vastaus404 · not_found | EhtoEräajon tilan operaatiota ei ole tai se kuuluu toiselle identiteetille. | Seuraava vaiheKäytä täsmälleen alkuperäistä id-arvoa sekä samaa käyttäjää, avainta ja ryhmää. |
Aliakset
Mallin aliakset
Ailoot Ultra openai/o4-mini:batch
Menetelmäpolkujen aliakset
Käytä yllä näytettyjä menetelmäpolkuja.
Liittyvät kutsujan ID:t
FAQ · OpenAI: o4 Mini (batch)
- Mitä syötteitä ja tuloksia on saatavilla?
POST /v1/batches·openai/o4-mini:batch:text→text- Mitä kenttiä pyyntö käyttää?
POST /v1/batches·openai/o4-mini:batch:endpoint,model,requests,completion_window,provider- Mitä rajoja sovelletaan?
POST /v1/batches·openai/o4-mini:batch:requests.min_items:1