OpenAI: GPT-4.1 Nano (batch)
GPT-4.1 Nano — GPT-4.1 oilasining aniq belgilangan matn va tasvir vazifalari uchun ixcham, tez javob beradigan modeli. Uning katta konteksti, Structured Outputs va funksiyalarni chaqirish imkoniyati tasniflash, ma’lumot ajratish va ilovaning aniq bosqichlarini qo‘llab-quvvatlaydi.
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
GPT-4.1 Nano — OpenAI’ning GPT-4.1 oilasidagi eng tez modeli bo‘lib, alohida fikrlash bosqichisiz ko‘rsatmalarga amal qilish va vositalarni chaqirish uchun ishlab chiqilgan. U matn va tasvirlarni qabul qilib, matn hosil qiladi. Nano ilovaga keng qamrovli tadqiqotdan ko‘ra ixcham javob, maydonlar to‘plami yoki keyingi vosita so‘rovi kerak bo‘ladigan aniq belgilangan operatsiyaga mos keladi.
Foydali misol — kelayotgan xabarlarni berilgan toifalar to‘plami bo‘yicha saralash. Har bir toifani tushuntiring, noaniq yoki vazifa doirasidan tashqaridagi xabarlarni qanday ko‘rsatishni namoyish eting va toifa bilan birga uni asoslaydigan manba iborasini so‘rang. Ma’lumot ajratish uchun maydon nomlari, ruxsat etilgan qiymatlar va yetishmayotgan ma’lumotni qayta ishlashni belgilang. Qisqa yozma ish uchun faktlarni bering va ilovaning keyingi bosqichiga kerakli aniq parchani so‘rang. Manbalar to‘plami katta bo‘lsa ham tushunarli qolishi uchun misollar va cheklovlar yetarlicha ixcham bo‘lishi kerak.
Ishlab chiqaruvchi 1 047 576 tokenli kontekst oynasi, ko‘pi bilan 32 768 chiqish tokeni va 2024-yil 1-iyun bilim chegarasini ko‘rsatadi. Bu ko‘rsatkichlar GPT-4.1 Mini oynasiga mos keladi, lekin Nano alohida model ekanini va tez javob berishga qaratilgan vazifasini saqlaydi. Hujjatlar va suhbat bo‘limlarini belgilang, faqat operatsiyaga tegishli kontekstni kiriting va to‘liq javob uchun joy qoldiring. Qidiruv natijalari yoki berilgan ma’lumotnoma matni model o‘rgangan bilimlardan yangi faktlarni taqdim etishi mumkin.
Nano oqimli uzatish va Structured Outputs’ni qo‘llab-quvvatlaydi. Sxema bilan cheklangan yakuniy javob funksiya chaqiruvidan boshqa maqsadga ega: biri ilovaga tayyor artefakt beradi, ikkinchisi esa operatsiyani bajarishni so‘raydi. Structured Outputs JSON Schema’ning bir qismini qo‘llab-quvvatlaydi; majburiy xususiyatlar va noma’lum qiymatlarni aniq ifodalash usulini belgilang. Rad javoblari va tugallanmagan javoblarni alohida qayta ishlang, yaroqli tuzilmani to‘g‘ri xulosa bilan tenglashtirish o‘rniga ajratilgan qiymatlarni kirish ma’lumotlari bilan tekshiring.
Hujjatlashtirilgan vositalar to‘plamiga funksiyalarni chaqirish, fayl qidiruvi, kod interpretatori, MCP ulanishlari va alohida tasvir yaratish vositasi kiradi. Ilova vosita tavsiflari va sxemalarini beradi, maxsus funksiyalarni bajaradi va haqiqiy natijalarini qaytaradi. Nano’ning 2025-yil 14-apreldagi versiyasi uchun OpenAI parallel vosita chaqiruvlarini o‘chirishni ayniqsa tavsiya qiladi, chunki model bitta navbatda ayni vositani bir necha marta so‘rashi mumkin. Bu muayyan versiyaning bajarilishiga tegishli jihat, bir nechta taklif etilgan chaqiruvni bajarilgan amal deb hisoblashga asos emas.
Tasvir kirishi matn vazifasiga vizual dalillar qo‘shadi, masalan, ko‘rinadigan yorliqni o‘qish yoki ekran tasviridagi holatni tavsiflash. Qo‘llab-quvvatlanadigan PNG, JPEG, WebP yoki animatsiyasiz GIF tasvirlaridan foydalaning, matnni o‘qiladigan holda saqlang va qaysi kuzatuv muhimligini tushuntiring. Tasvirni tushunish qo‘llanmasi mayda yoki aylantirilgan matn, aniq fazoviy munosabatlar, obyektlar soni va ayrim lotin yozuvida bo‘lmagan matnlardagi qiyinchiliklarni qayd etadi. Faqat kesilgan tasvir yorliq yoki diagrammani noaniq qiladigan bo‘lsa, atrof kontekstini bering. Nano’ning o‘z javobi matn; tasvir yaratish vositasi alohida artefakt qaytaradi. OpenAI hujjatlashtirgan tasvir jarayonida so‘rovning umumiy ma’lumot hajmi 512 MB bilan cheklangan va bitta so‘rovda 1 500 tagacha tasvir bo‘lishi mumkin; tasvirlar va matn model kontekstiga ham sig‘ishi kerak.
Ishlab chiqaruvchining fayl jarayonida tasvirlarni tushunadigan model PDF’dan ajratilgan matn va sahifa tasvirlarini birgalikda oladi. Boshqa hujjat formatlari ajratilgan matnni beradi, elektron jadval ma’lumotlarini boyitishda esa har bir varaqning dastlabki 1 000 tagacha qatori hisobga olinadi. Fayl 50 MB dan kichik bo‘lishi, so‘rovdagi fayllarning jami hajmi esa 50 MB dan oshmasligi kerak. Chat Completions PDF fayl qismlarini qo‘llab-quvvatlaydi, hujjatlashtirilgan Responses jarayoni esa qo‘shimcha fayl turlarini qabul qiladi. PDF bo‘lmagan hujjatlarga kiritilgan diagrammalar tasvir kontenti sifatida uzatilmaydi, shuning uchun vizual dalillar muhim bo‘lsa, PDF ko‘rinishi foydali.
OpenAI Nano uchun prompt keshi va GPT-4.1 Nano seriyasi uchun Predicted Outputs’ni hujjatlashtiradi. Prompt keshi ishlab chiqaruvchi xizmatida talablarga mos kirish prefiksidan qayta foydalanadi. Predicted Outputs esa tahrir uchun asosan oldindan ma’lum chiqish matnini beradi, masalan, hujjat yoki kod faylini o‘zgarmagan qismlarini saqlagan holda qayta ko‘rib chiqish uchun. Bashorat yo‘li faqat matn bilan ishlaydi va boshqa boshqaruvlar qatorida funksiyalarni chaqirish, logprobs va max_completion_tokens’ni istisno qiladi. Yo‘lni haqiqiy operatsiyaga qarab tanlang va natijani asl manba bilan bog‘liq holda saqlang.
Ishlab chiqaruvchi Nano’ning nomlangan GPT-4.1 versiyasi uchun nazoratli qo‘shimcha o‘qitish va bevosita afzalliklarni optimallashtirishni ham hujjatlashtiradi. O‘qitish misollari va afzal ko‘rilgan hamda rad etilgan javoblar modelni takrorlanuvchi vazifaga moslashtiradi; ular oddiy so‘rovda beriladigan kontekstdan farq qiladi. Amaliy ma’lumot ajratish yoki tasniflash bosqichi uchun aniq toifalar, misollar va belgilangan yakuniy formatdan boshlang, keyin qaytarilgan maydonlar keyingi bosqich ishlatadigan faktlarni saqlaganini tekshiring.
Ailoot Ultra · Paketli ishlov berish POST /v1/batches openai/gpt-4.1-nano:batch
openai/gpt-4.1-nano:batchBoshlash
GPT-4.1 Nano — GPT-4.1 oilasining aniq belgilangan matn va tasvir vazifalari uchun ixcham, tez javob beradigan modeli. Uning katta konteksti, Structured Outputs va funksiyalarni chaqirish imkoniyati tasniflash, ma’lumot ajratish va ilovaning aniq bosqichlarini qo‘llab-quvvatlaydi.
- 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-4.1-nano: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-4.1-nano:batch, openai/gpt-4.1-nano | 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.0001 / 1K token Chiqish · Chiqish tokenlari $0.0004 / 1K token Kirish · Keshdan o‘qish $0.000025 / 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.0001 / 1K token Chiqish · Chiqish tokenlari $0.0004 / 1K token Kirish · Keshdan o‘qish $0.000025 / 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-4.1-nano: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-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4.1-nano: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-4.1-nano:batch
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · OpenAI: GPT-4.1 Nano (batch)
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/batches·openai/gpt-4.1-nano:batch:text→text- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/batches·openai/gpt-4.1-nano:batch:endpoint,model,requests,completion_window,provider- Qanday cheklovlar amal qiladi?
POST /v1/batches·openai/gpt-4.1-nano:batch:requests.min_items:1