OpenAI: GPT-4.1 (batch)
OpenAI GPT-4.1 yra modelis be atskiro samprotavimo etapo, skirtas tiksliam instrukcijų laikymuisi, programavimui ir įrankių iškvietimui. Priima tekstą bei vaizdus ir grąžina tekstą; turi didelį konteksto langą, Structured Outputs ir Predicted Outputs daugiausia nepakitusiam tekstui ar kodui generuoti iš naujo.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
GPT-4.1 yra OpenAI modelis be atskiro samprotavimo etapo, skirtas instrukcijų laikymuisi ir įrankių iškvietimui, turintis plačių įvairių sričių žinių. Priima tekstą bei vaizdus ir grąžina tekstą be specialaus samprotavimo žingsnio. Didelis kontekstas naudingas, kai užduotis aiškiai apibrėžta, tačiau aktuali medžiaga apima didelius dokumentus ar kodą. Nurodykite norimą operaciją, pradinę medžiagą, kuriai ji taikoma, ir galutinio rezultato formą.
Apdorodami dokumentus antraštėmis ar kitomis aiškiomis ribomis atskirkite instrukcijas nuo medžiagos. Pažymėkite dokumentus ir išsaugokite identifikatorius, kuriuos atsakyme reikia nurodyti. Apibrėžkite išgaunamus laukus, palyginimo kriterijus arba perrašymo auditoriją ir ilgį. Pavyzdinė išvestis gali būti reikalavimų lentelė su jų vietomis šaltinyje, pagal nurodytus klausimus sutvarkyta santrauka ar struktūruotas įrašas, atskiriantis trūkstamą informaciją nuo aiškios reikšmės.
Programavimui pateikite aktualius failus, prašomą pakeitimą ir veikimą, kuris turi išlikti nepakitęs. Paprašykite tikro reikalingo artefakto: pataisytos funkcijos, viso failo, siūlomų įrankio argumentų ar susijusios logikos paaiškinimo. Pavyzdžiai gali išaiškinti formatavimo taisyklę ar ribinį atvejį, tačiau jiems turi būti taikomi tie patys reikalavimai kaip tikrajai užduočiai. OpenAI užklausų gairėse pabrėžiamos tiesioginės instrukcijos, vaidmenys, šaltinių ribos ir būdingi pavyzdžiai, užuot manyta, kad ilga užklausa savaime tiksli.
Konkrečioje GPT-4.1 specifikacijoje nurodytas 1 047 576 žetonų konteksto langas, didžiausia 32 768 žetonų išvestis ir žinių riba — 2024 m. birželio 1 d. Didelis įvesties kontekstas nereiškia tokios pat didelės išvesties, todėl prašant perrašyti plačią medžiagą reikia nurodyti reikiamą dalį ir galutinį artefaktą. Palikite pakankamai vietos atsakymui ir pateikite aktualią informaciją, kai užduotis priklauso nuo faktų po žinių ribos. Dokumentuotas GPT-4.1 modelio tipas yra chat; naujesnių samprotavimo modelių samprotavimo pastangų nustatymai nėra šio profilio dalis.
OpenAI GPT-4.1 modeliui dokumentuoja Chat Completions, Responses, Assistants, Batch ir papildomo mokymo sąsajas. Išvardytos galimybės apima srautinį perdavimą, Structured Outputs, funkcijų iškvietimą, failų įkėlimą, vaizdų įvestį, paiešką internete ir failuose, papildomą mokymą ir užklausų podėlį. Be paieškos ir funkcijų, įrankiai apima kodo vykdymą, vaizdų generavimą ir MCP jungtis. Paties modelio išvestis yra tekstas, o įrankis gali grąžinti atskirą artefaktą ar stebėjimą. Apibrėžkite programos operacijos paskirtį ir argumentus bei naudokite jos tikrą grąžintą rezultatą; modelio sugeneruota užklausa nepatvirtina, kad išorinė operacija atlikta.
Išskirtinė galimybė yra Predicted Outputs OpenAI Chat Completions sąsajoje. Kai didžioji pageidaujamo tekstinio ar kodo rezultato dalis jau žinoma, esamą turinį galima pateikti kaip prognozę, padedančią iš naujo sugeneruoti visą rezultatą su nedideliu pakeitimu. Pavyzdžiui, pateikite dabartinį failą ir paprašykite siaurai apibrėžto savybės pervadinimo, išsaugant aplinkinį kodą. Prognozė yra numatomas išvesties turinys, o ne instrukcija ar garantija, kad nepakitusios dalys išliks teisingos. Sugeneruotą artefaktą patikrinkite pagal prašomą pakeitimą ir pradinę medžiagą.
Predicted Outputs turi atskiras suderinamumo ribas. OpenAI dokumentuoja naudojimą tik tekstui, be garso įvesties ar išvesties ir be funkcijų iškvietimo toje užklausoje. Nepalaikomi keli pasirinkimai, kai n didesnis nei 1, logaritminės tikimybės, teigiamos presence ar frequency baudos ir parametras max_completion_tokens. Šį generavimo iš naujo procesą laikykite atskirai nuo užduoties, kuriai reikia įrankių iškvietimų. Prognozės tekstas gali atitikti išvesties dalis, o gamintojas pateikia priimtų ir atmestų prognozės žetonų duomenis; netinkama prognozė gali būti iš dalies nepanaudota, todėl galimybė negarantuoja konkretaus pagreitėjimo ar rezultato.
Įprastoms instrukcijų laikymosi užduotims naudingas GPT-4.1 rezultatas yra dokumentas ar kodo artefaktas, atitinkantis apibrėžtą sutartį, duomenų išgavimas su aiškiais laukais arba įrankio užklausa, kurios argumentai atitinka pateiktą operaciją. Nedideliam daugiausia nepakitusio failo pakeitimui prognozuojamos išvesties procesas suteikia konkretesnį būdą paruošti numatomą rezultatą. Abiem atvejais išsaugokite atsakymui patikrinti reikalingą pradinę medžiagą ir aiškiai įvardykite dviprasmybes. Modelio konteksto talpa ir įrankiai palaiko procesą, tačiau užduoties aprašas vis tiek lemia, kas sudaro užbaigtą, naudojimui tinkamą atsakymą.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches openai/gpt-4.1:batch
openai/gpt-4.1:batchPradžia
OpenAI GPT-4.1 yra modelis be atskiro samprotavimo etapo, skirtas tiksliam instrukcijų laikymuisi, programavimui ir įrankių iškvietimui. Priima tekstą bei vaizdus ir grąžina tekstą; turi didelį konteksto langą, Structured Outputs ir Predicted Outputs daugiausia nepakitusiam tekstui ar kodui generuoti iš naujo.
- 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-4.1: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-4.1:batch, openai/gpt-4.1 | 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.002 / 1K tokenų Išvestis · Išvesties tokenai $0.008 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 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.002 / 1K tokenų Išvestis · Išvesties tokenai $0.008 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0005 / 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-4.1: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-4.1:batch', 'openai/gpt-4.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4.1: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-4.1:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · OpenAI: GPT-4.1 (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·openai/gpt-4.1:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·openai/gpt-4.1:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·openai/gpt-4.1:batch:requests.min_items:1