OpenAI: GPT-4.1 (batch)
OpenAI GPT-4.1 je model brez ločenega sklepanja za natančno sledenje navodilom, programiranje in klicanje orodij. Sprejema besedilo in slike ter vrača besedilo z velikim kontekstnim oknom, Structured Outputs in Predicted Outputs za ponovno ustvarjanje pretežno nespremenjenega besedila ali kode.
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
GPT-4.1 je model OpenAI brez ločenega sklepanja za sledenje navodilom in klicanje orodij s širokim znanjem na različnih področjih. Sprejema besedilo in slike ter vrača besedilo brez namenskega koraka sklepanja. Njegov velik kontekst je uporaben, kadar je naloga jasno določena, ustrezno gradivo pa zajema obsežne dokumente ali kodo. Navedite želeno operacijo, izvorno gradivo, na katero se nanaša, in obliko končnega rezultata.
Pri obdelavi dokumentov navodila ločite od gradiva z naslovi ali drugimi jasnimi mejami. Dokumente označite in ohranite identifikatorje, na katere se mora odgovor sklicevati. Določite polja za izluščanje, merila primerjave ali občinstvo in dolžino preoblikovanega besedila. Primer izhoda je lahko tabela zahtev z njihovimi mesti v virih, povzetek, urejen po določenem naboru vprašanj, ali strukturiran zapis, ki loči manjkajoče informacije od izrecne vrednosti.
Pri programiranju predložite ustrezne datoteke, zahtevano spremembo in vedenje, ki mora ostati nedotaknjeno. Zahtevajte dejanski izdelek, ki ga potrebujete: popravljeno funkcijo, celotno datoteko, predlagane argumente orodja ali razlago zadevne logike. Primeri lahko razjasnijo pravilo oblikovanja ali robni primer, vendar morajo slediti istim zahtevam kot resnična naloga. Smernice OpenAI za pozive poudarjajo neposredna navodila, vloge, meje virov in reprezentativne primere, namesto predpostavke, da je dolg poziv samodejno natančen.
Točna specifikacija GPT-4.1 navaja kontekstno okno 1047576 tokenov, največji izhod 32768 tokenov in mejo znanja 1. junija 2024. Velik vhodni kontekst ne pomeni enako velikega izhoda, zato mora zahteva za preoblikovanje obsežnega gradiva določiti potrebni del in končni izdelek. Pustite dovolj prostora za odgovor in predložite aktualne informacije, kadar je naloga odvisna od dejstev po meji znanja. Dokumentirani tip modela GPT-4.1 je chat; nastavitve napora pri sklepanju novejših modelov za sklepanje niso del tega profila.
OpenAI za GPT-4.1 dokumentira vmesnike Chat Completions, Responses, Assistants, Batch in dodatno učenje. Navedene funkcije vključujejo pretočno podajanje, Structured Outputs, klicanje funkcij, nalaganje datotek, vhodne slike, spletno iskanje in iskanje po datotekah, dodatno učenje in predpomnjenje pozivov. Njegova orodja poleg iskanja in funkcij vključujejo izvajanje kode z interpreterjem, ustvarjanje slik in povezave MCP. Lastni izhod modela je besedilo, orodje pa lahko vrne ločen izdelek ali opažanje. Določite namen in argumente operacije aplikacije ter uporabite njen dejanski vrnjeni rezultat; zahteva, ki jo ustvari model, ni potrditev dokončane zunanje operacije.
Posebna funkcija je Predicted Outputs v vmesniku Chat Completions podjetja OpenAI. Kadar je večina želenega besedilnega rezultata ali kode že znana, je mogoče obstoječo vsebino predložiti kot predikcijo za ponovno ustvarjanje celotnega rezultata z majhno spremembo. Na primer predložite trenutno datoteko in zahtevajte ozko določeno preimenovanje lastnosti ob ohranitvi okoliške kode. Predikcija je pričakovana izhodna vsebina, ne navodilo ali jamstvo, da bodo nespremenjeni deli ostali pravilni. Ponovno ustvarjeni izdelek preverite glede na zahtevano spremembo in izvirno gradivo.
Predicted Outputs ima lastne omejitve združljivosti. OpenAI dokumentira izključno besedilno uporabo brez zvočnih vhodov ali izhodov in brez klicanja funkcij v tej zahtevi. Ne podpira več izbir z vrednostjo n, večjo od 1, logaritmičnih verjetnosti, pozitivnih kazni za prisotnost ali pogostost ali parametra max_completion_tokens. Ta potek ponovnega ustvarjanja ločite od naloge, ki potrebuje klice orodij. Besedilo predikcije se lahko ujema z deli izhoda, proizvajalec pa poroča o sprejetih in zavrnjenih tokenih predikcije; neustrezna predikcija lahko ostane deloma neuporabljena, zato funkcija ne zagotavlja določenega pospeška ali rezultata.
Pri običajnih nalogah sledenja navodilom je uporaben rezultat GPT-4.1 dokument ali izdelek s kodo po določenih zahtevah, izluščanje z izrecnimi polji ali zahteva za orodje z argumenti, ki ustrezajo predloženi operaciji. Pri majhni spremembi pretežno nespremenjene datoteke potek predvidenega izhoda ponuja natančnejši način priprave pričakovanega rezultata. V obeh primerih ohranite izvorno gradivo, potrebno za preverjanje odgovora, in izrecno navedite dvoumnost. Kontekstna zmogljivost in orodja modela podpirajo potek dela; opis naloge še vedno določa, kaj vsebuje celoten uporaben odgovor.
Ailoot Ultra · Paketna obdelava POST /v1/batches openai/gpt-4.1:batch
openai/gpt-4.1:batchZačetek
OpenAI GPT-4.1 je model brez ločenega sklepanja za natančno sledenje navodilom, programiranje in klicanje orodij. Sprejema besedilo in slike ter vrača besedilo z velikim kontekstnim oknom, Structured Outputs in Predicted Outputs za ponovno ustvarjanje pretežno nespremenjenega besedila ali kode.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Paketna obdelava POST /v1/batches
- Vhod
text- Izhod
text- Izhodni format
- Neposredno vključeni podatki JSON v results[].response.body
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljeendpoint | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve /v1/chat/completions | Privzeto— |
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-4.1:batch | Privzeto— |
Poljerequests | Vrstabatch_item[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljerequests[].custom_id | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljerequests[].body.messages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljecompletion_window | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve 24h | Privzeto— |
Poljeprovider | Vrstaobject|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljerequests[].body.model | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve openai/gpt-4.1:batch, openai/gpt-4.1 | Privzeto— |
Poljeprovider.only | Vrstastring[] | ZahtevaIzbirno | Vrednosti in omejitve openai | Privzeto— |
Poljeprovider.allow_fallbacks | Vrstaboolean|null | ZahtevaIzbirno | Vrednosti in omejitve false, null | Privzeto— |
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijaendpoint, model, requests |
Parametermaterial_types | Specifikacijatext |
Parameterrepresentation | SpecifikacijaNeposredno vključene zahteve v requests[]; vsak element ima custom_id in body |
Parameterrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parameterfile_material | SpecifikacijaKlicatelj lahko dejansko datoteko JSONL v kodiranju UTF-8 lokalno prebere v requests[]. Namen nalaganja, input_file_id ali sklic na datoteko se ne uporablja. Če gradivo stranke manjka ali je prazno, se priprava ustavi pred POST. |
Parameterserialization_order | Specifikacijaendpoint, model, provider (če je podan), completion_window (če je podan), requests na koncu |
Parameteroptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | SpecifikacijaTelesa besedilnih zahtev Chat Completions v dokumentiranem ovoju za paketno obdelavo, ki zahteve vsebuje neposredno. |
Življenjski cikel: asynchronous
GET /v1/batches/{operation_id} · Dejanski response.id iz izvirnega odgovora na zahtevo za ustvarjanje; isti uporabnik, isti ključ in ista skupina
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Ni navedeno Ko je izbran hitri način
- Način flex
- Ni navedeno Ko je izbran način flex
- Najvišja raven razmišljanja
- Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.002 / 1K žetonov Izhod · Izhodni žetoni $0.008 / 1K žetonov Vhod · Branje predpomnilnika $0.0005 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.002 / 1K žetonov Izhod · Izhodni žetoni $0.008 / 1K žetonov Vhod · Branje predpomnilnika $0.0005 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Paketna obdelava
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.
Prejmi in shrani rezultate
Ailoot Ultra · Paketna obdelava
Neposredno vključeni podatki JSON v results[].response.body
GET /v1/batches/{operation_id}
Preveri stanje opravila
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
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Shranite celoten izvirni JSON s stanjem, vsak rezultat/custom_id in celotno telo odgovora ali napake. Dokončane rezultate iz results[] shranite kot JSONL brez filtriranja.
Če je treba preveriti izvirni odgovor
Shranite izvirni ID operacije. Odgovor 503 result_pending_check vsebuje X-Should-Retry:false; izvirnega paketa z neznanim izidom nikoli ne pošiljajte znova.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeresults[].custom_id | Vrstastring |
Poljeresults[].response.body.choices[].message.content | Vrstastring|null |
Poljeresults[].error | Vrstaobject|null |
Poljeusage | Vrstaobject|null |
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljeendpoint | Vrstastring |
Poljestatus | Vrstastring |
Poljerequest_counts | Vrstaobject |
Poljeresults[].id | Vrstastring |
Poljeresults[].response.status_code | Vrstainteger |
Poljeresults[].response.request_id | Vrstastring |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljaven dokumentirani ovoj z neposredno vključenimi zahtevami, podvojeni ključi, neveljavna identiteta elementa ali neskladje z nastavljenimi zmogljivostmi modela. | Naslednji korakPred vsakim novim pošiljanjem popravite navedena polja. |
Odgovor401 · authentication_error | PogojNeveljaven ključ API. | Naslednji korakUporabite odobreni ključ Ailoot. |
Odgovor403 · permission_error | PogojSkupina za paketno obdelavo ni na voljo. | Naslednji korakPreverite pravice ključa/skupine. |
Odgovor422 · invalid_request_error | PogojPaketna obdelava uporablja obračunavanje iz dobroimetja; ustvarjanje v okviru naročnine se zavrne. | Naslednji korakUporabite odobreno skupino z obračunavanjem iz dobroimetja. |
Odgovor422 · price_unavailable | PogojZa vhodne podatke paketa ni mogoče izračunati predračuna. | Naslednji korakShranite odgovor; uporabite dokumentirani vhod za to družino metod. |
Odgovor402 · billing_error | PogojRezervacija sredstev za paketno obdelavo ni na voljo. | Naslednji korakPred novo zahtevo uredite pogoje za njen sprejem. |
Odgovor503 · price_unavailable | PogojCena metode paketne obdelave oziroma izvorne tarife niso na voljo. | Naslednji korakShranite odgovor; cen ne nadomeščajte z drugimi. |
Odgovor503 · api_error | PogojTočno določena pot do dobavitelja ni na voljo. | Naslednji korakShranite odgovor za odpravo napake v usmerjanju. |
Odgovor503 · result_pending_check | PogojIzvirni rezultat je treba preveriti; X-Should-Retry:false. | Naslednji korakShranite izvirni operation_id/id in preberite njegovo stanje; izvirnega POST nikoli ne ponovite. |
Odgovor404 · not_found | PogojOperacija za preverjanje stanja paketa ne obstaja ali pripada drugi identiteti. | Naslednji korakUporabite natančen izvirni id ter istega uporabnika, isti ključ in isto skupino. |
Druga imena
Druga imena modelov
Ailoot Ultra openai/gpt-4.1:batch
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
FAQ · OpenAI: GPT-4.1 (batch)
- Kateri vhodi in rezultati so na voljo?
POST /v1/batches·openai/gpt-4.1:batch:text→text- Katera polja uporablja zahteva?
POST /v1/batches·openai/gpt-4.1:batch:endpoint,model,requests,completion_window,provider- Katere omejitve veljajo?
POST /v1/batches·openai/gpt-4.1:batch:requests.min_items:1