OpenAI: GPT-4o (batch)
GPT-4o matn va tasvirlarni tushunishni yozish, dasturlash, Structured Outputs va dastur vositalari bilan birlashtiradi. Undan dalillarga asoslangan javob tayyorlash, vizual materialni talqin qilish yoki katta manba to‘plamidan belgilangan maydonlarni qaytarish uchun foydalaning.
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
GPT-4o — OpenAI kompaniyasining matn va tasvirlarni tushunish, yozish hamda dastur bilan ishlash uchun ko‘p vazifali GPT modeli. Nomdagi “o” “omni” ni anglatadi, ammo hujjatlashtirilgan bu model matn va tasvirlarni qabul qilib, Structured Outputs ni ham o‘z ichiga oladigan matn qaytaradi. Amaliy so‘rov yozma topshiriqni fotosuratlar, ekran tasvirlari yoki hujjat sahifalari bilan birlashtirib, aniq tushuntirish, tahrirlangan artefakt yoki dasturdagi boshqa bosqich uchun belgilangan maydonlarni so‘rashi mumkin.
Hisobot uchun manba hujjatlari va hisobot asos bo‘lishi kerak bo‘lgan qarorni bering. Tegishli sanalar, birliklar va dalil belgilarini ko‘rsating, so‘ng kuzatuvlar, taxminlar va yetishmayotgan ma’lumotlarni ajratadigan taqqoslashni so‘rang. Vizual vazifada muhim obyekt, diagramma yoki interfeys holatini ko‘rsating va atrofdagi kontekstni qo‘shing. Kod o‘zgarishida ta’sirlangan kod, kerakli xatti-harakat va saqlanishi shart bo‘lgan cheklovlarni bering. Bu modelning matn va tasvir imkoniyatlaridan butun vazifani promptning o‘zi bilvosita anglatishiga tayanmasdan foydalanishning aniq usullaridir.
OpenAI ning joriy GPT-4o profilida 128,000 tokenli kontekst oynasi, ko‘pi bilan 16,384 chiqish tokeni va 2023-yil 1-oktabrdagi bilimlar chegarasi ko‘rsatilgan. Ishlab chiqaruvchi sanasi belgilangan bir nechta GPT-4o versiyasini alohida sanab o‘tadi. Suhbat, kirish materiallari va yaratilgan javob umumiy kontekst limitidan foydalanadi; shu sababli katta hujjat to‘plamini ham tartiblash va yakuniy artefakt uchun joy qoldirish kerak. O‘zgaruvchan yoki xususiy tizimdan olinadigan faktlarni bevosita bering yoki aniq sozlangan vosita orqali oling.
Tasvirni tushunish qo‘llanmasi PNG, JPEG, WebP va animatsiyasiz GIF ni qabul qiladi. GPT-4o tasvir tafsilotlari uchun low, high va auto ni qo‘llaydi; high va auto tasvirni bo‘laklarga ajratib qayta ishlashdan foydalanadi. Kichik yozuvlarni kattalashtiring, matnni to‘g‘ri yo‘nalishda saqlang, diagrammani talqin qilishda belgilar izohi yoki atrofdagi sxemani qoldiring. Hujjatlashtirilgan cheklovlar aniq fazoviy joylashuvni topish, obyektlarni taxminiy sanash, ayrim lotin bo‘lmagan yozuvlar va panoramali yoki fisheye ko‘rinishlarini o‘z ichiga oladi. Model tasvirni noto‘g‘ri tavsiflashi ham mumkin; shu sababli manbani saqlang va talqinni qo‘llab-quvvatlaydigan aniq kuzatuvlarni so‘rang. OpenAI ning hujjatlashtirilgan tasvir bilan ishlash jarayonida so‘rovning umumiy hajmi 512 MB bilan cheklangan va bitta so‘rovga 1,500 tagacha tasvir kiritish mumkin; tasvirlar ham, matn ham model kontekstiga sig‘ishi kerak.
OpenAI ning fayl kiritish jarayoni tasvirni tushunadigan modelga PDF lardan ajratib olingan matnni ham, sahifa tasvirlarini ham beradi. PDF bo‘lmagan ofis hujjatlari ichidagi diagrammalarni emas, ajratib olingan matnni taqdim etadi; elektron jadvallarga esa har bir varaqning dastlabki 1,000 tagacha qatoridan olingan ma’lumotlar qo‘shiladi. Har bir fayl 50 MB dan kichik bo‘lishi kerak va bitta so‘rovdagi fayllarning umumiy hajmi 50 MB bilan cheklanadi. Chat Completions PDF fayl qismlarini qo‘llaydi; hujjatlashtirilgan Responses jarayoni qo‘shimcha fayl formatlarini ham qabul qiladi. Vizual aniqlik muhim bo‘lsa, PDF ko‘rinishini tanlang va natijada manba identifikatorlarini ko‘rinadigan holda saqlang.
Oqimli uzatish javobni u yaratilishi bilan qaytarishi mumkin. Structured Outputs tugallangan javobni JSON Schema ning qo‘llanadigan quyi to‘plamiga moslashtirib cheklaydi; bu hujjatdan ma’lumot ajratib olish yoki maydonlari belgilangan dastur obyekti uchun foydali. JSON rejimi faqat JSON ning yaroqliligini ta’minlashga qaratilgan. Kutilgan turlar, ruxsat etilgan qiymatlar va dalil yo‘qligini qanday ifodalashni belgilang, aniq rad etishlar yoki tugallanmagan javoblarni esa alohida qayta ishlang. Sxema qiymatning faktik jihatdan to‘g‘riligini isbotlamaydi; shu sababli so‘ralgan maydonlarni berilgan materiallarga bog‘lab kuzatish mumkin bo‘lishi kerak.
Ishlab chiqaruvchi funksiyalarni chaqirish, veb-qidiruv, fayl qidiruvi, kodni talqin qilib bajarish va MCP ulanishlarini qo‘llaydi. Maxsus funksiyalarga mazmunli tavsiflar va argument sxemalari kerak; dastur so‘ralgan harakatni bajarib, natijasini modelning keyingi bosqichi uchun qaytaradi. GPT-4o sozlangan Responses jarayonida alohida tasvir yaratish vositasini ham yo‘naltirishi mumkin. Vosita yaratgan tasvir alohida artefakt bo‘ladi, GPT-4o ning o‘z hujjatlashtirilgan javobi esa matndir. Agentning yakuniy tushuntirishi taklif qilingan vosita chaqiruvini bajarilgan operatsiya deb hisoblamasdan, amalda olingan yoki hisoblangan kuzatuvlardan foydalanishi kerak.
GPT-4o da asosan ma’lum bo‘lgan matn yoki kodni kichik o‘zgarishlar bilan qayta yaratishda Predicted Outputs mavjud. Mavjud mazmun va aniq o‘zgarishni bering, so‘ng qaytarilgan artefaktni tekshiring. Faqat matn uchun mo‘ljallangan bu yo‘l funksiyalarni chaqirish bilan birga ishlamaydi hamda logprobs, max_completion_tokens va yana bir nechta boshqaruvlarni istisno qiladi. Javob tashqi operatsiyadan olinadigan yangi ma’lumotga bog‘liq bo‘lsa, vositali so‘rov alohida tanlovdir.
OpenAI GPT-4o uchun fine-tuning ni hujjatlashtiradi; optimallashtirish qo‘llanmasida esa tasvir misollari bilan vizual fine-tuning uchun aynan 2024-yil 6-avgust versiyasi nomlangan. Aynan shu sanali versiyaga xos moslashtirish jarayoni model aliasiga yuboriladigan odatiy so‘rovdan farq qiladi. Kundalik yozish, tahlil yoki ma’lumot ajratib olishda foydali topshiriq va kerakli natija misolidan boshlang. Keyingi so‘rov vazifaning dalillari va cheklovlarini saqlagan holda yetishmayotgan bitta faktni aniqlashtirishi, maydonni tahrirlashi yoki o‘sha artefaktni yaxshilashi mumkin.
Ailoot Ultra · Paketli ishlov berish POST /v1/batches openai/gpt-4o:batch
openai/gpt-4o:batchBoshlash
GPT-4o matn va tasvirlarni tushunishni yozish, dasturlash, Structured Outputs va dastur vositalari bilan birlashtiradi. Undan dalillarga asoslangan javob tayyorlash, vizual materialni talqin qilish yoki katta manba to‘plamidan belgilangan maydonlarni qaytarish uchun foydalaning.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Paketli ishlov berish POST /v1/batches
- Kirish
text- Chiqish
text- Chiqish formati
- Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonendpoint | Turstring | TalabMajburiy | Qiymatlar va cheklovlar /v1/chat/completions | Standart— |
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar openai/gpt-4o:batch | Standart— |
Maydonrequests | Turbatch_item[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonrequests[].custom_id | Turstring | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonrequests[].body.messages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydoncompletion_window | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 24h | Standart— |
Maydonprovider | Turobject|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonrequests[].body.model | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar openai/gpt-4o:batch, openai/gpt-4o | Standart— |
Maydonprovider.only | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar openai | Standart— |
Maydonprovider.allow_fallbacks | Turboolean|null | TalabIxtiyoriy | Qiymatlar va cheklovlar false, null | Standart— |
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablariendpoint, model, requests |
Parametrmaterial_types | Parametr talablaritext |
Parametrrepresentation | Parametr talablariSo‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud. |
Parametrrequest_endpoint_profile | Parametr talablari/v1/chat/completions |
Parametrfile_material | Parametr talablariChaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi. |
Parametrserialization_order | Parametr talablariendpoint, model, provider (agar berilgan bo‘lsa), completion_window (agar berilgan bo‘lsa), requests eng oxirida |
Parametroptional_controls | Parametr talablariprovider.only, provider.allow_fallbacks, completion_window |
Parametrschema_scope | Parametr talablariHujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari. |
Hayot sikli: asynchronous
GET /v1/batches/{operation_id} · Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Ko‘rsatilmagan Tezkor rejim tanlanganda
- Flex rejimi
- Ko‘rsatilmagan flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Ochiq ko‘rsatilgan keshlash narxlari
- Yoqilmagan Ochiq ko‘rsatilgan keshlash so‘ralganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0025 / 1K token Chiqish · Chiqish tokenlari $0.01 / 1K token Kirish · Keshdan o‘qish $0.00125 / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0025 / 1K token Chiqish · Chiqish tokenlari $0.01 / 1K token Kirish · Keshdan o‘qish $0.00125 / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Paketli ishlov berish
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: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:batch', 'openai/gpt-4o']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o: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.
Natijalarni olish va saqlash
Ailoot Ultra · Paketli ishlov berish
Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari
GET /v1/batches/{operation_id}
Vazifa holatini tekshirish
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
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.
Asl javobni tekshirish kerak bo‘lsa
Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni hech qachon qayta yubormang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonresults[].custom_id | Turstring |
Maydonresults[].response.body.choices[].message.content | Turstring|null |
Maydonresults[].error | Turobject|null |
Maydonusage | Turobject|null |
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydonendpoint | Turstring |
Maydonstatus | Turstring |
Maydonrequest_counts | Turobject |
Maydonresults[].id | Turstring |
Maydonresults[].response.status_code | Turinteger |
Maydonresults[].response.request_id | Turstring |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartHujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid. | Keyingi qadamHar qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob401 · authentication_error | ShartAPI kaliti yaroqsiz. | Keyingi qadamFoydalanishga ruxsat berilgan Ailoot kalitidan foydalaning. |
Javob403 · permission_error | ShartPaketli ishlov berish guruhi mavjud emas. | Keyingi qadamKalit/guruhning foydalanish huquqini tekshiring. |
Javob422 · invalid_request_error | ShartPaketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi. | Keyingi qadamFoydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning. |
Javob422 · price_unavailable | ShartPaket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi. | Keyingi qadamJavobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan foydalaning. |
Javob402 · billing_error | ShartPaketli ishlov berish uchun zaxira mavjud emas. | Keyingi qadamYangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling. |
Javob503 · price_unavailable | ShartPaketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas. | Keyingi qadamJavobni saqlang; narxlarni almashtirmang. |
Javob503 · api_error | ShartTa’minotchining aynan shu yo‘nalishi mavjud emas. | Keyingi qadamYo‘nalishni tuzatish uchun javobni saqlang. |
Javob503 · result_pending_check | ShartDastlabki natijani tekshirish kerak; X-Should-Retry:false. | Keyingi qadamDastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang. |
Javob404 · not_found | ShartPaket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli. | Keyingi qadamAynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning. |
Taxalluslar
Model taxalluslari
Ailoot Ultra openai/gpt-4o:batch
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · OpenAI: GPT-4o (batch)
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/batches·openai/gpt-4o:batch:text→text- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/batches·openai/gpt-4o:batch:endpoint,model,requests,completion_window,provider- Qanday cheklovlar amal qiladi?
POST /v1/batches·openai/gpt-4o:batch:requests.min_items:1