OpenAI: GPT-4o-mini (batch)
GPT-4o Mini gestisce attività mirate con testo e immagini, comprese estrazione da documenti, risposte concise e chiamate agli strumenti dell’applicazione. Il contesto di 128 000 token e Structured Outputs supportano processi ripetibili con un risultato chiaramente definito.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
GPT-4o Mini è il modello piccolo di OpenAI della famiglia GPT-4o per il lavoro mirato. Accetta testo e immagini e produce testo, compresi Structured Outputs. Il suo ruolo è utile quando un’applicazione richiede una risposta concisa a una richiesta ben specificata: estrarre campi, sviluppare una risposta dal materiale di riferimento fornito o svolgere un passaggio delimitato in un processo più ampio.
Per una risposta di assistenza, fornite il messaggio ricevuto, i passaggi pertinenti delle regole applicabili e i fatti già accertati nella conversazione. Chiedete una risposta proposta breve e individuate le informazioni ancora necessarie dal mittente. Per l’estrazione da documenti, definite i campi, spiegate come gestire i valori mancanti e conservate un’etichetta che colleghi ogni risultato alla fonte. Lo stesso approccio può produrre una classificazione, un passaggio modificato o una spiegazione di una piccola modifica al codice, senza trattare il modello come un sostituto della logica circostante dell’applicazione.
Il produttore indica una finestra di contesto di 128 000 token, un output massimo di 16 384 token e conoscenze aggiornate al 1 ottobre 2023. Materiale di origine, conversazione e output generato occupano insieme quel contesto. Mantenete visibili i fatti precedenti significativi e indicate il risultato finale richiesto. GPT-4o Mini è un modello piccolo distinto, non una modalità di lunghezza dell’output di GPT-4o completo; la sua identità e le sue capacità devono guidare l’attività anche dove i due modelli condividono specifiche.
Le immagini possono fornire una schermata, una pagina di documento, una fotografia o uno schema. Il processo di visione di OpenAI accetta PNG, JPEG, WebP e GIF non animate, con dettaglio low, high o auto per questa famiglia. Un dettaglio maggiore segue l’elaborazione per riquadri del produttore. Mantenete le etichette importanti leggibili e orientate correttamente e spiegate quale parte dell’immagine deve contribuire alla risposta. Relazioni spaziali fini, conteggi esatti degli oggetti, proiezioni insolite delle immagini e alcuni testi non latini sono difficoltà documentate. Una domanda mirata rende una risposta visiva più facile da confrontare con gli elementi originali. Nel processo di visione documentato di OpenAI, il contenuto complessivo della richiesta è limitato a 512 MB e una richiesta può includere fino a 1 500 immagini; anche immagini e testo devono rientrare nel contesto del modello.
Il processo del produttore per i file trasmette testo estratto e immagini delle pagine dei PDF ai modelli capaci di visione. Altri file da ufficio e di testo contribuiscono con testo estratto, per cui le loro immagini e i grafici incorporati richiedono una rappresentazione PDF quando quegli elementi visivi sono importanti. L’integrazione dei fogli di calcolo usa fino alle prime 1 000 righe per foglio. Ogni file deve essere inferiore a 50 MB, con un limite complessivo di 50 MB per richiesta. Chat Completions accetta parti di file PDF; il processo Responses documentato accetta un insieme più ampio di formati di file. Conservate gli identificatori di pagina, riga o sezione nel materiale usato per l’estrazione.
Lo streaming restituisce il testo in modo incrementale. Structured Outputs vincola una risposta completata al sottoinsieme supportato di JSON Schema, mentre una richiesta di modalità JSON garantisce soltanto JSON valido. Indicate i campi richiesti e i valori ammessi, compresa una rappresentazione esplicita degli elementi mancanti. Le applicazioni devono gestire separatamente rifiuti e risposte incomplete. Uno schema può rendere il risultato adatto alla fase successiva, ma i valori devono comunque riflettere la fonte effettiva, non un riempimento inventato di un campo vuoto.
GPT-4o Mini supporta chiamate di funzione e i processi del produttore orientati agli strumenti, con ricerca sul web, ricerca nei file, interpretazione del codice e connessioni MCP. Descrivete una funzione disponibile, lasciate che l’applicazione esegua l’operazione richiesta e restituisca la propria osservazione prima che il modello sviluppi una risposta successiva. OpenAI supporta anche uno strumento separato di generazione di immagini nel processo Responses configurato. Le immagini prodotte da quello strumento sono risultati distinti; l’output nativo documentato del modello resta testo. Ricerca e uso degli strumenti sono attività configurate, non la prova che ogni risposta abbia consultato informazioni attuali.
Predicted Outputs supporta la rigenerazione di un documento o file di codice in gran parte noto con una piccola modifica. Fornite il contenuto precedente e la modifica precisa, poi confrontate il risultato con quella richiesta. Il percorso di previsione supporta soltanto testo e non si combina con chiamate di funzione; sono esclusi anche logprobs, max_completion_tokens e diversi altri controlli. Una richiesta ordinaria che usa strumenti è un percorso diverso quando la risposta dipende da una ricerca o un calcolo recente.
OpenAI documenta il fine-tuning di questo modello e descrive l’uso degli output di un modello più grande per insegnare un’attività specializzata a un modello GPT-4o Mini più piccolo. Questo processo di distillazione produce un modello personalizzato; non cambia l’identità di una risposta Mini normale. Per una richiesta ordinaria, definite l’attività e il formato dell’output con esempi chiari, poi usate un messaggio successivo mirato per rivedere lo stesso risultato. Un risultato finale utile resta collegato ai fatti di origine, al lettore previsto e alla fase applicativa che lo utilizza.
Ailoot Ultra · Batch POST /v1/batches openai/gpt-4o-mini:batch
openai/gpt-4o-mini:batchIntroduzione
GPT-4o Mini gestisce attività mirate con testo e immagini, comprese estrazione da documenti, risposte concise e chiamate agli strumenti dell’applicazione. Il contesto di 128 000 token e Structured Outputs supportano processi ripetibili con un risultato chiaramente definito.
- Input accettati
- Testo
- Risultati
- Testo
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Batch POST /v1/batches
- Tipi di input
text- Tipi di output
text- Formato di output
- JSON inline di results[].response.body
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campoendpoint | Tipostring | RequisitoObbligatorio | Valori e limiti /v1/chat/completions | Predefinito— |
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti openai/gpt-4o-mini:batch | Predefinito— |
Camporequests | Tipobatch_item[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Camporequests[].custom_id | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Camporequests[].body.messages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campocompletion_window | Tipostring | RequisitoFacoltativo | Valori e limiti 24h | Predefinito— |
Campoprovider | Tipoobject|null | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Camporequests[].body.model | Tipostring | RequisitoFacoltativo | Valori e limiti openai/gpt-4o-mini:batch, openai/gpt-4o-mini | Predefinito— |
Campoprovider.only | Tipostring[] | RequisitoFacoltativo | Valori e limiti openai | Predefinito— |
Campoprovider.allow_fallbacks | Tipoboolean|null | RequisitoFacoltativo | Valori e limiti false, null | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattoendpoint, model, requests |
Parametromaterial_types | Contrattotext |
Parametrorepresentation | Contrattorequests[] inline; ogni elemento contiene custom_id e body |
Parametrorequest_endpoint_profile | Contratto/v1/chat/completions |
Parametrofile_material | ContrattoIl chiamante può leggere localmente i dati JSONL effettivi in UTF-8 e inserirli in requests[]. Non viene usato alcun purpose di caricamento, input_file_id o riferimento a file. Il materiale del cliente mancante o vuoto interrompe la preparazione prima del POST. |
Parametroserialization_order | Contrattoendpoint, model, provider (se fornito), completion_window (se fornito), requests per ultimo |
Parametrooptional_controls | Contrattoprovider.only, provider.allow_fallbacks, completion_window |
Parametroschema_scope | ContrattoCorpi delle richieste Chat Completions per testo nella struttura inline Batch documentata. |
Ciclo di vita: asynchronous
GET /v1/batches/{operation_id} · response.id effettivo della risposta alla creazione originale; stesso utente/chiave/gruppo
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
- Tariffe della cache esplicita
- Non abilitato Quando viene richiesta una cache esplicita
Tariffe Ailoot
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.00015 / 1K token Output · Token in output $0.0006 / 1K token Input · Lettura dalla cache $0.000075 / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.00015 / 1K token Output · Token in output $0.0006 / 1K token Input · Lettura dalla cache $0.000075 / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Batch
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.
Ricevi e salva i risultati
Ailoot Ultra · Batch
JSON inline di results[].response.body
GET /v1/batches/{operation_id}
Verifica lo stato dell’attività
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
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva il JSON completo dello stato originale, ogni result/custom_id e il corpo completo della risposta o dell'errore. Salva i results[] completati come JSONL senza filtrarli.
Se occorre verificare la risposta originale
Conserva l'ID dell'operazione originale. La risposta 503 result_pending_check contiene X-Should-Retry:false; non reinviare mai un batch originale il cui esito è sconosciuto.
Campi della risposta
| Campo | Tipo |
|---|---|
Camporesults[].custom_id | Tipostring |
Camporesults[].response.body.choices[].message.content | Tipostring|null |
Camporesults[].error | Tipoobject|null |
Campousage | Tipoobject|null |
Campoid | Tipostring |
Campomodel | Tipostring |
Campoendpoint | Tipostring |
Campostatus | Tipostring |
Camporequest_counts | Tipoobject |
Camporesults[].id | Tipostring |
Camporesults[].response.status_code | Tipointeger |
Camporesults[].response.request_id | Tipostring |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneStruttura inline documentata non valida, chiavi duplicate, identità degli elementi non valida o conflitto con le capacità configurate del modello. | Passaggio successivoCorreggi i campi indicati prima di qualsiasi nuovo invio. |
Risposta401 · authentication_error | CondizioneChiave API non valida. | Passaggio successivoUsa la chiave Ailoot autorizzata. |
Risposta403 · permission_error | CondizioneGruppo Batch non disponibile. | Passaggio successivoVerifica le autorizzazioni della chiave e del gruppo. |
Risposta422 · invalid_request_error | CondizioneBatch usa l'addebito sul saldo; la creazione tramite abbonamento viene rifiutata. | Passaggio successivoUsa il gruppo autorizzato con addebito sul saldo. |
Risposta422 · price_unavailable | CondizioneNon è possibile formulare un preventivo per l'input Batch. | Passaggio successivoConserva la risposta; usa l'input documentato per la famiglia. |
Risposta402 · billing_error | CondizioneRiserva Batch non disponibile. | Passaggio successivoRisolvi le condizioni di ammissione prima di una nuova richiesta. |
Risposta503 · price_unavailable | CondizionePrezzo del metodo Batch o tariffe native non disponibili. | Passaggio successivoConserva la risposta; non sostituire i prezzi. |
Risposta503 · api_error | CondizioneLa rotta esatta del fornitore non è disponibile. | Passaggio successivoConserva la risposta per la riparazione della rotta. |
Risposta503 · result_pending_check | CondizioneIl risultato originale richiede una verifica; X-Should-Retry:false. | Passaggio successivoConserva operation_id/id originale e leggine lo stato; non ripetere mai il POST originale. |
Risposta404 · not_found | CondizioneL'operazione di stato Batch è assente o appartiene a un'altra identità. | Passaggio successivoUsa l'id originale esatto e lo stesso utente/chiave/gruppo. |
Alias
Alias del modello
Ailoot Ultra openai/gpt-4o-mini:batch
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · OpenAI: GPT-4o-mini (batch)
- Quali input e risultati sono disponibili?
POST /v1/batches·openai/gpt-4o-mini:batch:text→text- Quali campi usa la richiesta?
POST /v1/batches·openai/gpt-4o-mini:batch:endpoint,model,requests,completion_window,provider- Quali limiti si applicano?
POST /v1/batches·openai/gpt-4o-mini:batch:requests.min_items:1