dokumentacija
API

Jev – model za odločanje

Markdown

Model za odločanje Jev podjetja TypeSafe odgovarja na tipizirana vprašanja o besedilu ali JSON: izbira možnosti, ocena na lestvici ali »da/ne« z verjetnostmi. To ni klepet ali generiranje besedila.

Celoten vodnik
POSThttps://api.ailoot.ai/v1/systemone
Jev – model za odločanje
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Ali to sporočilo izraža nujnost?"
      }
    }
  }' 
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 za odločanje razreda System One podjetja TypeSafe. Ne piše besedila in ne vodi pogovora: posredujete stanje (state) – besedilo ali JSON – in nabor vprašanj, v odgovoru pa prejmete tipizirane vrednosti z verjetnostmi. Na njihovi podlagi koda takoj razveji izvajanje, razvršča in usmerja, brez razčlenjevanja prostega besedila.

Vsa vprašanja iste zahteve se ocenijo vzporedno in neodvisno drugo od drugega glede na isti state. Po podatkih TypeSafe dodajanje vprašanj skoraj ne spremeni odzivnega časa, vprašanja pa ne vplivajo drugo na drugo.

KajNa kratko
Modeljev-latest – vzdevek najnovejše stabilne različice Jev; kartica v katalogu
MetodaPOST /v1/systemone. To ni klepet: formati OpenAI, Anthropic in Gemini niso primerni za Jev. Odgovor prispe v celoti kot en JSON
Kaj sprejemaSamo besedilo: niz, objekt JSON ali polje besedil. Slike, zvok in video najprej pretvorite v besedilo
Kontekst64K žetonov na zahtevo – state in vsa vprašanja skupaj; state skupaj z najdaljšim vprašanjem – do 32K
JezikPo podatkih TypeSafe model najnatančneje deluje v angleščini; druge jezike sprejema, vendar je natančnost nižja – preverite na svojih podatkih
CenaVhod $0.084 za 1 milijon žetonov, izhod brezplačen

Zahteva

Avtentikacija

  • Authorizationheaderobvezno

    Ključ Ailoot v obliki Bearer sk-….

Telo zahteve

  • modelstringobvezno

    jev-latest.

  • statestring | object | arrayobvezno

    Kaj ocenjevati: niz z besedilom ali JSON – sporočilo stranke, zapis iz podatkovne zbirke, korespondenco, trenutno stanje vaše aplikacije. Objekt z razumljivimi imeni polj je običajno priročnejši od enega niza.

  • questionsobjectobvezno

    Vprašanja. Ključe izberete sami, odgovori pa prispejo pod istimi ključi; ključ ne vpliva na odgovor – samo vprašanje je določeno v instructions.

  • questions.*.typestringobvezno

    noul, choice ali score – glejte spodaj.

  • questions.*.instructionsstring | object | arrayobvezno

    Samo vprašanje. Dolgo vprašanje s podatki lahko posredujete kot objekt: vprašanje v enem polju, podatke v drugih; na polja se sklicujte z imenom v obrnjenih narekovajih.

  • questions.*.criteriaobject | array

    Možnosti odgovora, različne za vsako vrsto: opisa »da« in »ne« pri noul (neobvezno), slovar možnosti pri choice, urejeni seznam ravni pri score.

Vrste vprašanj

VrstaKaj sprašujeKaj vrne
noulAli trditev drži: da ali nenoul – verjetnost odgovora »da« od 0 do 1
choiceKatera od navedenih možnosti ustrezachoice, probabilities, confidence
scoreKje je state na vaši lestvici ravniscore, legend, probabilities, confidence

Vrste lahko kombinirate v eni zahtevi.

noul – da ali ne

Polje criteria je neobvezno: v njem lahko opišete, kaj pomenita »da« (true) in »ne« (false). Odgovor noul – število od 0 (ne) do 1 (da).

"is_urgent": {
  "type": "noul",
  "instructions": "Ali to sporočilo izraža nujnost?",
  "criteria": {
    "true": "Izrecno časovno nujno",
    "false": "Nujnost ni izražena"
  }
}

choice – izbira možnosti

criteria – slovar »možnost → opis«; če opisa ne potrebujete, navedite null. Največ 255 možnosti. V odgovoru choice – najverjetnejša možnost, probabilities – verjetnost vsake možnosti (vsota je 1), confidence – zanesljivost od 0 do 1.

"department": {
  "type": "choice",
  "instructions": "Katera ekipa naj to obravnava?",
  "criteria": {
    "billing": "Plačila, izdajanje računov, vračila",
    "technical": "Napake, izpadi, integracije",
    "sales": "Cene, nadgradnje, nove stranke"
  }
}

score – ocena na lestvici

criteria – ravni od najnižje do najvišje, največ 10 (TypeSafe priporoča vsaj dve). V odgovoru score – vrednost, utežena glede na verjetnosti ravni (lahko je med ravnmi), legend – številka ravni in njen opis, probabilities in confidence. Po podatkih TypeSafe je score primeren za primerjavo s pragom, ne pa za natančno število med ravnmi.

"frustration": {
  "type": "score",
  "instructions": "Kako nezadovoljna je stranka?",
  "criteria": ["Mirna", "Nezadovoljna", "Zelo jezna"]
}

Odgovor

  • modelstring

    Katera različica modela je odgovorila. Vzdevek jev-latest sčasoma preide na nove različice: če ste pragove confidence prilagodili določeni različici, spremljajte to polje.

  • answersobject

    En odgovor za vsako vprašanje, pod istimi ključi. Vsak odgovor ima type, pri choice in score pa še confidence.

  • usageobject

    input_tokens in output_tokens. Obračunajo se samo vhodni žetoni.

