OpenAI: GPT-4o-mini (batch)
GPT-4o Mini atlieka konkrečias teksto ir vaizdų užduotis, įskaitant duomenų išgavimą iš dokumentų, glaustus atsakymus ir programos įrankių iškvietimus. Jo 128 000 žetonų kontekstas ir Structured Outputs palaiko kartojamus darbo procesus su aiškiai apibrėžtu rezultatu.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
GPT-4o Mini yra mažas OpenAI GPT-4o šeimos modelis, skirtas konkrečioms užduotims. Priima tekstą bei vaizdus ir generuoja tekstą, įskaitant Structured Outputs. Jo vaidmuo naudingas, kai programai reikia glausto atsakymo į tiksliai apibrėžtą užklausą: išgauti laukus, parengti atsakymą pagal pateiktą informacinę medžiagą ar atlikti ribotą žingsnį didesniame procese.
Atsakymui į pagalbos užklausą pateikite gautą pranešimą, aktualias taisyklių ištraukas ir pokalbyje jau nustatytus faktus. Paprašykite trumpo siūlomo atsakymo ir įvardykite informaciją, kurios dar reikia iš siuntėjo. Išgaudami duomenis iš dokumentų apibrėžkite laukus, paaiškinkite, kaip tvarkyti trūkstamas reikšmes, ir išsaugokite žymą, susiejančią kiekvieną rezultatą su šaltiniu. Tas pats metodas gali pateikti klasifikaciją, suredaguotą ištrauką ar nedidelio kodo pakeitimo paaiškinimą, nelaikant modelio aplinkinės programos logikos pakaitalu.
Gamintojas nurodo 128 000 žetonų konteksto langą, didžiausią 16 384 žetonų išvestį ir žinių ribą — 2023 m. spalio 1 d. Pradinė medžiaga, pokalbis ir sugeneruota išvestis kartu užima šį kontekstą. Išlaikykite matomus svarbius ankstesnius faktus ir nurodykite reikalingą galutinį artefaktą. GPT-4o Mini yra atskiras mažas modelis, o ne pilno GPT-4o išvesties ilgio režimas; užduotis turi remtis jo paties tapatybe ir galimybėmis net tada, kai abiejų modelių specifikacijos sutampa.
Vaizduose gali būti ekrano kopija, dokumento puslapis, nuotrauka ar diagrama. OpenAI vaizdų supratimo procesas priima PNG, JPEG, WebP ir neanimuotus GIF, o šiai šeimai taikomi low, high arba auto detalumo nustatymai. Didesnis detalumas remiasi gamintojo vaizdo apdorojimu dalimis. Svarbias etiketes laikykite įskaitomas ir nepasuktas bei paaiškinkite, kuri vaizdo dalis turi lemti atsakymą. Tikslūs erdviniai ryšiai, tikslus objektų skaičius, neįprastos vaizdų projekcijos ir kai kurių ne lotynų rašto sistemų tekstas yra dokumentuoti sunkumai. Konkretus klausimas leidžia lengviau palyginti atsakymą apie vaizdą su pradiniais duomenimis. Dokumentuotame OpenAI vaizdų supratimo procese bendras užklausos duomenų dydis ribojamas 512 MB, o vienoje užklausoje gali būti iki 1 500 vaizdų; vaizdai ir tekstas taip pat turi tilpti į modelio kontekstą.
Gamintojo failų procesas vaizdus suprantantiems modeliams perduoda iš PDF išgautą tekstą ir puslapių vaizdus. Kiti biuro ir tekstiniai failai pateikia išgautą tekstą, todėl juose esantiems vaizdams ir diagramoms reikia PDF pateikimo, kai šie vaizdiniai elementai svarbūs. Skaičiuoklių duomenys papildomi iš ne daugiau kaip pirmųjų 1 000 kiekvieno lapo eilučių. Kiekvienas failas turi būti mažesnis nei 50 MB, o bendra užklausos failų riba yra 50 MB. Chat Completions priima PDF failų dalis; dokumentuotas Responses procesas priima daugiau failų formatų. Duomenims išgauti naudojamoje medžiagoje išsaugokite puslapių, eilučių ar skyrių identifikatorius.
Srautinis perdavimas grąžina tekstą dalimis. Structured Outputs apriboja užbaigtą atsakymą palaikomu JSON Schema poaibiu, o JSON režimo užklausa užtikrina tik galiojantį JSON. Įvardykite privalomus laukus ir leidžiamas reikšmes, įskaitant aiškų trūkstamų patvirtinančių duomenų pateikimą. Programos turi atskirai tvarkyti atsisakymus ir neužbaigtus atsakymus. Schema gali padaryti artefaktą tinkamą kitam etapui, tačiau reikšmės vis tiek turi atspindėti tikrą šaltinį, o ne išgalvotą tuščio lauko užpildymą.
GPT-4o Mini palaiko funkcijų iškvietimą ir gamintojo įrankiais grįstus procesus su paieška internete, paieška failuose, kodo vykdymu bei MCP jungtimis. Aprašykite prieinamą funkciją, leiskite programai įvykdyti prašomą operaciją ir grąžinti jos stebėjimą prieš modeliui rengiant tolesnį atsakymą. OpenAI taip pat palaiko atskirą vaizdų generavimo įrankį sukonfigūruotame Responses procese. Šio įrankio sukurti vaizdai yra atskiri artefaktai; paties modelio dokumentuota išvestis lieka tekstas. Paieška ir įrankių naudojimas yra konfigūruojamos veiklos, o ne įrodymas, kad kiekviename atsakyme patikrinta aktuali informacija.
Predicted Outputs palaiko daugiausia žinomo dokumento ar kodo failo generavimą iš naujo su nedideliu pakeitimu. Pateikite ankstesnį turinį ir tikslų pakeitimą, tada gautą artefaktą palyginkite su užklausa. Prognozavimo kelias palaiko tik tekstą ir nesuderinamas su funkcijų iškvietimu; logprobs, max_completion_tokens ir keli kiti valdikliai taip pat nepalaikomi. Įprasta užklausa su įrankiais yra kitas kelias, kai atsakymui reikia naujos paieškos ar skaičiavimo.
OpenAI dokumentuoja šio modelio papildomą mokymą ir aprašo didesnio modelio išvesčių naudojimą mažesniam GPT-4o Mini modeliui išmokyti specializuotos užduoties. Šis distiliavimo procesas sukuria pritaikytą modelį; jis nekeičia įprasto Mini atsakymo tapatybės. Įprastoje užklausoje užduotį ir išvesties formatą nustatykite aiškiais pavyzdžiais, tada konkrečiu tolesniu nurodymu patobulinkite tą patį rezultatą. Naudingas galutinis artefaktas išlieka susijęs su šaltinio faktais, numatomu skaitytoju ir jį naudojančiu programos žingsniu.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches openai/gpt-4o-mini:batch
openai/gpt-4o-mini:batchPradžia
GPT-4o Mini atlieka konkrečias teksto ir vaizdų užduotis, įskaitant duomenų išgavimą iš dokumentų, glaustus atsakymus ir programos įrankių iškvietimus. Jo 128 000 žetonų kontekstas ir Structured Outputs palaiko kartojamus darbo procesus su aiškiai apibrėžtu rezultatu.
- 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/gpt-4o-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/gpt-4o-mini:batch, openai/gpt-4o-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.00015 / 1K tokenų Išvestis · Išvesties tokenai $0.0006 / 1K tokenų Įvestis · Talpyklos skaitymas $0.000075 / 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.00015 / 1K tokenų Išvestis · Išvesties tokenai $0.0006 / 1K tokenų Įvestis · Talpyklos skaitymas $0.000075 / 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/gpt-4o-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/gpt-4o-mini:batch', 'openai/gpt-4o-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o-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/gpt-4o-mini:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · OpenAI: GPT-4o-mini (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·openai/gpt-4o-mini:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·openai/gpt-4o-mini:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·openai/gpt-4o-mini:batch:requests.min_items:1