dokumentácia
API

Jev – rozhodovací model

Markdown

Rozhodovací model Jev od TypeSafe odpovedá na typované otázky o texte alebo JSON: výber možnosti, hodnotenie na škále alebo „áno/nie“ s pravdepodobnosťami. Nie je to chat ani generovanie textu.

Úplný sprievodca
POSThttps://api.ailoot.ai/v1/systemone
Jev – rozhodovací model
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Pomoc! Výplaty mi už 3 dni zlyhávajú.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Vyjadruje to naliehavosť?"
      }
    }
  }' 
200 OK
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

Jev je rozhodovací model triedy System One od TypeSafe. Nepíše text a nevedie konverzáciu: odovzdáte mu stav (state) – text alebo JSON – a súbor otázok, a v odpovedi dostanete typované hodnoty s pravdepodobnosťami. Kód podľa nich môže okamžite vetviť, triediť a smerovať bez analýzy voľného textu.

Všetky otázky jednej požiadavky sa vyhodnocujú paralelne a nezávisle od seba nad tým istým state. Podľa TypeSafe pridávanie otázok takmer nemení čas odpovede a otázky sa navzájom neovplyvňujú.

ČoStručne
Modeljev-latest – alias najnovšej stabilnej verzie Jev; karta v katalógu
MetódaPOST /v1/systemone. Nie je to chat: formáty OpenAI, Anthropic a Gemini nie sú pre Jev vhodné. Odpoveď príde celá ako jeden JSON
Čo prijímaIba text: reťazec, objekt JSON alebo pole textov. Obrázky, zvuk a video najprv preveďte na text
Kontext64K tokenov na požiadavku – state a všetky otázky spolu; state s najdlhšou otázkou najviac 32K
JazykPodľa TypeSafe model pracuje najpresnejšie v angličtine; prijíma aj iné jazyky, ale s nižšou presnosťou – overte si ju na vlastných údajoch
CenaVstup $0.084 za 1 milión tokenov, výstup zadarmo

Požiadavka

Autorizácia

  • Authorizationheaderpovinné

    Kľúč Ailoot vo formáte Bearer sk-….

Telo požiadavky

  • modelstringpovinné

    jev-latest.

  • statestring | object | arraypovinné

    Čo vyhodnotiť: reťazec s textom alebo JSON – požiadavku zákazníka, záznam z databázy, korešpondenciu, aktuálny stav vašej aplikácie. Objekt so zrozumiteľnými názvami polí je zvyčajne praktickejší než jeden reťazec.

  • questionsobjectpovinné

    Otázky. Kľúče si vyberáte sami, odpovede prídu pod rovnakými kľúčmi; kľúč odpoveď neovplyvňuje – samotná otázka sa zadáva v instructions.

  • questions.*.typestringpovinné

    noul, choice alebo score – pozri nižšie.

  • questions.*.instructionsstring | object | arraypovinné

    Samotná otázka. Dlhú otázku s údajmi možno odovzdať ako objekt: otázku v jednom poli a údaje v ostatných; na polia odkazujte ich názvom v spätných apostrofoch.

  • questions.*.criteriaobject | array

    Možnosti odpovede, odlišné pre každý typ: opisy „áno“ a „nie“ pri noul (voliteľné), slovník možností pri choice, zoradený zoznam úrovní pri score.

Typy otázok

TypNa čo sa pýtaČo vracia
noulPlatí tvrdenie: áno alebo nienoul – pravdepodobnosť „áno“ od 0 do 1
choiceKtorá zo zadaných možností je vhodnáchoice, probabilities, confidence
scoreKde sa state nachádza na vašej škále úrovníscore, legend, probabilities, confidence

V jednej požiadavke možno kombinovať rôzne typy.

noul – áno alebo nie

Pole criteria je voliteľné: možno v ňom opísať, čo znamená „áno“ (true) a „nie“ (false). Odpoveď noul – číslo od 0 (nie) do 1 (áno).

