hujjatlar
API

Jev — qarorlar modeli

Markdown

TypeSafe’ning Jev qarorlar modeli matn yoki JSON haqida turlangan savollarga javob beradi: variant tanlash, shkala bo‘yicha baholash yoki ehtimollar bilan “ha/yo‘q”. Bu chat ham, matn generatsiyasi ham emas.

To‘liq qo‘llanma
POSThttps://api.ailoot.ai/v1/systemone
Jev — qarorlar modeli
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Yordam bering! To‘lovlarim 3 kundan beri amalga oshmayapti.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Bu shoshilinchlikni bildiradimi?"
      }
    }
  }' 
200 OK
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

Jev — TypeSafe’ning System One sinfidagi qarorlar modeli. U matn yozmaydi va suhbat yuritmaydi: siz quyidagini uzatasiz: holat (state) — matn yoki JSON — va quyidagilar to‘plami: savollar, javobda esa ehtimollar bilan turlangan qiymatlar olasiz. Kod erkin matnni tahlil qilmasdan darhol shu qiymatlar asosida tarmoqlanadi, saralaydi va yo‘naltiradi.

Bitta so‘rovdagi barcha savollar bir xil holatga nisbatan parallel va bir-biridan mustaqil baholanadi: state. TypeSafe ma’lumotiga ko‘ra, savollar qo‘shish javob vaqtini deyarli o‘zgartirmaydi va savollar bir-biriga xalaqit bermaydi.

NimaQisqacha
Modeljev-latest — Jev’ning eng so‘nggi barqaror versiyasi uchun alias; katalogdagi kartochka
MetodPOST /v1/systemone. Bu chat emas: OpenAI, Anthropic va Gemini formatlari Jev uchun mos emas. Javob bitta JSON shaklida to‘liq keladi
Nimani qabul qiladiFaqat matn: satr, JSON obyekt yoki matnlar massivi. Rasmlar, audio va videoni avval matnga aylantiring
KontekstBir so‘rovga 64K token — state va barcha savollar birga; state eng uzun savol bilan birga — 32K gacha
TilTypeSafe ma’lumotiga ko‘ra, model ingliz tilida eng aniq ishlaydi; boshqa tillarni ham qabul qiladi, ammo aniqlik pastroq — o‘z ma’lumotlaringizda tekshiring
NarxKirish uchun 1 mln tokenga $0.084, chiqish bepul

So‘rov

Avtorizatsiya

  • Authorizationheadermajburiy

    Ailoot kaliti quyidagi ko‘rinishda: Bearer sk-….

So‘rov tanasi

  • modelstringmajburiy

    jev-latest.

  • statestring | object | arraymajburiy

    Nimani baholash kerak: matnli satr yoki JSON — mijoz murojaati, bazadagi yozuv, yozishma yoki ilovangizning joriy holati. Maydon nomlari tushunarli bo‘lgan obyekt odatda bitta satrdan qulayroq.

  • questionsobjectmajburiy

    Savollar. Kalitlarni o‘zingiz tanlaysiz, javoblar xuddi shu kalitlar ostida keladi; kalit javobga ta’sir qilmaydi — savolning o‘zi quyidagi maydonda beriladi: instructions.

  • questions.*.typestringmajburiy

    noul, choice yoki score — quyida ko‘ring.

  • questions.*.instructionsstring | object | arraymajburiy

    Savolning o‘zi. Ma’lumotli uzun savolni obyekt sifatida yuborish mumkin: savol bir maydonda, ma’lumotlar boshqalarida; maydonlarga teskari tirnoqlar ichidagi nomlari bilan murojaat qiling.

  • questions.*.criteriaobject | array

    Javob variantlari har bir turga xos: noul uchun “ha” va “yo‘q” tavsiflari (ixtiyoriy), choice uchun variantlar lug‘ati, score uchun darajalarning tartiblangan ro‘yxati.

Savol turlari

TurNimani so‘raydiNimani qaytaradi
noulTasdiq to‘g‘rimi: ha yoki yo‘qnoul — “ha” ehtimoli 0 dan 1 gacha
choiceBerilgan variantlardan qaysi biri moschoice, probabilities, confidence
scorestate sizning darajalar shkalangizning qayeridascore, legend, probabilities, confidence

Bitta so‘rovda turli turlarni birlashtirish mumkin.

noul — ha yoki yo‘q

Maydon: criteria ixtiyoriy: unda quyidagi javoblarning ma’nosini tavsiflash mumkin: “ha” (true) va “yo‘q” (false). Javob noul — 0 (yo‘q) dan 1 (ha) gacha bo‘lgan son.

