OpenAI: GPT-4.1 (batch)
OpenAI GPT-4.1 er en modell uten eget resonneringstrinn for presis instruksjonsfølging, programmering og verktøykall. Den tar imot tekst og bilder og returnerer tekst, med et stort kontekstvindu, Structured Outputs og Predicted Outputs for å generere tekst eller kode som stort sett er uendret på nytt.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
GPT-4.1 er OpenAIs modell uten eget resonneringstrinn for instruksjonsfølging og verktøykall, med bred kunnskap på tvers av fagområder. Den tar imot tekst og bilder og returnerer tekst uten et særskilt resonneringstrinn. Den store konteksten gjør den nyttig når oppgaven er klart definert, men det relevante materialet strekker seg over omfattende dokumenter eller kode. Angi operasjonen du ønsker, kildematerialet den gjelder og formen på det endelige resultatet.
For dokumentbehandling skiller du instruksjonene fra materialet med overskrifter eller andre tydelige grenser. Merk dokumentene og bevar identifikatorene svaret må vise til. Definer feltene for uthenting, kriteriene for sammenligning eller målgruppen og lengden for en omskriving. Et eksempel på utdata kan være en tabell med krav og plasseringene deres i kilden, et sammendrag organisert etter et bestemt sett med spørsmål eller en strukturert post som skiller manglende opplysninger fra en uttrykkelig verdi.
For programmering oppgir du de relevante filene, den ønskede endringen og oppførselen som må bevares. Be om det faktiske produktet du trenger: en revidert funksjon, en fullstendig fil, foreslåtte verktøyargumenter eller en forklaring av den berørte logikken. Eksempler kan klargjøre en formateringsregel eller et grensetilfelle, men bør følge de samme kravene som den virkelige oppgaven. OpenAIs veiledning for instruksjoner legger vekt på direkte instruksjoner, roller, kildegrenser og representative eksempler fremfor å anta at en lang instruksjon automatisk er presis.
Den nøyaktige GPT-4.1-spesifikasjonen angir et kontekstvindu på 1047576 tokener, en maksimal utdatamengde på 32768 tokener og en kunnskapsgrense på 1. juni 2024. Den store inndatakonteksten innebærer ikke like stor utdatamengde, så en forespørsel om å skrive om omfattende materiale bør angi den nødvendige delen og det endelige produktet. Gi nok plass til svaret og oppgi oppdatert informasjon når oppgaven avhenger av fakta etter kunnskapsgrensen. GPT-4.1s dokumenterte modelltype er chat; innstillinger for resonneringsinnsats fra nyere resonneringsmodeller er ikke en del av denne profilen.
OpenAI dokumenterer grensesnittene Chat Completions, Responses, Assistants, Batch og finjustering for GPT-4.1. De oppførte funksjonene inkluderer strømming, Structured Outputs, funksjonskall, filopplasting, bildeinndata, nett- og filsøk, finjustering og hurtigbufring av instruksjoner. Verktøyene omfatter kodetolkning, bildegenerering og MCP-tilkoblinger samt søk og funksjoner. Modellens egne utdata er tekst, mens et verktøy kan returnere et separat produkt eller en observasjon. Definer formålet og argumentene for en applikasjonsoperasjon og bruk det faktiske returnerte resultatet; en modellgenerert forespørsel bekrefter ikke at en ekstern operasjon er fullført.
En særskilt funksjon er Predicted Outputs i OpenAIs Chat Completions-grensesnitt. Når mesteparten av et ønsket tekst- eller koderesultat allerede er kjent, kan det eksisterende innholdet oppgis som en prediksjon for å hjelpe med å generere hele resultatet på nytt med en liten endring. Du kan for eksempel gi en eksisterende fil og be om en snevert definert omdøping av en egenskap, samtidig som koden rundt bevares. Prediksjonen er forventet utdatainnhold, ikke en instruksjon eller en garanti for at uendrede deler fortsatt vil være korrekte. Undersøk det regenererte produktet mot den ønskede endringen og originalmaterialet.
Predicted Outputs har egne kompatibilitetsgrenser. OpenAI dokumenterer bruk med bare tekst, uten lydinndata eller lydutdata og uten funksjonskall i den forespørselen. De støtter ikke flere alternativer med n større enn 1, loggsannsynligheter, positive tilstedeværelses- eller frekvensstraffer eller parameteren max_completion_tokens. Hold denne arbeidsflyten for regenerering adskilt fra en oppgave som trenger verktøykall. Prediksjonsteksten kan samsvare med deler av utdataene, og produsenten rapporterer godtatte og avviste prediksjonstokener; en uegnet prediksjon kan delvis forbli ubrukt, så funksjonen garanterer ikke en bestemt hastighetsgevinst eller et bestemt resultat.
For vanlige oppgaver med instruksjonsfølging er et nyttig GPT-4.1-resultat et dokument eller kodeprodukt som følger en definert kontrakt, en uthenting med uttrykkelige felter eller en verktøyforespørsel der argumentene passer den oppgitte operasjonen. For en liten endring i en ellers stort sett uendret fil gir arbeidsflyten for predikerte utdata en mer spesifikk måte å forberede det forventede resultatet på. I begge tilfeller bevarer du kildematerialet som trengs for å kontrollere svaret og gjør tvetydighet tydelig. Modellens kontekstkapasitet og verktøy støtter arbeidsflyten; oppgavebeskrivelsen bestemmer fortsatt hva et fullstendig og brukbart svar inneholder.
Ailoot Ultra · Batchbehandling POST /v1/batches openai/gpt-4.1:batch
openai/gpt-4.1:batchStart
OpenAI GPT-4.1 er en modell uten eget resonneringstrinn for presis instruksjonsfølging, programmering og verktøykall. Den tar imot tekst og bilder og returnerer tekst, med et stort kontekstvindu, Structured Outputs og Predicted Outputs for å generere tekst eller kode som stort sett er uendret på nytt.
- Godkjente inndata
- Tekst
- Resultater
- Tekst
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Batchbehandling POST /v1/batches
- Inndatatyper
text- Utdatatyper
text- Utdataformat
- JSON fra results[].response.body direkte i svaret
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltendpoint | Typestring | KravPåkrevd | Verdier & grenser /v1/chat/completions | Standard— |
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser openai/gpt-4.1:batch | Standard— |
Feltrequests | Typebatch_item[] | KravPåkrevd | Verdier & grenser Minste antall elementer: 1 | Standard— |
Feltrequests[].custom_id | Typestring | KravPåkrevd | Verdier & grenser | Standard— |
Feltrequests[].body.messages | Typemessage[] | KravPåkrevd | Verdier & grenser | Standard— |
Feltcompletion_window | Typestring | KravValgfritt | Verdier & grenser 24h | Standard— |
Feltprovider | Typeobject|null | KravValgfritt | Verdier & grenser | Standard— |
Feltrequests[].body.model | Typestring | KravValgfritt | Verdier & grenser openai/gpt-4.1:batch, openai/gpt-4.1 | Standard— |
Feltprovider.only | Typestring[] | KravValgfritt | Verdier & grenser openai | Standard— |
Feltprovider.allow_fallbacks | Typeboolean|null | KravValgfritt | Verdier & grenser false, null | Standard— |
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtaleendpoint, model, requests |
Parametermaterial_types | Avtaletext |
Parameterrepresentation | Avtalerequests[] direkte i forespørselen; hvert element har custom_id og body |
Parameterrequest_endpoint_profile | Avtale/v1/chat/completions |
Parameterfile_material | AvtaleKlienten kan lese det faktiske UTF-8-kodede JSONL-innholdet lokalt inn i requests[]. Feltet purpose for opplasting, input_file_id og filreferanser brukes ikke. Manglende eller tomt kundemateriale stopper klargjøringen før POST. |
Parameterserialization_order | Avtaleendpoint, model, provider (hvis angitt), completion_window (hvis angitt), requests til slutt |
Parameteroptional_controls | Avtaleprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | AvtaleForespørselsinnhold for tekstbasert Chat Completions lagt direkte inn i det dokumenterte Batch-formatet. |
Livssyklus: asynchronous
GET /v1/batches/{operation_id} · faktisk response.id fra den opprinnelige opprettelsen; samme bruker/nøkkel/gruppe
Priser
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
- Priser for eksplisitt mellomlagring
- Ikke aktivert Når eksplisitt mellomlagring forespørres
Ailoot-satser
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Konteksttokener, mer enn | Konteksttokener, opptil og med | Kostnad |
|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Konteksttokener, mer enn— | Konteksttokener, opptil og medIngen øvre grense | Kostnad Inndata · Inngående tokener $0.002 / 1K tokener Utdata · Utgående tokener $0.008 / 1K tokener Inndata · Lesing fra hurtigbuffer $0.0005 / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
| KonfigurasjonNivå 1 for forespørselslengde | Prisplan— | Konteksttokener, mer enn0 | Konteksttokener, opptil og medIngen øvre grense | Kostnad Inndata · Inngående tokener $0.002 / 1K tokener Utdata · Utgående tokener $0.008 / 1K tokener Inndata · Lesing fra hurtigbuffer $0.0005 / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
Ailoot Ultra · Batchbehandling
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.
Motta og lagre resultater
Ailoot Ultra · Batchbehandling
JSON fra results[].response.body direkte i svaret
GET /v1/batches/{operation_id}
Kontroller jobbstatus
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
Behold alle ferdige resultater
Behold alle fullstendige returnerte svar, filer og innholdsdeler.
Bevar hele den opprinnelige statusresponsen i JSON, alle resultater og custom_id-verdier samt hele svar- eller feilinnholdet. Lagre fullførte results[] som JSONL uten filtrering.
Hvis det opprinnelige svaret må kontrolleres
Bevar den opprinnelige operasjons-ID-en. 503 result_pending_check har X-Should-Retry:false; send aldri den opprinnelige batchen på nytt når utfallet er ukjent.
Svarfelter
| Felt | Type |
|---|---|
Feltresults[].custom_id | Typestring |
Feltresults[].response.body.choices[].message.content | Typestring|null |
Feltresults[].error | Typeobject|null |
Feltusage | Typeobject|null |
Feltid | Typestring |
Feltmodel | Typestring |
Feltendpoint | Typestring |
Feltstatus | Typestring |
Feltrequest_counts | Typeobject |
Feltresults[].id | Typestring |
Feltresults[].response.status_code | Typeinteger |
Feltresults[].response.request_id | Typestring |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldig struktur i det dokumenterte formatet med innebygde forespørsler, dupliserte nøkler, ugyldig elementidentitet eller konflikt med modellens konfigurerte funksjoner. | Neste trinnRett de angitte feltene før du sender en ny forespørsel. |
Svar401 · authentication_error | VilkårUgyldig API-nøkkel. | Neste trinnBruk den autoriserte Ailoot-nøkkelen. |
Svar403 · permission_error | VilkårGruppen for batchbehandling er ikke tilgjengelig. | Neste trinnKontroller tilgangsrettighetene til nøkkelen/gruppen. |
Svar422 · invalid_request_error | VilkårBatch belastes saldoen; opprettelse via abonnement avvises. | Neste trinnBruk den autoriserte gruppen som belastes saldoen. |
Svar422 · price_unavailable | VilkårDet kan ikke beregnes en pris for batchens inndata. | Neste trinnBevar svaret; bruk de dokumenterte inndataene for API-familien. |
Svar402 · billing_error | VilkårBeløpsreservasjon for batchbehandling er ikke tilgjengelig. | Neste trinnLøs problemet som hindrer forespørselen i å bli godkjent før du sender en ny forespørsel. |
Svar503 · price_unavailable | VilkårPris for Batch-metoden eller systemets innebygde satser er ikke tilgjengelige. | Neste trinnBevar svaret; ikke erstatt prisene. |
Svar503 · api_error | VilkårDen nøyaktige leverandørruten er ikke tilgjengelig. | Neste trinnBevar svaret slik at ruten kan repareres. |
Svar503 · result_pending_check | VilkårDet opprinnelige resultatet må kontrolleres; X-Should-Retry:false. | Neste trinnBevar opprinnelig operation_id/id og les statusen; gjenta aldri den opprinnelige POST-forespørselen. |
Svar404 · not_found | VilkårStatusoperasjonen for batchen finnes ikke eller tilhører en annen identitet. | Neste trinnBruk nøyaktig den opprinnelige id-verdien og samme bruker/nøkkel/gruppe. |
Aliaser
Modellaliaser
Ailoot Ultra openai/gpt-4.1:batch
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · OpenAI: GPT-4.1 (batch)
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/batches·openai/gpt-4.1:batch:text→text- Hvilke felt bruker forespørselen?
POST /v1/batches·openai/gpt-4.1:batch:endpoint,model,requests,completion_window,provider- Hvilke grenser gjelder?
POST /v1/batches·openai/gpt-4.1:batch:requests.min_items:1