Več vprašanj v eni zahtevi

Vsa vprašanja za isti state pošljite v eni zahtevi: ocenijo se vzporedno, state pa se posreduje samo enkrat. Po podatkih TypeSafe je bila v njihovem primeru s 13 vprašanji ena skupna zahteva 12,2-krat cenejša in 10-krat hitrejša kot 13 ločenih zahtev, poslanih zaporedno, pri enakih odgovorih.

Zapleteno presojo je bolje razdeliti na preprosta vprašanja in odgovore združiti v kodi: na primer, namesto »oceni vlogo« ločeno ocenite trg, izvedljivost in razlike glede na konkurente. Uteži nato spreminjate v kodi, ne v besedilu vprašanja.

{
  "model": "jev-latest",
  "state": "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Katera ekipa naj to obravnava?",
      "criteria": {
        "billing": "Plačila, izdajanje računov, vračila",
        "technical": "Napake, izpadi, integracije",
        "sales": "Cene, nadgradnje, nove stranke"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Kako nezadovoljna je stranka?",
      "criteria": ["Mirna", "Nezadovoljna", "Zelo jezna"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Ali to sporočilo izraža nujnost?"
    }
  }
}

Kdaj je primeren

  • Usmerjanje. Sporočilo stranke pošljite ustreznemu oddelku, zahtevo pa ustreznemu izvajalcu: preprosti kodi, velikemu modelu ali človeku.
  • Razvrščanje in prednost. Nujnost, ton, tveganje – na lestvici, s pragovi v kodi.
  • Moderiranje in preverjanje. Ali sporočilo krši pravila, ali vir potrjuje navedek, ali dokument vsebuje odgovor na vprašanje – preden besedilo nadaljuje pot.
  • Ocenjevanje in razvrščanje. Dokumente, kandidate ali najdene odlomke ocenite po svojih merilih in v kodi odločite, kaj bo šlo naprej.
  • Namesto nezanesljivega »vrni JSON«. Klic, ki že po zasnovi vrne tipizirane vrednosti, namesto besedila, ki ga je treba razčleniti.

Kdaj ni primeren

  • Klepet, odgovori uporabniku, generiranje besedila ali kode. Jev ne piše besedila – za to so na voljo besedilni modeli.
  • Model za Claude Code, Cursor in druge agente. jev-latest ne morete uporabiti namesto agentovega modela: agent potrebuje model, ki piše besedilo in kliče orodja. Jev lahko kličete iz kode, ki jo agent napiše za vas.
  • Aritmetika, štetje, primerjava datumov. Po podatkih TypeSafe je to zanesljiveje izvesti v kodi, model pa vprašati le po pomenskem delu – na primer, prek choice izluščiti dele datuma.
  • Slike, zvok in video. Model sprejema le besedilo – takšne podatke vnaprej pretvorite v besedilo.

Cena

Obračunajo se samo vhodni žetoni – polje usage.input_tokens odgovora: $0.084 za 1 milijon. Izhodni žetoni so brezplačni.

Zahteva iz primera na tej strani (296 vhodnih žetonov) stane manj kot $0.0001.

Ailoot pred zahtevo rezervira znesek na računu, po odgovoru pa ga bremeni enkrat glede na dejansko porabo – kako deluje.

Omejitve

KajOmejitev
Celotna zahteva: state in vsa vprašanja64K žetonov
state skupaj z najdaljšim vprašanjem32K žetonov
Možnosti v enem choicedo 255
Ravni v enem scoreod 2 do 10
Vhodsamo besedilo: niz, objekt JSON ali polje besedil

Omejitve modela so navedene po podatkih TypeSafe. Omejitve vašega ključa in stanja veljajo enako kot pri kateremkoli modelu Ailoot: Napake in omejitve.

Napake

Napake prispejo v skupnem formatu Ailoot API: koda, razumljivo besedilo in Request ID. Pri tej metodi so najpogostejše:

KodaKdajKaj storiti
400 invalid_requestTelo ni prestalo preverjanja: manjka state, model ali questions, neznan type, pri choice več kot 255 možnosti, pri score več kot 10 ravniZahtevo popravite glede na besedilo napake: brez popravka ponovno ne bo prestala preverjanja
400 context_length_exceededstate in vprašanja skupaj presegajo omejitev modelaFiltrirajte state v kodi in pustite le podatke, ki jih vprašanja potrebujejo
401 invalid_api_keyKljuč manjka ali je napačenKljuč pošljite v glavi Authorization
402 insufficient_balanceZa rezervacijo ni dovolj prostih sredstevDodajte sredstva
404 model_not_found, unsupported_endpointID je napačen ali je model poklican z napačno metodo, na primer prek /v1/chat/completionsjev-latest kličite le prek POST /v1/systemone
429 rate_limit_exceededPreveč zahtevPočakajte toliko sekund, kot je navedeno v glavi Retry-After, in ponovite
503 model_overloaded, model_unavailableModel je začasno preobremenjen ali nedostopenČe je X-Should-Retry: true – ponovite po številu sekund, navedenem v Retry-After; če je false – najprej preverite Request ID v zgodovini
504 model_timeoutModel ni odgovoril pravočasnoZahteve ne pošljite ponovno, dokler ne preverite Request ID v zgodovini

Celotni seznam kod najdete na strani Napake in omejitve.

Imate še vprašanja? Pošljite Request ID in opis – pomagali vam bomo razjasniti težavo.Pišite podpori