"is_urgent": {
  "type": "noul",
  "instructions": "Bu shoshilinchlikni bildiradimi?",
  "criteria": {
    "true": "Vaqt jihatidan shoshilinchligi aniq ko‘rsatilgan",
    "false": "Shoshilinchlik bildirilmagan"
  }
}

choice — variant tanlash

criteria — “variant → tavsif” lug‘ati; tavsif kerak bo‘lmasa, quyidagini ko‘rsating: null. 255 tagacha variant. Javobda choice — eng ehtimolli variant, probabilities — har bir variant ehtimoli (jami 1), confidence — 0 dan 1 gacha ishonch.

"department": {
  "type": "choice",
  "instructions": "Bu bilan qaysi jamoa shug‘ullanishi kerak?",
  "criteria": {
    "billing": "To‘lovlar, hisob-fakturalar, pulni qaytarish",
    "technical": "Xatolar, uzilishlar, integratsiyalar",
    "sales": "Narxlar, yuqori tarifga o‘tish, yangi mijozlar"
  }
}

score — shkala bo‘yicha baholash

criteria — pastdan yuqoriga qarab darajalar, ko‘pi bilan 10 ta (TypeSafe kamida ikkita tavsiya qiladi). Javobda score — darajalar ehtimollari bilan vaznlangan qiymat (darajalar orasida ham bo‘lishi mumkin), legend — daraja raqami va tavsifi, probabilities va confidence. TypeSafe ma’lumotiga ko‘ra, score chegara bilan solishtirishga mos, ammo darajalar orasidagi aniq son uchun emas.

"frustration": {
  "type": "score",
  "instructions": "Mijoz qay darajada norozi?",
  "criteria": ["Xotirjam", "Norozi", "Juda jahli chiqqan"]
}

Javob

  • modelstring

    Modelning qaysi versiyasi javob bergani. jev-latest aliasi vaqt o‘tishi bilan yangi versiyalarga o‘tadi: agar quyidagi chegaralarni tanlagan bo‘lsangiz: confidence aniq bir versiya uchun, bu maydonni kuzating.

  • answersobject

    Har bir savolga bittadan javob, ayni kalitlar ostida. Har bir javobda quyidagisi bor: type, choice va score’da esa qo‘shimcha ravishda confidence.

  • usageobject

    input_tokens va output_tokens. Faqat kirish tokenlari uchun to‘lov olinadi.

Bitta so‘rovda bir nechta savol

Bitta state uchun barcha savollarni bitta so‘rovda bering: ular parallel baholanadi va state bir marta uzatiladi. TypeSafe ma’lumotiga ko‘ra, ularning 13 savolli misolida bitta umumiy so‘rov, bir xil javoblar bilan, ketma-ket yuborilgan 13 ta alohida so‘rovdan 12,2 marta arzonroq va 10 marta tezroq bo‘lgan.

Murakkab bahoni oddiy savollarga ajratib, javoblarni kodda birlashtirgan ma’qul: masalan, “arizani bahola” o‘rniga bozor, amalga oshirish imkoniyati va raqobatchilardan farqlar bo‘yicha alohida baholar. Shunda vaznlar savol matnida emas, kodda o‘zgartiriladi.

{
  "model": "jev-latest",
  "state": "Yordam bering! To‘lovlarim 3 kundan beri amalga oshmayapti.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Bu bilan qaysi jamoa shug‘ullanishi kerak?",
      "criteria": {
        "billing": "To‘lovlar, hisob-fakturalar, pulni qaytarish",
        "technical": "Xatolar, uzilishlar, integratsiyalar",
        "sales": "Narxlar, yuqori tarifga o‘tish, yangi mijozlar"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Mijoz qay darajada norozi?",
      "criteria": ["Xotirjam", "Norozi", "Juda jahli chiqqan"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Bu shoshilinchlikni bildiradimi?"
    }
  }
}

