OpenAI: GPT-4o-mini (batch)
GPT-4o Mini mengendalikan tugas teks dan imej yang terfokus, termasuk pengekstrakan dokumen, balasan ringkas dan panggilan alat aplikasi. Konteks 128000 token dan Structured Outputs menyokong aliran kerja berulang dengan hasil yang ditakrifkan dengan jelas.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
GPT-4o Mini ialah model kecil OpenAI dalam keluarga GPT-4o untuk kerja yang terfokus. Model ini menerima teks dan imej serta menghasilkan teks, termasuk Structured Outputs. Peranannya berguna apabila aplikasi memerlukan respons ringkas kepada permintaan yang dinyatakan dengan jelas: mengekstrak medan, membina balasan daripada bahan rujukan yang diberikan atau melaksanakan langkah terbatas dalam proses yang lebih besar.
Bagi respons sokongan, berikan mesej masuk, petikan dasar yang relevan dan fakta yang telah ditetapkan dalam perbualan. Minta cadangan balasan pendek dan nyatakan maklumat yang masih diperlukan daripada pengirim. Bagi pengekstrakan dokumen, takrifkan medan, jelaskan cara mengendalikan nilai yang tiada dan kekalkan label yang menghubungkan setiap hasil kepada sumbernya. Pendekatan yang sama boleh menghasilkan pengelasan, petikan yang disunting atau penjelasan perubahan kod kecil tanpa menganggap model sebagai pengganti logik aplikasi yang melingkunginya.
Pengeluar menyenaraikan tetingkap konteks 128000 token, output maksimum 16384 token dan had pengetahuan 1 Oktober 2023. Bahan sumber, perbualan dan output yang dijana menggunakan konteks itu bersama-sama. Pastikan fakta terdahulu yang penting kekal kelihatan dan nyatakan artifak akhir yang diperlukan. GPT-4o Mini ialah model kecil berasingan, bukannya mod panjang output GPT-4o penuh; identiti dan keupayaannya sendiri perlu memandu tugas walaupun kedua-dua model berkongsi spesifikasi tertentu.
Imej boleh berupa tangkapan skrin, halaman dokumen, foto atau rajah. Aliran kerja penglihatan OpenAI menerima PNG, JPEG, WebP dan GIF tanpa animasi, dengan perincian low, high atau auto untuk keluarga ini. Perincian yang lebih tinggi mengikuti pengendalian imej berasaskan petak imej oleh pengeluar. Pastikan label penting boleh dibaca dan tegak, dan jelaskan bahagian imej yang perlu menjadi asas jawapan. Hubungan ruang yang halus, kiraan objek yang tepat, unjuran imej yang luar biasa dan sesetengah teks bukan Latin ialah kesukaran yang didokumenkan. Soalan yang terfokus memudahkan respons visual dibandingkan dengan bukti asal. Dalam aliran kerja penglihatan yang didokumenkan oleh OpenAI, jumlah muatan permintaan dihadkan kepada 512 MB dan satu permintaan boleh merangkumi sehingga 1500 imej; imej dan teks juga mesti muat dalam konteks model.
Aliran kerja fail pengeluar menghantar teks yang diekstrak dan imej halaman daripada PDF kepada model yang berkeupayaan penglihatan. Fail pejabat dan teks lain menyumbang teks yang diekstrak, jadi imej dan carta terbenamnya memerlukan perwakilan PDF apabila visual tersebut penting. Pengayaan hamparan menggunakan sehingga 1000 baris pertama bagi setiap helaian. Setiap fail mestilah di bawah 50 MB, dengan jumlah saiz fail bagi permintaan sehingga 50 MB. Chat Completions menerima bahagian fail PDF; aliran kerja Responses yang didokumenkan menerima set format fail yang lebih luas. Kekalkan pengecam halaman, baris atau bahagian dalam bahan yang digunakan untuk pengekstrakan.
Penstriman mengembalikan teks secara beransur-ansur. Structured Outputs mengehadkan respons lengkap kepada subset JSON Schema yang disokong, manakala permintaan mod JSON hanya memastikan JSON yang sah. Nyatakan medan wajib dan nilai yang dibenarkan, termasuk perwakilan jelas untuk bukti yang tiada. Aplikasi perlu mengendalikan penolakan dan respons tidak lengkap secara berasingan. Skema boleh menjadikan artifak sesuai untuk peringkat seterusnya, tetapi nilainya masih perlu mencerminkan sumber sebenar dan bukannya pelengkap rekaan bagi medan kosong.
GPT-4o Mini menyokong panggilan fungsi dan aliran kerja berorientasikan alat pengeluar dengan carian web, carian fail, pentafsiran kod dan sambungan MCP. Huraikan fungsi yang tersedia, biarkan aplikasi melaksanakan operasi yang diminta dan kembalikan hasil pemerhatiannya sebelum model membina jawapan susulan. OpenAI turut menyokong alat penjanaan imej berasingan dalam aliran kerja Responses yang dikonfigurasi. Imej yang dihasilkan oleh alat itu ialah artifak berasingan; output asli model yang didokumenkan kekal berupa teks. Carian dan penggunaan alat ialah aktiviti yang dikonfigurasi, bukannya bukti bahawa setiap balasan merujuk maklumat semasa.
Predicted Outputs menyokong penjanaan semula dokumen atau fail kod yang sebahagian besarnya telah diketahui dengan perubahan kecil. Berikan kandungan terdahulu dan suntingan yang tepat, kemudian bandingkan artifak yang terhasil dengan permintaan tersebut. Laluan ramalan hanya menyokong teks dan tidak boleh digabungkan dengan panggilan fungsi; logprobs, max_completion_tokens dan beberapa kawalan lain turut dikecualikan. Permintaan biasa yang menggunakan alat ialah laluan berbeza apabila balasan bergantung pada carian atau pengiraan baharu.
OpenAI mendokumenkan fine-tuning untuk model ini dan menerangkan penggunaan output model yang lebih besar untuk mengajar model GPT-4o Mini yang lebih kecil tugas khusus. Aliran kerja penyulingan ini menghasilkan model tersuai; proses itu tidak mengubah identiti respons Mini biasa. Bagi permintaan biasa, tetapkan tugas dan format output dengan contoh yang jelas, kemudian gunakan susulan yang terfokus untuk menyemak hasil yang sama. Artifak akhir yang berguna kekal terhubung kepada fakta sumber, pembaca yang dituju dan langkah aplikasi yang menggunakannya.
Ailoot Ultra · Kelompok POST /v1/batches openai/gpt-4o-mini:batch
openai/gpt-4o-mini:batchPengenalan
GPT-4o Mini mengendalikan tugas teks dan imej yang terfokus, termasuk pengekstrakan dokumen, balasan ringkas dan panggilan alat aplikasi. Konteks 128000 token dan Structured Outputs menyokong aliran kerja berulang dengan hasil yang ditakrifkan dengan jelas.
- Input yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Kelompok POST /v1/batches
- Input
text- Output
text- Format output
- JSON results[].response.body sebaris
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanendpoint | Jenisstring | KeperluanDiperlukan | Nilai & had /v1/chat/completions | Lalai— |
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had openai/gpt-4o-mini:batch | Lalai— |
Medanrequests | Jenisbatch_item[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanrequests[].custom_id | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanrequests[].body.messages | Jenismessage[] | KeperluanDiperlukan | Nilai & had | Lalai— |
Medancompletion_window | Jenisstring | KeperluanPilihan | Nilai & had 24h | Lalai— |
Medanprovider | Jenisobject|null | KeperluanPilihan | Nilai & had | Lalai— |
Medanrequests[].body.model | Jenisstring | KeperluanPilihan | Nilai & had openai/gpt-4o-mini:batch, openai/gpt-4o-mini | Lalai— |
Medanprovider.only | Jenisstring[] | KeperluanPilihan | Nilai & had openai | Lalai— |
Medanprovider.allow_fallbacks | Jenisboolean|null | KeperluanPilihan | Nilai & had false, null | Lalai— |
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] sebaris; setiap item mempunyai custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil boleh membaca JSONL UTF-8 sebenar secara setempat ke dalam requests[]. Tiada tujuan muat naik, input_file_id atau rujukan fail digunakan. Bahan pelanggan yang tiada atau kosong menghentikan persediaan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika dibekalkan), completion_window (jika dibekalkan), requests di akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | KontrakBadan permintaan Chat Completions teks dalam pembungkus Batch sebaris yang didokumenkan. |
Kitar hayat: asynchronous
GET /v1/batches/{operation_id} · response.id sebenar daripada respons penciptaan asal; pengguna/kunci/kumpulan yang sama
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
- Harga cache eksplisit
- Tidak diaktifkan Apabila cache eksplisit diminta
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.00015 / 1K token Output · Token output $0.0006 / 1K token Input · Bacaan cache $0.000075 / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.00015 / 1K token Output · Token output $0.0006 / 1K token Input · Bacaan cache $0.000075 / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Kelompok
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 · Kelompok
JSON results[].response.body sebaris
GET /v1/batches/{operation_id}
Semak 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, fail dan bahagian kandungan yang dikembalikan.
Simpan keseluruhan JSON status asal, setiap hasil/custom_id serta badan respons atau ralat yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penapisan.
Jika respons asal perlu disemak
Simpan ID operasi asal. 503 result_pending_check mempunyai X-Should-Retry:false; jangan sekali-kali hantar semula kelompok asal yang hasilnya tidak diketahui.
Medan respons
| Medan | Jenis |
|---|---|
Medanresults[].custom_id | Jenisstring |
Medanresults[].response.body.choices[].message.content | Jenisstring|null |
Medanresults[].error | Jenisobject|null |
Medanusage | Jenisobject|null |
Medanid | Jenisstring |
Medanmodel | Jenisstring |
Medanendpoint | Jenisstring |
Medanstatus | Jenisstring |
Medanrequest_counts | Jenisobject |
Medanresults[].id | Jenisstring |
Medanresults[].response.status_code | Jenisinteger |
Medanresults[].response.request_id | Jenisstring |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratPembungkus sebaris yang didokumenkan tidak sah, kunci berulang, identiti item atau keupayaan model yang dikonfigurasikan bercanggah. | Langkah seterusnyaBetulkan medan yang dinyatakan sebelum sebarang penghantaran baharu. |
Respons401 · authentication_error | SyaratKunci API tidak sah. | Langkah seterusnyaGunakan kunci Ailoot yang dibenarkan. |
Respons403 · permission_error | SyaratKumpulan kelompok tidak tersedia. | Langkah seterusnyaSemak hak akses kunci/kumpulan. |
Respons422 · invalid_request_error | SyaratKelompok menggunakan pengebilan baki; penciptaan melalui langganan ditolak. | Langkah seterusnyaGunakan kumpulan yang dibenarkan untuk pengebilan melalui baki. |
Respons422 · price_unavailable | SyaratSebut harga tidak dapat diberikan untuk input kelompok. | Langkah seterusnyaSimpan respons; gunakan input keluarga API yang didokumenkan. |
Respons402 · billing_error | SyaratRizab kelompok tidak tersedia. | Langkah seterusnyaSelesaikan isu penerimaan permintaan sebelum menghantar permintaan baharu. |
Respons503 · price_unavailable | SyaratHarga kaedah kelompok/kadar natif tidak tersedia. | Langkah seterusnyaSimpan respons; jangan gantikan harga. |
Respons503 · api_error | SyaratLaluan pembekal yang tepat tidak tersedia. | Langkah seterusnyaSimpan respons untuk pembaikan laluan. |
Respons503 · result_pending_check | SyaratHasil asal memerlukan semakan; X-Should-Retry:false. | Langkah seterusnyaSimpan operation_id/id asal dan baca statusnya; jangan sekali-kali ulang POST asal. |
Respons404 · not_found | SyaratOperasi status kelompok tiada atau dimiliki oleh identiti lain. | Langkah seterusnyaGunakan id asal yang tepat serta pengguna/kunci/kumpulan yang sama. |
Alias
Alias model
Ailoot Ultra openai/gpt-4o-mini:batch
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · OpenAI: GPT-4o-mini (batch)
- Apakah input dan hasil yang tersedia?
POST /v1/batches·openai/gpt-4o-mini:batch:text→text- Apakah medan yang digunakan oleh permintaan?
POST /v1/batches·openai/gpt-4o-mini:batch:endpoint,model,requests,completion_window,provider- Apakah had yang terpakai?
POST /v1/batches·openai/gpt-4o-mini:batch:requests.min_items:1