"is_urgent": {
  "type": "noul",
  "instructions": "Vyjadruje to naliehavosť?",
  "criteria": {
    "true": "Výslovná časová naliehavosť",
    "false": "Bez vyjadrenej naliehavosti"
  }
}

choice – výber možnosti

criteria – slovník „možnosť → opis“; ak opis nepotrebujete, uveďte null. Najviac 255 možností. V odpovedi choice – najpravdepodobnejšia možnosť, probabilities – pravdepodobnosť každej možnosti (súčet je 1), confidence – miera istoty od 0 do 1.

"department": {
  "type": "choice",
  "instructions": "Ktorý tím by to mal riešiť?",
  "criteria": {
    "billing": "Platby, fakturácia, vrátenie peňazí",
    "technical": "Chyby, výpadky, integrácie",
    "sales": "Ceny, prechod na vyšší plán, noví zákazníci"
  }
}

score – hodnotenie na škále

criteria – úrovne od najnižšej po najvyššiu, najviac 10 (TypeSafe odporúča aspoň dve). V odpovedi score – hodnota vážená pravdepodobnosťami úrovní (môže ležať medzi úrovňami), legend – číslo úrovne a jej opis, probabilities a confidence. Podľa TypeSafe score je vhodné na porovnanie s prahom, ale nie na určenie presného čísla medzi úrovňami.

"frustration": {
  "type": "score",
  "instructions": "Ako veľmi je zákazník frustrovaný?",
  "criteria": ["Pokojný", "Frustrovaný", "Veľmi nahnevaný"]
}

Odpoveď

  • modelstring

    Verzia modelu, ktorá odpovedala. Alias jev-latest sa časom presúva na nové verzie: ak ste nastavili prahy confidence pre konkrétnu verziu, sledujte toto pole.

  • answersobject

    Jedna odpoveď na každú otázku pod rovnakými kľúčmi. Každá odpoveď má type, pri choice a score navyše confidence.

  • usageobject

    input_tokens a output_tokens. Účtujú sa iba vstupné tokeny.

Viac otázok v jednej požiadavke

Všetky otázky k jednému state odošlite v jednej požiadavke: vyhodnotia sa paralelne a state sa odovzdá iba raz. Podľa TypeSafe bola v ich príklade s 13 otázkami jedna spoločná požiadavka 12,2-krát lacnejšia a 10-krát rýchlejšia než 13 samostatných požiadaviek odoslaných postupne, pri rovnakých odpovediach.

Zložité posúdenie je lepšie rozdeliť na jednoduché otázky a odpovede spojiť v kóde: napríklad namiesto „vyhodnoť žiadosť“ samostatne ohodnotiť trh, realizovateľnosť a odlišnosti od konkurencie. Váhy potom meníte v kóde, nie v texte otázky.

{
  "model": "jev-latest",
  "state": "Pomoc! Výplaty mi už 3 dni zlyhávajú.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Ktorý tím by to mal riešiť?",
      "criteria": {
        "billing": "Platby, fakturácia, vrátenie peňazí",
        "technical": "Chyby, výpadky, integrácie",
        "sales": "Ceny, prechod na vyšší plán, noví zákazníci"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Ako veľmi je zákazník frustrovaný?",
      "criteria": ["Pokojný", "Frustrovaný", "Veľmi nahnevaný"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Vyjadruje to naliehavosť?"
    }
  }
}

