OpenAI: GPT-4.1 Mini (batch)
Mustaqil matn so‘rovlari uchun custom_id moslashtirishi va ixtiyoriy 24h oynali batch ishlovi.
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
openai/gpt-4.1-mini:batch mustaqil matn vazifalari uchun batch yozuvidir. Masalan, ko‘plab berilgan qo‘llab-quvvatlash suhbatlaridan bir xil maydonlarni ajratib, har suhbatga bitta natija oling. Jonli yordamchi javobi o‘rniga kechiktirib yig‘ish mos bo‘lsa, shu yo‘lni tanlang.
Ichki requests massivini /v1/batches’ga endpoint=/v1/chat/completions va har element uchun noyob custom_id bilan yuboring. Har body’da messages bor; completion_window 24h’ni qabul qiladi. Usul balansdan hisoblaydi va obuna orqali to‘lash rejimida batch vazifasini yaratishni rad etadi. Batch kirishi matn, Files/input_file_id orqali yuklash jarayoni yo‘q. Mini oilasining kengroq ta’rifini bu batch yo‘lining interaktiv kechikish va’dasi deb o‘qimang.
Ailoot Ultra · Paketli ishlov berish POST /v1/batches openai/gpt-4.1-mini:batch
openai/gpt-4.1-mini:batchBoshlash
Mustaqil matn so‘rovlari uchun custom_id moslashtirishi va ixtiyoriy 24h oynali batch ishlovi.
- 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-mini: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-mini:batch, openai/gpt-4.1-mini | 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.0004 / 1K token Chiqish · Chiqish tokenlari $0.0016 / 1K token Kirish · Keshdan o‘qish $0.0001 / 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.0004 / 1K token Chiqish · Chiqish tokenlari $0.0016 / 1K token Kirish · Keshdan o‘qish $0.0001 / 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-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-4.1-mini:batch', 'openai/gpt-4.1-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4.1-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.
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-mini:batch
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · OpenAI: GPT-4.1 Mini (batch)
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/batches·openai/gpt-4.1-mini:batch:text→text- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/batches·openai/gpt-4.1-mini:batch:endpoint,model,requests,completion_window,provider- Qanday cheklovlar amal qiladi?
POST /v1/batches·openai/gpt-4.1-mini:batch:requests.min_items:1