OpenAI: o3 (batch)
OpenAI o3 on päättelymalli monivaiheiseen työskentelyyn matematiikan, tieteen, koodin ja kuvien parissa. Se palauttaa tekstiä ja tukee jäsenneltyjä vastauksia sekä työkalujen käyttöä, joten se sopii teknisen ongelman tutkimiseen ja näyttöön perustuvan selityksen tai ratkaisuehdotuksen tuottamiseen.
Tietoa mallista
Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.
o3 on OpenAI:n yleiskäyttöinen o-sarjan päättelymalli monimutkaisiin tehtäviin. Valmistaja nostaa esiin matematiikan, tieteen, ohjelmoinnin, visuaalisen päättelyn, teknisen kirjoittamisen ja ohjeiden noudattamisen. Se ottaa vastaan tekstiä ja kuvia ja tuottaa tekstiä, joten tehtävä voi yhdistää kirjoitetun ongelman, koodin ja kaavion sen sijaan, että käsittelisi jokaista lähdettä erillisenä kysymyksenä. Tavoiteltu tulos on harkittu vastaus monivaiheiseen ongelmaan sekä vastauksen arvioimiseen tarvittavat tiedot.
Anna matemaattisessa tai tieteellisessä kysymyksessä täydellinen ongelma, määritelmät, tunnetut määrät, yksiköt ja rajoitukset. Kerro, tarvitsetko johdon, numeerisen tuloksen, hypoteesien vertailun vai tietylle yleisölle tarkoitetun selityksen. Esimerkkiohje tulokselle voi olla: nimeä olennaiset oletukset, esitä ratkaisu yksiköineen ja selitä, mitkä annetut tiedot tukevat sitä. Pyydä lopulliseen vastaukseen hyödyllinen selitys; OpenAI:n sisäisiä päättelytokeneita ei näytetä mallin raakana työskentelyjälkenä.
Anna ohjelmistotehtävässä olennainen koodi, odotettu toiminta ja havaittu virhe, myös sen paljastava täsmällinen virheilmoitus tai syöte. Pyydä o3:a yhdistämään oireet uskottavaan syyhyn ja ehdottamaan kohdennettua muutosta selityksineen. Visuaalinen tehtävä voi sisältää kaavion, kuvakaappauksen tai piirretyn tuloksen: nimeä kysymys ja olennaiset selitteet tai alue, säilytä luettava asteikko ja pyydä johtopäätöstä, joka liittyy todella näkyvään. Nämä valmistelut antavat mallille määritellyn ongelman ja konkreettisen tuloksen rajattoman kaiken tutkimispyynnön sijaan.
OpenAI ilmoittaa 200000 tokenin konteksti-ikkunan, 100000 tokenin enimmäistulosteen ja tietojen katkaisupäiväksi 1. kesäkuuta 2024. Sisäinen päättely käyttää konteksti- ja tulostekapasiteettia näkyvän vastauksen rinnalla. Enimmäistuloste ei siis lupaa 100000 näkyvää vastaustokenia, eikä konteksti ole ylimääräinen itsenäinen tulostekiintiö. Jätä syöteaineiston jälkeen tilaa analyysille ja pyydetylle tulokselle. Tuottajan päättelyohje kuvaa keskeneräisiä vastauksia konteksti- tai tulosterajan täyttyessä; näin voi käydä ennen näkyvän vastauksen ilmestymistä.
Täsmällinen o3-määritys dokumentoi rajapinnat Chat Completions, Responses ja Batch sekä suoratoiston, Structured Outputs -ominaisuuden, funktiokutsut, tiedostojen lataukset, kuvasyötteen, tiedostohaun ja kehotevälimuistin. Dokumentoitu työkaluvalikoima sisältää verkko- ja tiedostohaun, koodin tulkinnan, kuvien luomisen ja MCP-yhteydet. Hakutulos tai laskelma on lisänäyttöä tehtävälle, kun taas funktiokutsu pyytää operaatiota ympäröivältä sovellukselta. Säilytä palautettu näyttö sen kysymyksen yhteydessä, johon se vastaa, ja erota ehdotettu toiminto vahvistetusta tuloksesta. Mallin oma tulos pysyy tekstinä myös silloin, kun kuvanluontityökalu luo erillisen tuotoksen.
OpenAI:n päättelyohjeistus suosii yksinkertaisia, suoria ohjeita ja selkeitä rajoja ohjeiden ja lähdeaineiston välillä. Kerro tavoite, rajoitukset ja vastauksen vaadittu muoto sen sijaan, että määräisit mallin yksityisen ajatusprosessin. Käytä esimerkkejä, kun ne selventävät vaikeaa muotoa tai päätössääntöä, ja pidä ne todellisten vaatimusten mukaisina. Nimeä pitkän teknisen dokumentin osiot ja pyydä tiettyyn kysymykseen liittyviä kohtia tai suhteita; määritä koodin tarkistuksessa toiminta ja riski, jota haluat tutkittavan.
Hyödyllinen o3-tuotos voi olla ratkaisuineen esitetty tekninen selitys, kaavion analyysi, dokumentoitu koodikorjaus tai annettuun aineistoon perustuva vertailu. Kerro tukemattomat oletukset ja puuttuvat tiedot nimenomaisesti ja tarkista ratkaisevat laskelmat tai koodin toiminta alkuperäistä ongelmaa vasten. Tietojen katkaisupäivän vuoksi tuoreet tiedot tarvitsevat annettua aineistoa tai sopivan tiedonhakutyökalun. Selkeä näyttö, nimenomainen valmistumiskriteeri ja riittävä tulostetila auttavat muuttamaan laajan päättelytehtävän tulokseksi, jonka toinen ihminen voi tarkistaa ja käyttää.
Ailoot Ultra · Eräajo POST /v1/batches openai/o3:batch
openai/o3:batchAloitus
OpenAI o3 on päättelymalli monivaiheiseen työskentelyyn matematiikan, tieteen, koodin ja kuvien parissa. Se palauttaa tekstiä ja tukee jäsenneltyjä vastauksia sekä työkalujen käyttöä, joten se sopii teknisen ongelman tutkimiseen ja näyttöön perustuvan selityksen tai ratkaisuehdotuksen tuottamiseen.
- 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/o3: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/o3:batch, openai/o3 | 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.002 / 1K tokenia Tuloste · Tulostokenit $0.008 / 1K tokenia Syöte · Välimuistin luku $0.0005 / 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.002 / 1K tokenia Tuloste · Tulostokenit $0.008 / 1K tokenia Syöte · Välimuistin luku $0.0005 / 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/o3: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:batch', 'openai/o3']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/o3: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/o3:batch
Menetelmäpolkujen aliakset
Käytä yllä näytettyjä menetelmäpolkuja.
Liittyvät kutsujan ID:t
FAQ · OpenAI: o3 (batch)
- Mitä syötteitä ja tuloksia on saatavilla?
POST /v1/batches·openai/o3:batch:text→text- Mitä kenttiä pyyntö käyttää?
POST /v1/batches·openai/o3:batch:endpoint,model,requests,completion_window,provider- Mitä rajoja sovelletaan?
POST /v1/batches·openai/o3:batch:requests.min_items:1