Kedy sa hodí

  • Smerovanie. Odoslať požiadavku zákazníka správnemu oddeleniu a požiadavku správnemu spracovateľovi: jednoduchému kódu, veľkému modelu alebo človeku.
  • Triedenie a určovanie priorít. Naliehavosť, tón, riziko – na škále, s prahmi v kóde.
  • Moderovanie a kontroly. Či správa porušuje pravidlá, či zdroj potvrdzuje citát, či dokument obsahuje odpoveď na otázku – ešte pred ďalším spracovaním textu.
  • Skórovanie a zoraďovanie. Ohodnotiť dokumenty, kandidátov alebo nájdené úryvky podľa vlastných kritérií a v kóde rozhodnúť, čo pôjde ďalej.
  • Namiesto nespoľahlivého „vráť JSON“. Volanie, ktoré už zo svojej podstaty vracia typované hodnoty namiesto textu, ktorý treba parsovať.

Kedy sa nehodí

  • Chat, odpovede používateľovi, generovanie textu alebo kódu. Jev nepíše text – na to slúžia textové modely.
  • Model pre Claude Code, Cursor a ďalších agentov. Model agenta nemožno nahradiť modelom jev-latest: agent potrebuje model, ktorý píše text a volá nástroje. Jev možno volať z kódu, ktorý pre vás agent napíše.
  • Aritmetika, počítanie, porovnávanie dátumov. Podľa TypeSafe je spoľahlivejšie robiť to v kóde a modelu nechať iba významovú časť – napríklad extrahovať časti dátumu cez choice.
  • Obrázky, zvuk a video. Model prijíma iba text – takéto údaje vopred preveďte na text.

Cena

Účtujú sa iba vstupné tokeny – pole usage.input_tokens v odpovedi: $0.084 za 1 milión. Výstupné tokeny sú zadarmo.

Požiadavka z príkladu na tejto stránke (296 vstupných tokenov) stojí menej ako $0.0001.

Pred požiadavkou Ailoot rezervuje sumu zo zostatku a po odpovedi ju jednorazovo zaúčtuje podľa skutočnej spotreby – ako to funguje.

Limity

ČoLimit
Celá požiadavka: state a všetky otázky64K tokenov
state s najdlhšou otázkou32K tokenov
Možností v jednom choicenajviac 255
Úrovní v jednom scoreod 2 do 10
Vstupiba text: reťazec, objekt JSON alebo pole textov

Limity modelu sú podľa údajov TypeSafe. Obmedzenia vášho kľúča a zostatku platia rovnako ako pri každom modeli Ailoot: Chyby a limity.

Chyby

Chyby prichádzajú v spoločnom formáte Ailoot API: kód, zrozumiteľný text a Request ID. Pri tejto metóde sa najčastejšie vyskytujú:

KódKedyČo robiť
400 invalid_requestTelo neprešlo kontrolou: chýba state, model alebo questions, neznámy type, pri choice viac ako 255 možností, pri score viac ako 10 úrovníOpravte požiadavku podľa textu chyby: bez opravy opäť neprejde
400 context_length_exceededstate a otázky spolu prekračujú limit modeluOdfiltrujte state v kóde a ponechajte údaje potrebné pre otázky
401 invalid_api_keyKľúč chýba alebo je nesprávnyOdovzdajte kľúč v hlavičke Authorization
402 insufficient_balanceVoľný zostatok nestačí na rezerváciuDobite si kredit
404 model_not_found, unsupported_endpointNesprávne ID alebo model zavolaný nesprávnou metódou, napríklad cez /v1/chat/completionsjev-latest volajte iba cez POST /v1/systemone
429 rate_limit_exceededPríliš veľa požiadaviekPočkajte počet sekúnd uvedený v hlavičke Retry-After a skúste znova
503 model_overloaded, model_unavailableModel je dočasne preťažený alebo nedostupnýAk je X-Should-Retry: true, skúste znova po počte sekúnd z Retry-After; ak false, najprv overte Request ID v histórii
504 model_timeoutModel neodpovedal včasPožiadavku neposielajte znova, kým neoveríte Request ID v histórii

Úplný zoznam kódov je na stránke Chyby a limity.

Máte ďalšie otázky? Pošlite Request ID a opis problému – pomôžeme vám ho vyriešiť.Napísať podpore