dokumentace
API

Jev – model pro rozhodování

Markdown

Model pro rozhodování Jev od TypeSafe odpovídá na typované otázky o textu nebo JSON: volba varianty, hodnocení na stupnici nebo „ano/ne“ s pravděpodobnostmi. Nejde o chat ani generování textu.

Úplný průvodce
POSThttps://api.ailoot.ai/v1/systemone
Jev – model pro rozhodování
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Pomoc! Už 3 dny mi neprocházejí výplaty.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Vyjadřuje to naléhavost?"
      }
    }
  }' 
200 OK
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

Jev je model pro rozhodování třídy System One od TypeSafe. Nepíše text ani nevede dialog: předáváte stav (state) – text nebo JSON – a sadu otázek a jako odpověď dostanete typované hodnoty s pravděpodobnostmi. Na jejich základě kód rovnou větví běh, třídí a směruje, bez rozboru volného textu.

Všechny otázky jednoho požadavku se vyhodnocují paralelně a nezávisle na sobě nad stejným state. Podle údajů TypeSafe přidání otázek téměř nemění dobu odpovědi a otázky se navzájem neovlivňují.

CoStručně
Modeljev-latest – alias nejnovější stabilní verze Jev; karta v katalogu
MetodaPOST /v1/systemone. Nejde o chat: formáty OpenAI, Anthropic a Gemini pro Jev nelze použít. Odpověď přichází celá, jako jeden JSON
Co přijímáPouze text: řetězec, objekt JSON nebo pole textů. Obrázky, zvuk a video nejprve převeďte na text
Kontext64K tokenů na požadavek – state a všechny otázky dohromady; state společně s nejdelší otázkou – až 32K
JazykPodle údajů TypeSafe model nejpřesněji pracuje v angličtině; přijímá i jiné jazyky, ale s nižší přesností – ověřte jej na vlastních datech
CenaVstup $0.084 za 1 milion tokenů, výstup zdarma

Požadavek

Autorizace

  • Authorizationheaderpovinný

    Klíč Ailoot ve tvaru Bearer sk-….

Tělo požadavku

  • modelstringpovinný

    jev-latest.

  • statestring | object | arraypovinný

    Co vyhodnotit: řetězec s textem nebo JSON – sdělení zákazníka, záznam z databáze, korespondenci, aktuální stav vaší aplikace. Objekt se srozumitelnými názvy polí je obvykle praktičtější než jeden řetězec.

  • questionsobjectpovinný

    Otázky. Klíče volíte vy, odpovědi přijdou pod stejnými klíči; klíč nemá vliv na odpověď – samotnou otázku zadáváte v instructions.

  • questions.*.typestringpovinný

    noul, choice nebo score – viz níže.

  • questions.*.instructionsstring | object | arraypovinný

    Samotná otázka. Dlouhou otázku s daty lze předat jako objekt: otázku v jednom poli, data v dalších; na pole odkazujte jejich názvem ve zpětných apostrofech.

  • questions.*.criteriaobject | array

    Varianty odpovědi, specifické pro každý typ: popisy „ano“ a „ne“ pro noul (nepovinné), slovník variant pro choice, seřazený seznam úrovní pro score.

Typy otázek

TypNa co se ptáCo vrací
noulJe tvrzení pravdivé: ano nebo nenoul – pravděpodobnost „ano“ od 0 do 1
choiceKterá z uvedených variant je vhodnáchoice, probabilities, confidence
scoreKde se state nachází na vaší stupnici úrovníscore, legend, probabilities, confidence

Typy lze kombinovat v jednom požadavku.

noul – ano nebo ne

Pole criteria je nepovinné: můžete v něm popsat, co znamená „ano“ (true) a „ne“ (false). Odpověď noul – číslo od 0 (ne) do 1 (ano).

"is_urgent": {
  "type": "noul",
  "instructions": "Vyjadřuje to naléhavost?",
  "criteria": {
    "true": "Výslovně vyjádřená časová naléhavost",
    "false": "Naléhavost není vyjádřena"
  }
}

choice – výběr varianty

criteria – slovník „varianta → popis“; pokud popis není potřeba, uveďte null. Až 255 variant. V odpovědi choice – nejpravděpodobnější varianta, probabilities – pravděpodobnost každé varianty (součet je 1), confidence – míra jistoty od 0 do 1.

"department": {
  "type": "choice",
  "instructions": "Který tým by to měl řešit?",
  "criteria": {
    "billing": "Platby, fakturace, vracení peněz",
    "technical": "Chyby, výpadky, integrace",
    "sales": "Ceny, přechod na vyšší tarif, noví zákazníci"
  }
}

score – hodnocení na stupnici

criteria – úrovně od nejnižší po nejvyšší, nejvýše 10 (TypeSafe doporučuje alespoň dvě). V odpovědi score – hodnota vážená pravděpodobnostmi úrovní (může ležet mezi úrovněmi), legend – číslo úrovně a její popis, probabilities a confidence. Podle údajů TypeSafe, score je vhodný pro porovnání s prahem, nikoli jako přesné číslo mezi úrovněmi.

"frustration": {
  "type": "score",
  "instructions": "Jak moc je zákazník frustrovaný?",
  "criteria": ["Klidný", "Frustrovaný", "Velmi rozzlobený"]
}

Odpověď

  • modelstring

    Která verze modelu odpověděla. Alias jev-latest postupně přechází na nové verze: pokud jste nastavili prahy confidence pro konkrétní verzi, sledujte toto pole.

  • answersobject

    Jedna odpověď na každou otázku, pod stejnými klíči. Každá odpověď má type, u choice a score navíc confidence.

  • usageobject

    input_tokens a output_tokens. Účtují se pouze vstupní tokeny.