Qachon mos keladi

  • Yo‘naltirish. Murojaatni kerakli bo‘limga, so‘rovni esa kerakli ishlovchiga yuborish: oddiy kod, katta model yoki odamga.
  • Saralash va ustuvorlik. Shoshilinchlik, ohang va xavf — shkala bo‘yicha, koddagi chegaralar bilan.
  • Moderatsiya va tekshiruvlar. Xabar qoidalarni buzadimi, manba iqtibosni tasdiqlaydimi, hujjatda savolning javobi bormi — matn keyingi bosqichga o‘tishidan oldin.
  • Baholash va reytinglash. Hujjatlar, nomzodlar yoki topilgan parchalarni o‘z mezonlaringiz bilan baholab, keyingi bosqichga nima o‘tishini kodda hal qilish.
  • Beqaror “JSON qaytar” o‘rniga. Tahlil qilish kerak bo‘lgan matnni emas, tuzilishi bo‘yicha turlangan qiymatlarni qaytaradigan chaqiruv.

Qachon mos kelmaydi

  • Chat, foydalanuvchiga javoblar, matn yoki kod generatsiyasi. Jev matn yozmaydi — buning uchun quyidagilar bor: matn modellari.
  • Claude Code, Cursor va boshqa agentlar uchun model. Agent modelining o‘rniga jev-latest qo‘yib bo‘lmaydi: agentga matn yozadigan va vositalarni chaqiradigan model kerak. Jev’ni agent siz uchun yozgan koddan chaqirish mumkin.
  • Arifmetika, sanash, sanalarni solishtirish. TypeSafe ma’lumotiga ko‘ra, buni kodda qilish ishonchliroq; modeldan esa faqat mazmuniy qismini so‘rash kerak — masalan, choice orqali sana qismlarini ajratish.
  • Rasmlar, audio va video. Model faqat matn qabul qiladi — bunday ma’lumotlarni oldindan matnga aylantiring.

Narx

Faqat kirish tokenlari uchun to‘lov olinadi — quyidagi maydon: usage.input_tokens javobdagi: 1 mln uchun $0.084. Chiqish tokenlari bepul.

Bu sahifadagi misol so‘rovi (296 kirish tokeni) $0.0001 dan arzon.

So‘rovdan oldin Ailoot balansdagi summani zaxiraga oladi va javobdan keyin haqiqiy sarf bo‘yicha bir marta yechadi — bu qanday ishlaydi.

Limitlar

NimaLimit
Butun so‘rov: state va barcha savollar64K token
state eng uzun savol bilan birga32K token
Bitta choice’dagi variantlar soni255 tagacha
Bitta score’dagi darajalar soni2 dan 10 gacha
Kirishfaqat matn: satr, JSON obyekt yoki matnlar massivi

Model limitlari — TypeSafe ma’lumotiga ko‘ra. Kalitingiz va balansingiz cheklovlari boshqa Ailoot modellari kabi amal qiladi: Xatolar va limitlar.

Xatolar

Xatolar Ailoot API’ning umumiy formatida keladi: kod, tushunarli matn va Request ID. Bu metodda ko‘pincha quyidagilar uchraydi:

KodQachonNima qilish kerak
400 invalid_requestSo‘rov tanasi tekshiruvdan o‘tmadi: state, model yoki questions yo‘q, type noma’lum, choice’da 255 tadan ortiq variant yoki score’da 10 tadan ortiq daraja borXato matniga qarab so‘rovni tuzating: tuzatmasangiz, yana tekshiruvdan o‘tmaydi
400 context_length_exceededstate va savollar birga model limitidan uzunroqstate’ni kodda filtrlang, savollar uchun kerakli ma’lumotni qoldiring
401 invalid_api_keyKalit yo‘q yoki noto‘g‘riKalitni Authorization sarlavhasida uzating
402 insufficient_balanceZaxira uchun erkin balans yetarli emasBalansni to‘ldiring
404 model_not_found, unsupported_endpointID xato yoki model noto‘g‘ri metod bilan chaqirilgan, masalan /v1/chat/completions orqalijev-latest’ni faqat POST /v1/systemone orqali chaqiring
429 rate_limit_exceededSo‘rovlar juda ko‘pRetry-After sarlavhasida ko‘rsatilgan soniyalarni kuting va qayta urinib ko‘ring
503 model_overloaded, model_unavailableModel vaqtincha ortiqcha yuklangan yoki mavjud emasX-Should-Retry: true bo‘lsa — Retry-After soniyadan keyin qayta urinib ko‘ring; false bo‘lsa — avval tarixda Request ID’ni tekshiring
504 model_timeoutModel vaqtida javob bermadiTarixda Request ID’ni tekshirmaguningizcha so‘rovni qayta yubormang

Kodlarning to‘liq ro‘yxati quyidagi sahifada: Xatolar va limitlar.

Savollaringiz qoldimi? Request ID va tavsifni yuboring — tushunishga yordam beramiz.Yordam xizmatiga yozish