OpenAI: o3 (batch)
Az OpenAI o3 következtető modell többlépéses matematikai, tudományos, kódolási és képi munkához. Szöveget ad vissza, strukturált válaszokat és eszközhasználatot támogat, így műszaki probléma kivizsgálásához és bizonyítékokkal alátámasztott magyarázat vagy megoldási javaslat készítéséhez használható.
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
Az o3 az OpenAI o-sorozatának általános célú következtető modellje összetett feladatokhoz. A gyártó a matematikát, a tudományt, a kódolást, a vizuális következtetést, a műszaki írást és az utasításkövetést emeli ki. Szöveget és képeket fogad, és szöveget állít elő, így a feladat írott problémát, kódot és diagramot egyesíthet, nem kell minden forrást elszigetelt kérdésként kezelnie. A tervezett eredmény egy többlépéses probléma átgondolt megválaszolása, a válasz értékeléséhez szükséges információkkal.
Matematikai vagy tudományos kérdéshez adja meg a teljes problémát, a definíciókat, az ismert mennyiségeket, a mértékegységeket és a megkötéseket. Mondja meg, hogy levezetésre, számszerű eredményre, hipotézisek összehasonlítására vagy egy adott közönségnek szóló magyarázatra van szüksége. Például ezt kérheti a kimenettől: nevezze meg a releváns feltételezéseket, mutassa be a megoldást a mértékegységeivel, és magyarázza el, mely megadott tények támasztják alá. A végső válaszban hasznos magyarázatot kérjen; az OpenAI belső következtetési tokenjei nem hozzáférhetők a modell nyers belső gondolatmeneteként.
Szoftveres munkához adja meg a releváns kódot, az elvárt viselkedést és a megfigyelt hibát, beleértve az azt feltáró pontos hibaüzenetet vagy bemenetet. Kérje meg az o3-at, hogy a tüneteket kapcsolja össze egy valószínű okkal, és indokolással együtt javasoljon célzott módosítást. A vizuális feladat diagramot, képernyőképet vagy grafikonon ábrázolt eredményt tartalmazhat: nevezze meg a kérdést és a fontos címkéket vagy területet, őrizze meg az olvasható skálát, és a ténylegesen látható adatokhoz kötött következtetést kérjen. Ezek az előkészítő lépések meghatározott problémát és konkrét kimenetet adnak a modellnek, nem korlátlan kérést arra, hogy mindent vizsgáljon meg.
Az OpenAI 200 000 tokenes kontextusablakot, legfeljebb 100 000 tokenes kimenetet és 2024. június 1-jei tudáshatárt sorol fel. A belső következtetés a látható válasz mellett kontextus- és kimeneti kapacitást használ. A maximális kimenet ezért nem ígér 100 000 látható választokent, a kontextus pedig nem egy további, független kimeneti keret. A bemeneti anyag után hagyjon helyet az elemzésnek és a kért eredménynek. A készítő következtetési útmutatója hiányos válaszokat ír le, amikor a kontextus- vagy kimeneti korlátot elérik; ez a látható válasz megjelenése előtt is megtörténhet.
Az o3 konkrét specifikációja Chat Completions, Responses és Batch interfészeket dokumentál, folyamatos válaszadással, Structured Outputs funkcióval, függvényhívással, fájlfeltöltéssel, képbemenettel, fájlkereséssel és bemeneti gyorsítótárazással együtt. Dokumentált eszközkészlete webes és fájlkeresést, kódértelmezést, képgenerálást és MCP-kapcsolatokat tartalmaz. Egy keresési találat vagy számítás további bizonyíték a feladathoz, míg egy függvényhívás műveletet kér a környező alkalmazástól. A visszaadott bizonyítékot tartsa az általa megválaszolt kérdéshez kötve, és különböztesse meg a javasolt cselekvést a megerősített eredménytől. A modell saját kimenete akkor is szöveg marad, ha egy képgeneráló eszköz külön fájlt készít.
Az OpenAI következtetési útmutatója egyszerű, közvetlen utasításokat részesít előnyben, világos határokkal az utasítások és a forrásanyag között. A modell saját gondolatmenetének előírása helyett adja meg a célt, a megkötéseket és a kívánt válaszformátumot. Használjon példákat, ha ezek egy nehéz formátumot vagy döntési szabályt tisztáznak, és a példák legyenek összhangban a tényleges követelményekkel. Hosszú műszaki dokumentumnál címkézze a szakaszokat, és az adott kérdéshez releváns szövegrészeket vagy kapcsolatokat kérje; kódellenőrzésnél határozza meg a vizsgálandó viselkedést és kockázatot.
Hasznos o3 eredmény lehet kidolgozott műszaki magyarázat, diagram elemzése, dokumentált kódjavítás vagy a kapott anyaggal alátámasztott összehasonlítás. Az alá nem támasztott feltételezéseket és a hiányzó információt tegye egyértelművé, a döntő számításokat vagy kódviselkedést pedig ellenőrizze az eredeti probléma alapján. Tudáshatára miatt a friss tényekhez megadott anyag vagy megfelelő információs eszköz szükséges. A világos bizonyítékok, a kifejezett befejezési kritérium és az elegendő kimeneti hely egy tág következtetési feladatot mások által ellenőrizhető és használható eredménnyé alakíthatnak.
Ailoot Ultra · Kötegelt feldolgozás POST /v1/batches openai/o3:batch
openai/o3:batchKezdő lépések
Az OpenAI o3 következtető modell többlépéses matematikai, tudományos, kódolási és képi munkához. Szöveget ad vissza, strukturált válaszokat és eszközhasználatot támogat, így műszaki probléma kivizsgálásához és bizonyítékokkal alátámasztott magyarázat vagy megoldási javaslat készítéséhez használható.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- Szöveg
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Kötegelt feldolgozás POST /v1/batches
- Bemenet
text- Kimenet
text- Kimeneti formátum
- Beágyazott results[].response.body JSON-adatok
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőendpoint | Típusstring | KövetelményKötelező | Értékek és korlátok /v1/chat/completions | Alapértelmezett— |
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok openai/o3:batch | Alapértelmezett— |
Mezőrequests | Típusbatch_item[] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
Mezőrequests[].custom_id | Típusstring | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőrequests[].body.messages | Típusmessage[] | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőcompletion_window | Típusstring | KövetelményOpcionális | Értékek és korlátok 24h | Alapértelmezett— |
Mezőprovider | Típusobject|null | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőrequests[].body.model | Típusstring | KövetelményOpcionális | Értékek és korlátok openai/o3:batch, openai/o3 | Alapértelmezett— |
Mezőprovider.only | Típusstring[] | KövetelményOpcionális | Értékek és korlátok openai | Alapértelmezett— |
Mezőprovider.allow_fallbacks | Típusboolean|null | KövetelményOpcionális | Értékek és korlátok false, null | Alapértelmezett— |
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésendpoint, model, requests |
Paramétermaterial_types | Szerződéstext |
Paraméterrepresentation | SzerződésA kérésbe ágyazott requests[]; minden elemhez custom_id és body tartozik |
Paraméterrequest_endpoint_profile | Szerződés/v1/chat/completions |
Paraméterfile_material | SzerződésA hívó helyben beolvashatja a tényleges UTF-8 JSONL-adatokat a requests[] tömbbe. A kérés nem használ feltöltési célt, input_file_id mezőt vagy fájlhivatkozást. Hiányzó vagy üres ügyfélanyag esetén az előkészítés még a POST előtt leáll. |
Paraméterserialization_order | Szerződésendpoint, model, provider (ha meg van adva), completion_window (ha meg van adva), requests utoljára |
Paraméteroptional_controls | Szerződésprovider.only, provider.allow_fallbacks, completion_window |
Paraméterschema_scope | SzerződésText Chat Completions-kéréstörzsek a dokumentált, kérésbe ágyazott Batch-borítékban. |
Életciklus: asynchronous
GET /v1/batches/{operation_id} · Az eredeti létrehozási válasz tényleges response.id értéke; ugyanaz a felhasználó/kulcs/csoport
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
- Explicit gyorsítótárazás díjai
- Nincs engedélyezve Ha explicit gyorsítótárazást kérnek
Ailoot-díjak
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Kontextustokenek, több mint | Kontextustokenek, legfeljebb | Díj |
|---|---|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Kontextustokenek, több mint— | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.002 / 1K token Kimenet · Kimeneti tokenek $0.008 / 1K token Bemenet · Gyorsítótár olvasása $0.0005 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
| BeállításA kéréshossz szerinti 1. ársáv | Díjtáblázat— | Kontextustokenek, több mint0 | Kontextustokenek, legfeljebbNincs felső korlát | Díj Bemenet · Bemeneti tokenek $0.002 / 1K token Kimenet · Kimeneti tokenek $0.008 / 1K token Bemenet · Gyorsítótár olvasása $0.0005 / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Kötegelt feldolgozás
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.
Eredmények fogadása és mentése
Ailoot Ultra · Kötegelt feldolgozás
Beágyazott results[].response.body JSON-adatok
GET /v1/batches/{operation_id}
Feladatállapot ellenőrzése
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
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg a teljes eredeti állapot-JSON-t, minden eredményt/custom_id értéket, valamint a teljes válasz- vagy hibatörzset. A befejezett results[] elemeket szűrés nélkül mentse JSONL-ként.
Ha az eredeti választ ellenőrizni kell
Őrizze meg az eredeti műveletazonosítót. A 503 result_pending_check válasz X-Should-Retry:false fejlécet tartalmaz; soha ne küldje be újra az ismeretlen kimenetelű eredeti köteget.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőresults[].custom_id | Típusstring |
Mezőresults[].response.body.choices[].message.content | Típusstring|null |
Mezőresults[].error | Típusobject|null |
Mezőusage | Típusobject|null |
Mezőid | Típusstring |
Mezőmodel | Típusstring |
Mezőendpoint | Típusstring |
Mezőstatus | Típusstring |
Mezőrequest_counts | Típusobject |
Mezőresults[].id | Típusstring |
Mezőresults[].response.status_code | Típusinteger |
Mezőresults[].response.request_id | Típusstring |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen a dokumentált, kérésbe ágyazott boríték, ismétlődő kulcsok vagy az elemek azonosságával kapcsolatos hiba található benne, vagy ütközés van a beállított modellképességekkel. | Következő lépésBármilyen új beküldés előtt javítsa ki a megjelölt mezőket. |
Válasz401 · authentication_error | FeltételÉrvénytelen API-kulcs. | Következő lépésHasználja az engedélyezett Ailoot-kulcsot. |
Válasz403 · permission_error | FeltételA Batch-csoport nem érhető el. | Következő lépésEllenőrizze a kulcs/csoport jogosultságát. |
Válasz422 · invalid_request_error | FeltételA Batch az egyenlegből számol el; az előfizetés terhére indított létrehozási kérés elutasításra kerül. | Következő lépésHasználja az engedélyezett, egyenlegből elszámoló csoportot. |
Válasz422 · price_unavailable | FeltételA Batch-bemenethez nem készíthető árajánlat. | Következő lépésŐrizze meg a választ; használja az API-család dokumentált bemenetét. |
Válasz402 · billing_error | FeltételA Batch költségfedezeti foglalása nem érhető el. | Következő lépésAz új kérés előtt rendezze a befogadási feltételeket. |
Válasz503 · price_unavailable | FeltételA Batch-módszer ára vagy natív díjtételei nem érhetők el. | Következő lépésŐrizze meg a választ; ne helyettesítse az árakat más árakkal. |
Válasz503 · api_error | FeltételA pontos szolgáltatói útvonal nem érhető el. | Következő lépésŐrizze meg a választ az útvonal javításához. |
Válasz503 · result_pending_check | FeltételAz eredeti eredmény ellenőrzést igényel; X-Should-Retry:false. | Következő lépésŐrizze meg az eredeti operation_id/id értéket, és kérdezze le az állapotát; soha ne ismételje meg az eredeti POST kérést. |
Válasz404 · not_found | FeltételA Batch állapotlekérdezési művelete nem létezik, vagy más identitáshoz tartozik. | Következő lépésHasználja az eredeti id pontos értékét és ugyanazt a felhasználót/kulcsot/csoportot. |
Álnevek
Modell álnevei
Ailoot Ultra openai/o3:batch
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · OpenAI: o3 (batch)
- Milyen bemenetek és eredmények érhetők el?
POST /v1/batches·openai/o3:batch:text→text- Mely mezőket használja a kérés?
POST /v1/batches·openai/o3:batch:endpoint,model,requests,completion_window,provider- Milyen korlátok érvényesek?
POST /v1/batches·openai/o3:batch:requests.min_items:1