OpenAI: GPT-4o-mini (batch)
GPT-4o Mini menangani tugas teks dan gambar yang terarah, termasuk ekstraksi dokumen, balasan ringkas, dan pemanggilan alat aplikasi. Konteks 128000 token dan Structured Outputs mendukung alur kerja berulang dengan hasil yang didefinisikan secara jelas.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
GPT-4o Mini adalah model kecil OpenAI dalam keluarga GPT-4o untuk pekerjaan yang terarah. Model ini menerima teks dan gambar serta menghasilkan teks, termasuk Structured Outputs. Perannya berguna ketika aplikasi memerlukan respons ringkas terhadap permintaan yang dirumuskan dengan jelas: mengekstrak field, menyusun balasan dari materi referensi yang diberikan, atau menjalankan langkah terbatas dalam proses yang lebih besar.
Untuk respons dukungan, berikan pesan masuk, kutipan kebijakan yang relevan, dan fakta yang sudah ditetapkan dalam percakapan. Mintalah usulan balasan singkat dan sebutkan informasi yang masih dibutuhkan dari pengirim. Untuk ekstraksi dokumen, definisikan field, jelaskan penanganan nilai yang tidak tersedia, dan pertahankan label yang menghubungkan setiap hasil dengan sumbernya. Pendekatan yang sama dapat menghasilkan klasifikasi, bagian teks yang disunting, atau penjelasan perubahan kode kecil tanpa menjadikan model sebagai pengganti logika aplikasi yang melingkupinya.
Produsen mencantumkan jendela konteks 128000 token, keluaran maksimum 16384 token, dan batas pengetahuan 1 Oktober 2023. Materi sumber, percakapan, dan keluaran yang dihasilkan menggunakan konteks itu bersama-sama. Pertahankan fakta terdahulu yang penting agar tetap terlihat dan nyatakan artefak akhir yang diperlukan. GPT-4o Mini adalah model kecil tersendiri, bukan mode panjang keluaran GPT-4o penuh; identitas dan kemampuannya sendiri harus memandu tugas meskipun kedua model memiliki spesifikasi yang sama pada bagian tertentu.
Gambar dapat berupa tangkapan layar, halaman dokumen, foto, atau diagram. Alur kerja visi OpenAI menerima PNG, JPEG, WebP, dan GIF nonanimasi, dengan detail low, high, atau auto untuk keluarga ini. Detail yang lebih tinggi mengikuti penanganan gambar berbasis petak gambar oleh produsen. Jaga agar label penting terbaca dan tegak, serta jelaskan bagian gambar yang harus menjadi dasar jawaban. Hubungan spasial yang halus, hitungan objek yang tepat, proyeksi gambar yang tidak lazim, dan sebagian teks non-Latin merupakan kesulitan yang didokumentasikan. Pertanyaan yang terarah memudahkan perbandingan respons visual dengan bukti asli. Dalam alur kerja visi yang didokumentasikan OpenAI, total payload permintaan dibatasi 512 MB dan satu permintaan dapat memuat hingga 1500 gambar; gambar dan teks juga harus muat dalam konteks model.
Alur kerja file produsen meneruskan teks hasil ekstraksi dan gambar halaman PDF ke model yang mendukung visi. File perkantoran dan teks lainnya hanya menyumbangkan teks hasil ekstraksi, sehingga gambar dan bagan yang tertanam di dalamnya perlu direpresentasikan sebagai PDF ketika visual tersebut penting. Pengayaan data spreadsheet menggunakan hingga 1000 baris pertama per lembar. Setiap file harus berukuran di bawah 50 MB, dengan total ukuran file dalam permintaan hingga 50 MB. Chat Completions menerima bagian file PDF; alur kerja Responses yang didokumentasikan menerima ragam format file yang lebih luas. Pertahankan pengenal halaman, baris, atau bagian dalam materi yang digunakan untuk ekstraksi.
Streaming mengembalikan teks secara bertahap. Structured Outputs membatasi respons lengkap pada subset JSON Schema yang didukung, sedangkan permintaan mode JSON hanya memastikan JSON yang valid. Sebutkan field wajib dan nilai yang diizinkan, termasuk representasi eksplisit untuk bukti yang tidak tersedia. Aplikasi perlu menangani penolakan dan respons yang tidak lengkap secara terpisah. Skema dapat membuat artefak sesuai untuk tahap berikutnya, tetapi nilainya tetap harus mencerminkan sumber sebenarnya, bukan isian rekaan untuk field kosong.
GPT-4o Mini mendukung pemanggilan fungsi dan alur kerja berorientasi alat dari produsen dengan pencarian web, pencarian file, interpretasi kode, serta koneksi MCP. Jelaskan fungsi yang tersedia, biarkan aplikasi menjalankan operasi yang diminta, dan kembalikan hasil pengamatannya sebelum model menyusun jawaban lanjutan. OpenAI juga mendukung alat pembuatan gambar terpisah dalam alur kerja Responses yang dikonfigurasi. Gambar yang dihasilkan alat tersebut merupakan artefak terpisah; keluaran bawaan model yang didokumentasikan tetap berupa teks. Pencarian dan penggunaan alat merupakan aktivitas yang dikonfigurasi, bukan bukti bahwa setiap balasan telah memeriksa informasi terkini.
Predicted Outputs mendukung pembuatan ulang dokumen atau file kode yang sebagian besar sudah diketahui dengan perubahan kecil. Berikan konten sebelumnya dan suntingan yang tepat, lalu bandingkan artefak hasil dengan permintaan tersebut. Jalur prediksi hanya mendukung teks dan tidak dapat digabungkan dengan pemanggilan fungsi; logprobs, max_completion_tokens, serta beberapa kontrol lain juga dikecualikan. Permintaan biasa yang menggunakan alat merupakan jalur berbeda ketika balasan bergantung pada pencarian atau perhitungan baru.
OpenAI mendokumentasikan fine-tuning untuk model ini dan menjelaskan penggunaan keluaran model yang lebih besar untuk mengajarkan tugas khusus kepada model GPT-4o Mini yang lebih kecil. Alur distilasi ini menghasilkan model yang disesuaikan; proses itu tidak mengubah identitas respons Mini biasa. Untuk permintaan biasa, tetapkan tugas dan format keluaran dengan contoh yang jelas, lalu gunakan tindak lanjut yang terarah untuk merevisi hasil yang sama. Artefak akhir yang berguna tetap terhubung dengan fakta sumber, pembaca yang dituju, dan langkah aplikasi yang menggunakannya.
Ailoot Ultra · Batch POST /v1/batches openai/gpt-4o-mini:batch
openai/gpt-4o-mini:batchMulai
GPT-4o Mini menangani tugas teks dan gambar yang terarah, termasuk ekstraksi dokumen, balasan ringkas, dan pemanggilan alat aplikasi. Konteks 128000 token dan Structured Outputs mendukung alur kerja berulang dengan hasil yang didefinisikan secara jelas.
- Masukan yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Batch POST /v1/batches
- Masukan
text- Keluaran
text- Format keluaran
- JSON inline pada results[].response.body
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolomendpoint | Jenisstring | PersyaratanWajib | Nilai & batasan /v1/chat/completions | Bawaan— |
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan openai/gpt-4o-mini:batch | Bawaan— |
Kolomrequests | Jenisbatch_item[] | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
Kolomrequests[].custom_id | Jenisstring | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomrequests[].body.messages | Jenismessage[] | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomcompletion_window | Jenisstring | PersyaratanOpsional | Nilai & batasan 24h | Bawaan— |
Kolomprovider | Jenisobject|null | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomrequests[].body.model | Jenisstring | PersyaratanOpsional | Nilai & batasan openai/gpt-4o-mini:batch, openai/gpt-4o-mini | Bawaan— |
Kolomprovider.only | Jenisstring[] | PersyaratanOpsional | Nilai & batasan openai | Bawaan— |
Kolomprovider.allow_fallbacks | Jenisboolean|null | PersyaratanOpsional | Nilai & batasan false, null | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] inline; setiap item memiliki custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil dapat membaca JSONL UTF-8 aktual secara lokal ke dalam requests[]. Tidak menggunakan purpose unggahan, input_file_id, atau referensi file. Materi pelanggan yang tidak ada atau kosong menghentikan persiapan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika disertakan), completion_window (jika disertakan), requests paling akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | Kontrakbody teks Chat Completions dalam envelope Batch inline yang didokumentasikan. |
Siklus hidup: asynchronous
GET /v1/batches/{operation_id} · response.id aktual dari operasi create awal; user/key/group yang sama
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
- Harga cache eksplisit
- Tidak diaktifkan Saat cache eksplisit diminta
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.00015 / 1K token Keluaran · Token keluaran $0.0006 / 1K token Masukan · Pembacaan cache $0.000075 / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.00015 / 1K token Keluaran · Token keluaran $0.0006 / 1K token Masukan · Pembacaan cache $0.000075 / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
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.
Terima dan simpan hasil
Ailoot Ultra · Batch
JSON inline pada results[].response.body
GET /v1/batches/{operation_id}
Periksa status tugas
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
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Pertahankan JSON status asli secara lengkap, setiap result/custom_id, serta body response atau error yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penyaringan.
Jika respons asli perlu diperiksa
Pertahankan ID operasi asli. 503 result_pending_check memiliki X-Should-Retry:false; jangan pernah kirim ulang batch asli yang statusnya tidak diketahui.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomresults[].custom_id | Jenisstring |
Kolomresults[].response.body.choices[].message.content | Jenisstring|null |
Kolomresults[].error | Jenisobject|null |
Kolomusage | Jenisobject|null |
Kolomid | Jenisstring |
Kolommodel | Jenisstring |
Kolomendpoint | Jenisstring |
Kolomstatus | Jenisstring |
Kolomrequest_counts | Jenisobject |
Kolomresults[].id | Jenisstring |
Kolomresults[].response.status_code | Jenisinteger |
Kolomresults[].response.request_id | Jenisstring |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiEnvelope inline yang didokumentasikan tidak valid, ada kunci duplikat, atau terdapat konflik pada identitas item atau kemampuan model yang dikonfigurasi. | Langkah berikutnyaPerbaiki kolom yang ditunjukkan sebelum pengiriman baru apa pun. |
Respons401 · authentication_error | KondisiKunci API tidak valid. | Langkah berikutnyaGunakan kunci Ailoot yang berizin. |
Respons403 · permission_error | KondisiGrup Batch tidak tersedia. | Langkah berikutnyaPeriksa hak akses key/group. |
Respons422 · invalid_request_error | KondisiBatch menggunakan penagihan dari saldo; pembuatan dengan langganan ditolak. | Langkah berikutnyaGunakan grup berizin yang ditagih dari saldo. |
Respons422 · price_unavailable | KondisiPenawaran harga untuk input Batch tidak dapat dibuat. | Langkah berikutnyaSimpan respons; gunakan input keluarga API yang didokumentasikan. |
Respons402 · billing_error | KondisiCadangan Batch tidak tersedia. | Langkah berikutnyaSelesaikan kendala penerimaan sebelum mengirim permintaan baru. |
Respons503 · price_unavailable | KondisiHarga metode Batch/tarif native tidak tersedia. | Langkah berikutnyaSimpan respons; jangan mengganti harga. |
Respons503 · api_error | KondisiRute pemasok yang tepat tidak tersedia. | Langkah berikutnyaSimpan respons untuk perbaikan rute. |
Respons503 · result_pending_check | KondisiHasil asli perlu diperiksa; X-Should-Retry:false. | Langkah berikutnyaSimpan operation_id/id asli dan baca statusnya; jangan pernah mengulangi POST asli. |
Respons404 · not_found | KondisiOperasi status Batch tidak ada atau dimiliki oleh identitas lain. | Langkah berikutnyaGunakan id asli yang persis sama dan user/key/group yang sama. |
Alias
Alias model
Ailoot Ultra openai/gpt-4o-mini:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · OpenAI: GPT-4o-mini (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·openai/gpt-4o-mini:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·openai/gpt-4o-mini:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·openai/gpt-4o-mini:batch:requests.min_items:1