Více otázek v jednom požadavku

Pokládejte všechny otázky k jednomu state v jediném požadavku: vyhodnocují se paralelně a state se předává jen jednou. Podle údajů TypeSafe byl v jejich příkladu s 13 otázkami jeden společný požadavek 12,2krát levnější a 10krát rychlejší než 13 samostatných požadavků odesílaných postupně, při stejných odpovědích.

Složité posouzení je lepší rozdělit na jednoduché otázky a odpovědi spojit v kódu: například místo „zhodnoť žádost“ – samostatná hodnocení trhu, proveditelnosti a odlišností od konkurence. Váhy se pak mění v kódu, nikoli v textu otázky.

{
  "model": "jev-latest",
  "state": "Pomoc! Už 3 dny mi neprocházejí výplaty.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Který tým by to měl řešit?",
      "criteria": {
        "billing": "Platby, fakturace, vracení peněz",
        "technical": "Chyby, výpadky, integrace",
        "sales": "Ceny, přechod na vyšší tarif, noví zákazníci"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Jak moc je zákazník frustrovaný?",
      "criteria": ["Klidný", "Frustrovaný", "Velmi rozzlobený"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Vyjadřuje to naléhavost?"
    }
  }
}

Kdy se hodí

  • Směrování. Předat sdělení příslušnému oddělení a požadavek správnému zpracovateli: jednoduchému kódu, velkému modelu nebo člověku.
  • Třídění a priorita. Naléhavost, vyznění, riziko – na stupnici, s prahy v kódu.
  • Moderování a kontroly. Zda zpráva porušuje pravidla, zda zdroj potvrzuje citaci, zda dokument obsahuje odpověď na otázku – dříve, než se text předá dál.
  • Hodnocení a řazení. Vyhodnotit dokumenty, kandidáty nebo nalezené úryvky podle vlastních hodnoticích kritérií a v kódu rozhodnout, co se předá dál.
  • Namísto křehkého „vrať JSON“. Volání, které už svou konstrukcí vrací typované hodnoty, nikoli text, který je nutné rozebírat.

Kdy se nehodí

  • Chat, odpovědi uživateli, generování textu nebo kódu. Jev nepíše text – k tomu slouží textové modely.
  • Model pro Claude Code, Cursor a další agenty. Nahradit model agenta modelem jev-latest nelze: agent potřebuje model, který píše text a volá nástroje. Jev můžete volat z kódu, který pro vás agent napíše.
  • Aritmetika, počítání, porovnávání kalendářních dat. Podle údajů TypeSafe je spolehlivější dělat to v kódu a modelu zadávat jen významovou část – například vyjmout části data pomocí choice.
  • Obrázky, zvuk a video. Model přijímá pouze text – taková data převeďte na text předem.

Cena

Účtují se pouze vstupní tokeny – pole usage.input_tokens odpovědi: $0.084 za 1 milion. Výstupní tokeny jsou zdarma.

Požadavek z příkladu na této stránce (296 vstupních tokenů) stojí méně než $0.0001.

Před požadavkem Ailoot rezervuje částku na zůstatku a po odpovědi ji jednou strhne podle skutečné spotřeby – jak to funguje.

Limity

CoLimit
Celý požadavek: state a všechny otázky64K tokenů
state společně s nejdelší otázkou32K tokenů
Počet variant v jednom choiceaž 255
Počet úrovní v jednom scoreod 2 do 10
Vstuppouze text: řetězec, objekt JSON nebo pole textů

Limity modelu jsou podle údajů TypeSafe. Omezení vašeho klíče a zůstatku platí stejně jako pro kterýkoli model Ailoot: Chyby a limity.

Chyby

Chyby přicházejí v obecném formátu Ailoot API: kód, srozumitelný text a Request ID. U této metody se nejčastěji vyskytují:

KódKdyCo dělat
400 invalid_requestTělo neprošlo kontrolou: chybí state, model nebo questions, neznámý type, u choice více než 255 variant, u score více než 10 úrovníOpravte požadavek podle textu chyby: beze změny kontrolou znovu neprojde
400 context_length_exceededstate a otázky dohromady překračují limit modeluV kódu odfiltrujte state a ponechte jen to, co otázky potřebují
401 invalid_api_keyKlíč chybí nebo je neplatnýPředejte klíč v hlavičce Authorization
402 insufficient_balanceNedostatek volného zůstatku pro rezervaciDoplňte zůstatek
404 model_not_found, unsupported_endpointChybné ID nebo model volaný nesprávnou metodou, například přes /v1/chat/completionsjev-latest volejte pouze přes POST /v1/systemone
429 rate_limit_exceededPříliš mnoho požadavkůVyčkejte tolik sekund, kolik uvádí hlavička Retry-After, a opakujte požadavek
503 model_overloaded, model_unavailableModel je dočasně přetížený nebo nedostupnýPokud X-Should-Retry: true – opakujte po počtu sekund uvedeném v Retry-After; pokud false – nejprve zkontrolujte Request ID v historii
504 model_timeoutModel neodpověděl včasNeposílejte požadavek znovu, dokud neověříte Request ID v historii

Úplný seznam kódů najdete na stránce Chyby a limity.

Máte další dotazy? Pošlete Request ID a popis – pomůžeme situaci objasnit.Napsat podpoře