{
  "aboutHtml": "<p>Jev — pagrindinis TypeSafe modelis ir pirmasis naujos klasės <strong>System One</strong> modelis. Jis nekuria teksto, o greitai priima sprendimus, kuriuos programa gali iš karto naudoti: perduodate <strong>būseną</strong> (<code>state</code>) — tekstą arba JSON — ir <strong>klausimų</strong> rinkinį, o atsakyme gaunate tipizuotas reikšmes su kalibruotomis tikimybėmis.</p><p>Kalbos modeliai rašo žodžius žmonėms, o Jev, TypeSafe teigimu, artimesnis kodui: atsakymas iš karto yra kodui reikiamos formos, veikimas greitas ir nėra nė vienos reikšmės už nustatytų variantų ribų. Modelis sumanytas taip, kad pakartotinėse užklausose pateiktų stabilius atsakymus.</p><h4>Kuo System One skiriasi nuo kalbos modelio</h4><ul><li><strong>Negeneruoja.</strong> Jev nerašo atsakymų naudotojui, nekuria kodo ir nepaaiškina samprotavimo eigos. Galimus atsakymus nustatote jūs — per vieną iš trijų klausimų tipų.</li><li><strong>Mokytas kalibruotiems sprendimams.</strong> TypeSafe moko modelį RLCD (Reinforcement Learning for Calibrated Decisions) metodu: tikimybės derinamos prie tikrųjų baigčių ir atspindi neapibrėžtumą. Iš daugelio atsakymų, kurių tikimybė 0,8, maždaug 80% turėtų būti teisingi. Kalibravimas — didelės imties savybė, o ne atskiro atsakymo teisingumo garantija.</li><li><strong>Kitoks mokymo tikslas.</strong> Pokalbių modeliai mokomi patikti žmonėms (RLHF), o tai, TypeSafe pastebėjimu, skatina pataikavimą ir užtikrintai skambančias klaidas. Vienas iš RLHF bendraautorių, Diogo Almeida, yra TypeSafe vienas iš įkūrėjų.</li></ul><p>Pavadinimas nurodo „Sistemą 1“ iš Danielio Kahnemano knygos „Mąstymas, greitas ir lėtas“: greitą intuityvų vertinimą, priešingą lėtam apgalvotam „Sistemos 2“ mąstymui. Jev sukurtas greitiems siauriems vertinimams.</p><h4>Trys klausimų tipai</h4><p>Klausimas — vienas būsenos vertinimas, atsakymas — reikšmė, kurią kodas lygina su slenksčiu, rūšiuoja arba perduoda toliau.</p><ol><li><strong>Choice — varianto pasirinkimas.</strong> Kreipiniui skirtas skyrius, prekės kategorija, kodo fragmento kalba. Variantai — žodynas „variantas → aprašymas“, iki 255 variantų. Atsakyme — pasirinktas <code>choice</code>, visų variantų tikimybės <code>probabilities</code> (jų suma 1) ir užtikrintumas <code>confidence</code>. Jei sąrašas gali neapimti visų atvejų, pridėkite „kita“ arba „nė vienas iš išvardytų“.</li><li><strong>Score — įvertinimas pagal skalę.</strong> Vieta jūsų aprašytoje sutvarkytoje skalėje: klaidos rimtumas, kliento susierzinimas, įgūdžio lygis. Nuo 2 iki 10 lygių, nuo žemiausio iki aukščiausio; kiekvieną lygį modelis vertina atskirai, nematydamas jo numerio ir kaimyninių lygių. Atsakyme — <code>score</code> (lygių numerių, padaugintų iš jų tikimybių, suma, todėl reikšmė gali būti tarp lygių), <code>legend</code> su lygių aprašymais, <code>probabilities</code> ir <code>confidence</code>.</li><li><strong>Noul — taip arba ne.</strong> Ar teiginys teisingas. Atsakymas <code>noul</code> — „taip“ tikimybė nuo 0 iki 1: arti 1 — užtikrintas „taip“, arti 0 — užtikrintas „ne“, arti 0,5 — modelis abejoja. Atskiro <code>confidence</code> nėra: vienas skaičius visiškai apibūdina atsakymą. Neprivalomas <code>criteria</code> patikslina, ką laikyti „taip“, o ką — „ne“.</li></ol><p>Kaip pasirinkti: žinomi variantai be tvarkos — choice; spektro pakopos — score; grynas „taip / ne“, kur svarbi pati tikimybė, — noul. Noul 0,5 — vienodos „taip“ ir „ne“ tikimybės, o ne „vidutinis lygis“: laipsnį matuoja score. Iš dviejų tinkamų tipų rinkitės tą, pagal kurį kodas iš karto veikia: choice — šakos, score — slenkstis, noul — <code>if</code>.</p><p>Tipus galima maišyti vienoje užklausoje. Atsakymas visada apribotas jūsų variantais ir nepriklauso nuo kitų klausimų: klausimus galima pridėti ir pašalinti nekeičiant likusių atsakymų.</p><h4>Būsena</h4><p>Būsena — tai, ką modelis vertina: kliento pranešimas, dokumento fragmentas, duomenų bazės įrašas arba jūsų programos būsena.</p><ul><li><strong>Eilutė</strong> — kai tekstas vienas: pranešimas, straipsnis, ištrauka.</li><li><strong>Objektas</strong> — pavadinti laukai, susiję įrašai, programos būsena. TypeSafe pataria daugumai užklausų naudoti objektą: kiekviena dalis turi aiškų pavadinimą.</li><li><strong>Masyvas</strong> — pranešimų arba įrašų seka.</li></ul><p>Renkite jį kaip medžiagą ekspertams: susirašinėjimą, užsakymą ir grąžinimo taisykles pateikite kartu, jei sprendimui reikia juos palyginti. Turinį laikykite būsenoje, vertinimus — klausimuose. Jei klausimas susijęs su viena būsenos dalimi, jame nurodykite kelią iki jos tarp atvirkštinių kabučių, pavyzdžiui, <code>ticket.messages[0].text</code>.</p><h4>Kaip pateikti klausimus</h4><ul><li><strong>Vienas greitas vertinimas kiekvienam klausimui.</strong> Geras klausimas — toks, į kurį išmanantis žmogus, turintis reikiamą kontekstą, atsakytų per sekundę: „Ar pranešimas skubus?“. „Išanalizuok pranešimą ir nuspręsk, ką daryti“ — jau lėtas samprotavimas, jį reikia išskaidyti į paprastus klausimus.</li><li><strong>Visas klausimas — <code>instructions</code>.</strong> Klausimo raktas, pavyzdžiui, <code>refund_requested</code>, reikalingas tik jūsų kodui ir modeliui neperduodamas.</li><li><strong>Visi klausimai apie vieną būseną — viena užklausa.</strong> Modelis juos vertina lygiagrečiai: TypeSafe duomenimis, papildomi klausimai beveik nepailgina atsakymo laiko ir kainuoja tik savo tokenus. Klausimas „dėl visa ko“ beveik nieko nekainuoja — kodas pats nuspręs, kurių atsakymų reikia.</li><li><strong>Sudėtingas vertinimas — dalimis.</strong> Užuot prašę „įvertink startuolio paraišką“, atskirai klauskite apie rinkos dydį, techninį įgyvendinamumą ir skirtumus nuo konkurentų, o galutinį įvertinimą apskaičiuokite kode su svoriais. Pasikeitus prioritetams keiskite svorius, o ne perrašykite klausimą.</li><li><strong>Priklausomi klausimai — antra užklausa.</strong> Vienos užklausos atsakymai nėra vienas kito kontekstas. Antros užklausos reikia tik tada, jei jos neįmanoma sudaryti be pirmojo atsakymo: reikia įkelti duomenis arba pasirinkti kito klausimo variantus.</li><li><strong>Ilgas klausimas — objektu.</strong> <code>instructions</code> ir <code>criteria</code> paprastai yra eilutės, bet gali būti objektas arba masyvas: klausimas viename lauke, duomenys — kituose. Taip patogu vienu klausimu lyginti gyvenimo aprašymą su duomenų bazės įrašais.</li></ul><h4>Užtikrintumas</h4><p>Choice ir score <code>confidence</code> nuo 0 iki 1 parodo, kiek tikimybė sutelkta viename atsakyme: 1 — visa viename variante, 0 — po lygiai visuose. Score atveju kaimyninis lygis mažina užtikrintumą mažiau nei tolimas. Noul atveju užtikrintumas — pati reikšmė: kuo toliau nuo 0,5, tuo tvirtesnis atsakymas.</p><p>TypeSafe pataria naudoti tris intervalus:</p><ol><li><strong>Didelis užtikrintumas</strong> — veikite automatiškai.</li><li><strong>Vidutinis</strong> — veikite atsargiai, pavyzdžiui, paprašykite naudotojo patvirtinti.</li><li><strong>Mažas</strong> — perduokite atvejį žmogui, patikslinkite užklausą arba prijunkite atsarginį kelią, pavyzdžiui, galingesnį modelį su samprotavimu.</li></ol><p>Kuo brangesnė klaida, tuo griežtesnis slenkstis: negrįžtamiems veiksmams — aukštesnis nei skaitymui. Atsakymas pasako, ką pasirinkti, o užtikrintumas — ar verta veikti. Slenksčius parinkite pagal savo duomenis, lygindami užtikrintumą su tikslumu.</p><h4>Kaip kurti sistemą aplink Jev</h4><p>Jev skirtas ne agentams, kurie patys pasirenka kitą žingsnį ir kiekviename cikle gali nukrypti, o programoms, kuriose procesą valdo kodas, o modelis atsako į siaurus prasmės klausimus. Aštuoni projektavimo žingsniai pagal TypeSafe:</p><ol><li>Viską, ką galima padaryti kodu, darykite kodu — patikimai ir pigiai.</li><li>Į būseną — tik tai, ko reikia dabartiniams klausimams; nauji faktai — iš savo žinių bazės, o ne iš modelio atminties.</li><li>Struktūra būsenoje: įdėtinis JSON, o klausime — kelias iki reikiamo lauko tarp atvirkštinių kabučių, jei taip sumažėja dviprasmybė.</li><li>Kuo siauresni ir konkretesni klausimai — TypeSafe teigimu, tai galbūt svarbiausia taisyklė: platus klausimas po vienu atsakymu paslepia kelis vertinimus.</li><li>Struktūra klausimuose: pats klausimas trumpas; paaiškinimai, pavyzdžiai ir jūsų bazės reikšmės — gretimuose objekto <code>instructions</code> arba <code>criteria</code> laukuose, o ne vienoje ilgoje eilutėje.</li><li>Daug nepriklausomų klausimų apie vieną būseną vienoje užklausoje — daugiau naudos už kiekvieną dolerį.</li><li>Atsakymus sujungia kodas: taisyklėmis, svertine suma arba kaip požymius klasikiniam mašininio mokymosi modeliui.</li><li>Šakojimas pagal užtikrintumą: neužtikrinti atvejai — žmogui arba modeliui su samprotavimu.</li></ol><p>Jev nėra pokalbių ar kodo automatinio užbaigimo modelis, todėl jo negalima įdėti į programavimo agentą vietoje kalbos modelio. Tačiau agentas gali jums parašyti kodą, kuris kviečia Jev ten, kur reikia greito kalibruoto atsakymo.</p><h4>Kur taikomas</h4><ul><li><strong>Foninė automatizacija</strong> — sprendimai, paleidžiami milijoną kartų be šalia esančio žmogaus.</li><li><strong>Tikrasis laikas</strong> — TypeSafe duomenimis, dauguma užklausų įvykdomos maždaug per 100 ms: pakanka apdorojimui realiuoju laiku ir sąsajoms.</li><li><strong>Didieji duomenys</strong> — paieška milžiniškuose tekstynuose, agentų darbo žurnalų žymėjimas, prognozių požymiai.</li><li><strong>Kitų modelių tikrinimas</strong> — užklausos, išgauti duomenys, samprotavimas, įrankių kvietimai: ribojimų apėjimas, citavimo klaidos, išgalvota informacija.</li><li><strong>Paieška ir reitingavimas</strong> — poros „užklausa — kandidatas“ atitiktis, pakartotinis reitingavimas, konteksto atranka.</li><li><strong>Šakojimas pagal ketinimą</strong> — ko nori naudotojas ir kokio apdorojimo reikia: paprastos logikos, specializuoto modelio ar žmogaus; tema, sudėtingumas ir rizika lemia, kuriam kalbos modeliui perduoti užklausą.</li><li><strong>Apsauginės patikros</strong> — kalbos modelio įvestis, išvestis ir įrankių kvietimai: įterptos instrukcijos, taisyklių pažeidimai, asmens duomenų nutekėjimas.</li><li><strong>Pagalba klientams</strong> — kreipinio tema ir ketinimas, skubumas, susierzinimas, pasitraukimo rizika, prašymas grąžinti pinigus, eilė.</li><li><strong>Moderavimas</strong> — pagal jūsų platformos taisykles: toksiškumas, patyčios, šlamštas, sukčiavimas, pavojingi patarimai, asmens duomenys; pagal rimtumą ir užtikrintumą — praleisti, įspėti, patikrinti arba užblokuoti.</li><li><strong>Sritys</strong> — draudžiamieji įvykiai, finansiniai tyrimai ir KYC, sutartys ir reklama, prekių kortelės, darbuotojų atranka, potencialūs klientai, žaidimai, rizika, paklausos prognozė, žinių grafai, mokslinės apžvalgos, semantinės kodo patikros CI sistemoje.</li></ul><h4>Charakteristikos</h4><ul><li><strong><code>jev-latest</code></strong> — naujausios stabilios versijos pseudonimas, dabar Jev 1.13; atsakiusi versija pateikiama lauke <code>model</code>, pavyzdžiui, <code>jev-1.13.0</code>. Atsiradus naujai versijai pseudonimas nukreipiamas į ją, o atsakymai gali pasikeisti be jūsų pakeitimų — stebėkite šį lauką, jei slenksčiai parinkti konkrečiai versijai.</li><li><strong>Kontekstas</strong> — 64K tokenų vienai užklausai: būsena ir visi klausimai kartu; būsena su ilgiausiu klausimu — iki 32K. Modelis būseną perskaito vieną kartą ir visus klausimus tikrina pagal ją lygiagrečiai.</li><li><strong>Įvestis</strong> — tik tekstas: eilutė, JSON objektas arba tekstų masyvas. Vaizdai, garsas ir vaizdo įrašai kol kas nepalaikomi — iš anksto paverskite juos tekstu.</li><li><strong>Kalba</strong> — pagrindinė mokymo kalba yra anglų, ja tikslumas šiuo metu didžiausias. Kitas kalbas, įskaitant kinų, japonų ir korėjiečių, modelis priima, tačiau tikslumas mažesnis — patikrinkite pagal savo duomenis.</li><li><strong>Ailoot API kainos ir atsiskaitymas</strong> — sąlygos priklauso nuo pasirinkto metodo ir yra nurodytos jo kortelėje.</li><li><strong>Pritaikymas</strong> — Jev papildomai nemokomas pagal užsakovo duomenis: savo medžiagą pateikite <code>state</code>, dalykinės srities taisykles — <code>instructions</code> ir <code>criteria</code>.</li><li><strong>Duomenys</strong> — TypeSafe praneša, kad Jev nemokomas naudojant klientų užklausas ir atsakymus.</li></ul><h4>Žinomos silpnosios Jev 1.13 vietos</h4><p>TypeSafe atvirai išvardija dabartinės versijos silpnąsias vietas ir žada daug ką pataisyti kitose versijose. Modelis greitas, kalibruotas ir gerai vertina vadovaudamasis sveiku protu, tačiau:</p><ol><li><strong>Skaito pažodžiui.</strong> Atsako į parašytą, o ne numanomą klausimą: išlygas, neiginius ir neišreikštas sąlygas supranta pažodžiui. Tikslų kriterijų ir ribinius atvejus rašykite <code>criteria</code>; neišvengiamą interpretavimą išskaidykite į du pažodinius klausimus.</li><li><strong>Ne skaičiuotuvas.</strong> Simbolių, pasikartojimų ir sąrašo elementų skaičiavimas nepatikimas, klaida didėja didėjant apimčiai — skaičiuokite kode, pateikite po klausimą kiekvienam kandidatui. Spalvas hex arba RGB formatu modelis supranta prasčiau nei pavadinimus. <code>score</code> tinka slenksčiui, bet ne tiksliam skaičiui tarp lygių.</li><li><strong>Datos ir laikas.</strong> Kuri data ankstesnė, kiek laiko tarp jų, ar data patenka į laikotarpį — nepatikima, ypač maišant formatus ir santykines datas. Datos dalis išgaukite per choice (su variantu „nenurodyta“), lyginkite kode.</li><li><strong>Netiesioginiai klausimai.</strong> Dvigubi neiginiai ir klausimai apie savybės savybę mažina tikslumą. Rašykite tiesiai, būsenos dalis vadinkite jų pavadinimais.</li><li><strong>Perteklinė būsena.</strong> Pašalinis tekstas mažina tikslumą. Filtruokite kode, o jei negalima — atsijokite nereikšmingą turinį noul klausimais.</li><li><strong>Priešiškas tekstas.</strong> Pagal numatymą modelis nesitiki spąstų būsenoje: įterpta instrukcija arba tekstas, ginčijantis savo klasifikaciją, gali pakeisti atsakymą. Rašykite tikslius kriterijus ir prieš paleisdami tikrinkite ribinius atvejus.</li><li><strong>Prieštaravimai.</strong> Jei <code>instructions</code> ir <code>criteria</code> prašo skirtingų dalykų — pavyzdžiui, noul „taip“ aprašyta kaip „ne“, — tikslumas mažėja. Kriterijai — klausimo tęsinys.</li><li><strong>Variantų tvarka.</strong> Kartais modelis linksta prie pirmojo choice varianto. Sukeiskite variantus ir patikrinkite, ar atsakymas nesikeičia.</li><li><strong>Generavimas.</strong> Jev nemokytas rašyti tekstą. Duomenims išgauti raskite kandidatus reguliariąja išraiška arba generatyviu modeliu, o Jev tegul pasirenka teisingą per choice.</li></ol>",
  "aboutText": "Jev — pagrindinis TypeSafe modelis ir pirmasis naujos klasės **System One** modelis. Jis nekuria teksto, o greitai priima sprendimus, kuriuos programa gali iš karto naudoti: perduodate **būseną** (`state`) — tekstą arba JSON — ir **klausimų** rinkinį, o atsakyme gaunate tipizuotas reikšmes su kalibruotomis tikimybėmis.\n\nKalbos modeliai rašo žodžius žmonėms, o Jev, TypeSafe teigimu, artimesnis kodui: atsakymas iš karto yra kodui reikiamos formos, veikimas greitas ir nėra nė vienos reikšmės už nustatytų variantų ribų. Modelis sumanytas taip, kad pakartotinėse užklausose pateiktų stabilius atsakymus.\n\n### Kuo System One skiriasi nuo kalbos modelio\n\n- **Negeneruoja.** Jev nerašo atsakymų naudotojui, nekuria kodo ir nepaaiškina samprotavimo eigos. Galimus atsakymus nustatote jūs — per vieną iš trijų klausimų tipų.\n- **Mokytas kalibruotiems sprendimams.** TypeSafe moko modelį RLCD (Reinforcement Learning for Calibrated Decisions) metodu: tikimybės derinamos prie tikrųjų baigčių ir atspindi neapibrėžtumą. Iš daugelio atsakymų, kurių tikimybė 0,8, maždaug 80% turėtų būti teisingi. Kalibravimas — didelės imties savybė, o ne atskiro atsakymo teisingumo garantija.\n- **Kitoks mokymo tikslas.** Pokalbių modeliai mokomi patikti žmonėms (RLHF), o tai, TypeSafe pastebėjimu, skatina pataikavimą ir užtikrintai skambančias klaidas. Vienas iš RLHF bendraautorių, Diogo Almeida, yra TypeSafe vienas iš įkūrėjų.\n\nPavadinimas nurodo „Sistemą 1“ iš Danielio Kahnemano knygos „Mąstymas, greitas ir lėtas“: greitą intuityvų vertinimą, priešingą lėtam apgalvotam „Sistemos 2“ mąstymui. Jev sukurtas greitiems siauriems vertinimams.\n\n### Trys klausimų tipai\n\nKlausimas — vienas būsenos vertinimas, atsakymas — reikšmė, kurią kodas lygina su slenksčiu, rūšiuoja arba perduoda toliau.\n\n1. **Choice — varianto pasirinkimas.** Kreipiniui skirtas skyrius, prekės kategorija, kodo fragmento kalba. Variantai — žodynas „variantas → aprašymas“, iki 255 variantų. Atsakyme — pasirinktas `choice`, visų variantų tikimybės `probabilities` (jų suma 1) ir užtikrintumas `confidence`. Jei sąrašas gali neapimti visų atvejų, pridėkite „kita“ arba „nė vienas iš išvardytų“.\n2. **Score — įvertinimas pagal skalę.** Vieta jūsų aprašytoje sutvarkytoje skalėje: klaidos rimtumas, kliento susierzinimas, įgūdžio lygis. Nuo 2 iki 10 lygių, nuo žemiausio iki aukščiausio; kiekvieną lygį modelis vertina atskirai, nematydamas jo numerio ir kaimyninių lygių. Atsakyme — `score` (lygių numerių, padaugintų iš jų tikimybių, suma, todėl reikšmė gali būti tarp lygių), `legend` su lygių aprašymais, `probabilities` ir `confidence`.\n3. **Noul — taip arba ne.** Ar teiginys teisingas. Atsakymas `noul` — „taip“ tikimybė nuo 0 iki 1: arti 1 — užtikrintas „taip“, arti 0 — užtikrintas „ne“, arti 0,5 — modelis abejoja. Atskiro `confidence` nėra: vienas skaičius visiškai apibūdina atsakymą. Neprivalomas `criteria` patikslina, ką laikyti „taip“, o ką — „ne“.\n\nKaip pasirinkti: žinomi variantai be tvarkos — choice; spektro pakopos — score; grynas „taip / ne“, kur svarbi pati tikimybė, — noul. Noul 0,5 — vienodos „taip“ ir „ne“ tikimybės, o ne „vidutinis lygis“: laipsnį matuoja score. Iš dviejų tinkamų tipų rinkitės tą, pagal kurį kodas iš karto veikia: choice — šakos, score — slenkstis, noul — `if`.\n\nTipus galima maišyti vienoje užklausoje. Atsakymas visada apribotas jūsų variantais ir nepriklauso nuo kitų klausimų: klausimus galima pridėti ir pašalinti nekeičiant likusių atsakymų.\n\n### Būsena\n\nBūsena — tai, ką modelis vertina: kliento pranešimas, dokumento fragmentas, duomenų bazės įrašas arba jūsų programos būsena.\n\n- **Eilutė** — kai tekstas vienas: pranešimas, straipsnis, ištrauka.\n- **Objektas** — pavadinti laukai, susiję įrašai, programos būsena. TypeSafe pataria daugumai užklausų naudoti objektą: kiekviena dalis turi aiškų pavadinimą.\n- **Masyvas** — pranešimų arba įrašų seka.\n\nRenkite jį kaip medžiagą ekspertams: susirašinėjimą, užsakymą ir grąžinimo taisykles pateikite kartu, jei sprendimui reikia juos palyginti. Turinį laikykite būsenoje, vertinimus — klausimuose. Jei klausimas susijęs su viena būsenos dalimi, jame nurodykite kelią iki jos tarp atvirkštinių kabučių, pavyzdžiui, `ticket.messages[0].text`.\n\n### Kaip pateikti klausimus\n\n- **Vienas greitas vertinimas kiekvienam klausimui.** Geras klausimas — toks, į kurį išmanantis žmogus, turintis reikiamą kontekstą, atsakytų per sekundę: „Ar pranešimas skubus?“. „Išanalizuok pranešimą ir nuspręsk, ką daryti“ — jau lėtas samprotavimas, jį reikia išskaidyti į paprastus klausimus.\n- **Visas klausimas — `instructions`.** Klausimo raktas, pavyzdžiui, `refund_requested`, reikalingas tik jūsų kodui ir modeliui neperduodamas.\n- **Visi klausimai apie vieną būseną — viena užklausa.** Modelis juos vertina lygiagrečiai: TypeSafe duomenimis, papildomi klausimai beveik nepailgina atsakymo laiko ir kainuoja tik savo tokenus. Klausimas „dėl visa ko“ beveik nieko nekainuoja — kodas pats nuspręs, kurių atsakymų reikia.\n- **Sudėtingas vertinimas — dalimis.** Užuot prašę „įvertink startuolio paraišką“, atskirai klauskite apie rinkos dydį, techninį įgyvendinamumą ir skirtumus nuo konkurentų, o galutinį įvertinimą apskaičiuokite kode su svoriais. Pasikeitus prioritetams keiskite svorius, o ne perrašykite klausimą.\n- **Priklausomi klausimai — antra užklausa.** Vienos užklausos atsakymai nėra vienas kito kontekstas. Antros užklausos reikia tik tada, jei jos neįmanoma sudaryti be pirmojo atsakymo: reikia įkelti duomenis arba pasirinkti kito klausimo variantus.\n- **Ilgas klausimas — objektu.** `instructions` ir `criteria` paprastai yra eilutės, bet gali būti objektas arba masyvas: klausimas viename lauke, duomenys — kituose. Taip patogu vienu klausimu lyginti gyvenimo aprašymą su duomenų bazės įrašais.\n\n### Užtikrintumas\n\nChoice ir score `confidence` nuo 0 iki 1 parodo, kiek tikimybė sutelkta viename atsakyme: 1 — visa viename variante, 0 — po lygiai visuose. Score atveju kaimyninis lygis mažina užtikrintumą mažiau nei tolimas. Noul atveju užtikrintumas — pati reikšmė: kuo toliau nuo 0,5, tuo tvirtesnis atsakymas.\n\nTypeSafe pataria naudoti tris intervalus:\n\n1. **Didelis užtikrintumas** — veikite automatiškai.\n2. **Vidutinis** — veikite atsargiai, pavyzdžiui, paprašykite naudotojo patvirtinti.\n3. **Mažas** — perduokite atvejį žmogui, patikslinkite užklausą arba prijunkite atsarginį kelią, pavyzdžiui, galingesnį modelį su samprotavimu.\n\nKuo brangesnė klaida, tuo griežtesnis slenkstis: negrįžtamiems veiksmams — aukštesnis nei skaitymui. Atsakymas pasako, ką pasirinkti, o užtikrintumas — ar verta veikti. Slenksčius parinkite pagal savo duomenis, lygindami užtikrintumą su tikslumu.\n\n### Kaip kurti sistemą aplink Jev\n\nJev skirtas ne agentams, kurie patys pasirenka kitą žingsnį ir kiekviename cikle gali nukrypti, o programoms, kuriose procesą valdo kodas, o modelis atsako į siaurus prasmės klausimus. Aštuoni projektavimo žingsniai pagal TypeSafe:\n\n1. Viską, ką galima padaryti kodu, darykite kodu — patikimai ir pigiai.\n2. Į būseną — tik tai, ko reikia dabartiniams klausimams; nauji faktai — iš savo žinių bazės, o ne iš modelio atminties.\n3. Struktūra būsenoje: įdėtinis JSON, o klausime — kelias iki reikiamo lauko tarp atvirkštinių kabučių, jei taip sumažėja dviprasmybė.\n4. Kuo siauresni ir konkretesni klausimai — TypeSafe teigimu, tai galbūt svarbiausia taisyklė: platus klausimas po vienu atsakymu paslepia kelis vertinimus.\n5. Struktūra klausimuose: pats klausimas trumpas; paaiškinimai, pavyzdžiai ir jūsų bazės reikšmės — gretimuose objekto `instructions` arba `criteria` laukuose, o ne vienoje ilgoje eilutėje.\n6. Daug nepriklausomų klausimų apie vieną būseną vienoje užklausoje — daugiau naudos už kiekvieną dolerį.\n7. Atsakymus sujungia kodas: taisyklėmis, svertine suma arba kaip požymius klasikiniam mašininio mokymosi modeliui.\n8. Šakojimas pagal užtikrintumą: neužtikrinti atvejai — žmogui arba modeliui su samprotavimu.\n\nJev nėra pokalbių ar kodo automatinio užbaigimo modelis, todėl jo negalima įdėti į programavimo agentą vietoje kalbos modelio. Tačiau agentas gali jums parašyti kodą, kuris kviečia Jev ten, kur reikia greito kalibruoto atsakymo.\n\n### Kur taikomas\n\n- **Foninė automatizacija** — sprendimai, paleidžiami milijoną kartų be šalia esančio žmogaus.\n- **Tikrasis laikas** — TypeSafe duomenimis, dauguma užklausų įvykdomos maždaug per 100 ms: pakanka apdorojimui realiuoju laiku ir sąsajoms.\n- **Didieji duomenys** — paieška milžiniškuose tekstynuose, agentų darbo žurnalų žymėjimas, prognozių požymiai.\n- **Kitų modelių tikrinimas** — užklausos, išgauti duomenys, samprotavimas, įrankių kvietimai: ribojimų apėjimas, citavimo klaidos, išgalvota informacija.\n- **Paieška ir reitingavimas** — poros „užklausa — kandidatas“ atitiktis, pakartotinis reitingavimas, konteksto atranka.\n- **Šakojimas pagal ketinimą** — ko nori naudotojas ir kokio apdorojimo reikia: paprastos logikos, specializuoto modelio ar žmogaus; tema, sudėtingumas ir rizika lemia, kuriam kalbos modeliui perduoti užklausą.\n- **Apsauginės patikros** — kalbos modelio įvestis, išvestis ir įrankių kvietimai: įterptos instrukcijos, taisyklių pažeidimai, asmens duomenų nutekėjimas.\n- **Pagalba klientams** — kreipinio tema ir ketinimas, skubumas, susierzinimas, pasitraukimo rizika, prašymas grąžinti pinigus, eilė.\n- **Moderavimas** — pagal jūsų platformos taisykles: toksiškumas, patyčios, šlamštas, sukčiavimas, pavojingi patarimai, asmens duomenys; pagal rimtumą ir užtikrintumą — praleisti, įspėti, patikrinti arba užblokuoti.\n- **Sritys** — draudžiamieji įvykiai, finansiniai tyrimai ir KYC, sutartys ir reklama, prekių kortelės, darbuotojų atranka, potencialūs klientai, žaidimai, rizika, paklausos prognozė, žinių grafai, mokslinės apžvalgos, semantinės kodo patikros CI sistemoje.\n\n### Charakteristikos\n\n- **`jev-latest`** — naujausios stabilios versijos pseudonimas, dabar Jev 1.13; atsakiusi versija pateikiama lauke `model`, pavyzdžiui, `jev-1.13.0`. Atsiradus naujai versijai pseudonimas nukreipiamas į ją, o atsakymai gali pasikeisti be jūsų pakeitimų — stebėkite šį lauką, jei slenksčiai parinkti konkrečiai versijai.\n- **Kontekstas** — 64K tokenų vienai užklausai: būsena ir visi klausimai kartu; būsena su ilgiausiu klausimu — iki 32K. Modelis būseną perskaito vieną kartą ir visus klausimus tikrina pagal ją lygiagrečiai.\n- **Įvestis** — tik tekstas: eilutė, JSON objektas arba tekstų masyvas. Vaizdai, garsas ir vaizdo įrašai kol kas nepalaikomi — iš anksto paverskite juos tekstu.\n- **Kalba** — pagrindinė mokymo kalba yra anglų, ja tikslumas šiuo metu didžiausias. Kitas kalbas, įskaitant kinų, japonų ir korėjiečių, modelis priima, tačiau tikslumas mažesnis — patikrinkite pagal savo duomenis.\n- **Ailoot API kainos ir atsiskaitymas** — sąlygos priklauso nuo pasirinkto metodo ir yra nurodytos jo kortelėje.\n- **Pritaikymas** — Jev papildomai nemokomas pagal užsakovo duomenis: savo medžiagą pateikite `state`, dalykinės srities taisykles — `instructions` ir `criteria`.\n- **Duomenys** — TypeSafe praneša, kad Jev nemokomas naudojant klientų užklausas ir atsakymus.\n\n### Žinomos silpnosios Jev 1.13 vietos\n\nTypeSafe atvirai išvardija dabartinės versijos silpnąsias vietas ir žada daug ką pataisyti kitose versijose. Modelis greitas, kalibruotas ir gerai vertina vadovaudamasis sveiku protu, tačiau:\n\n1. **Skaito pažodžiui.** Atsako į parašytą, o ne numanomą klausimą: išlygas, neiginius ir neišreikštas sąlygas supranta pažodžiui. Tikslų kriterijų ir ribinius atvejus rašykite `criteria`; neišvengiamą interpretavimą išskaidykite į du pažodinius klausimus.\n2. **Ne skaičiuotuvas.** Simbolių, pasikartojimų ir sąrašo elementų skaičiavimas nepatikimas, klaida didėja didėjant apimčiai — skaičiuokite kode, pateikite po klausimą kiekvienam kandidatui. Spalvas hex arba RGB formatu modelis supranta prasčiau nei pavadinimus. `score` tinka slenksčiui, bet ne tiksliam skaičiui tarp lygių.\n3. **Datos ir laikas.** Kuri data ankstesnė, kiek laiko tarp jų, ar data patenka į laikotarpį — nepatikima, ypač maišant formatus ir santykines datas. Datos dalis išgaukite per choice (su variantu „nenurodyta“), lyginkite kode.\n4. **Netiesioginiai klausimai.** Dvigubi neiginiai ir klausimai apie savybės savybę mažina tikslumą. Rašykite tiesiai, būsenos dalis vadinkite jų pavadinimais.\n5. **Perteklinė būsena.** Pašalinis tekstas mažina tikslumą. Filtruokite kode, o jei negalima — atsijokite nereikšmingą turinį noul klausimais.\n6. **Priešiškas tekstas.** Pagal numatymą modelis nesitiki spąstų būsenoje: įterpta instrukcija arba tekstas, ginčijantis savo klasifikaciją, gali pakeisti atsakymą. Rašykite tikslius kriterijus ir prieš paleisdami tikrinkite ribinius atvejus.\n7. **Prieštaravimai.** Jei `instructions` ir `criteria` prašo skirtingų dalykų — pavyzdžiui, noul „taip“ aprašyta kaip „ne“, — tikslumas mažėja. Kriterijai — klausimo tęsinys.\n8. **Variantų tvarka.** Kartais modelis linksta prie pirmojo choice varianto. Sukeiskite variantus ir patikrinkite, ar atsakymas nesikeičia.\n9. **Generavimas.** Jev nemokytas rašyti tekstą. Duomenims išgauti raskite kandidatus reguliariąja išraiška arba generatyviu modeliu, o Jev tegul pasirenka teisingą per choice.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b7434b5a5e0cd216c70de492107904e9cb7cd4d3190ef07efb1baa2362e00508",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "lt",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">TS</span><h2 id=\"sheet-title\">jev-latest</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>TypeSafe /</span><code>jev-latest</code><button type=\"button\" id=\"copy-id\">Kopijuoti ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelio kortelės skyriai\"><button type=\"button\" data-card-jump=\"overview\">Pradžia</button><button type=\"button\" data-card-jump=\"methods\">Įvestys ir metodai</button><button type=\"button\" data-card-jump=\"pricing\">Planai</button><button type=\"button\" data-card-jump=\"examples\">Pavyzdžiai</button><button type=\"button\" data-card-jump=\"results\">Rezultatai</button><button type=\"button\" data-card-jump=\"aliases\">Pseudonimai</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API metodai\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|systemone|/v1/systemone|jev-latest\">System One</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">TypeSafe sprendimų modelis: nekuria teksto, o atsako į tipizuotus klausimus apie tekstą arba JSON — pasirenka variantą, įvertina pagal skalę arba pateikia „taip / ne“ su tikimybėmis. Tinka maršrutui parinkti, kreipiniams rūšiuoti, moderavimui ir vertinimui balais; visi vienos užklausos klausimai vertinami lygiagrečiai.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas</dd></div><div><dt>Rezultatai</dt><dd>structured</dd></div></dl><details class=\"card-about\"><summary>Apie modelį</summary><p class=\"note-s\" data-model-method-boundary>Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.</p><div class=\"mabout\" id=\"m-about\"><p>Jev — pagrindinis TypeSafe modelis ir pirmasis naujos klasės <strong>System One</strong> modelis. Jis nekuria teksto, o greitai priima sprendimus, kuriuos programa gali iš karto naudoti: perduodate <strong>būseną</strong> (<code>state</code>) — tekstą arba JSON — ir <strong>klausimų</strong> rinkinį, o atsakyme gaunate tipizuotas reikšmes su kalibruotomis tikimybėmis.</p><p>Kalbos modeliai rašo žodžius žmonėms, o Jev, TypeSafe teigimu, artimesnis kodui: atsakymas iš karto yra kodui reikiamos formos, veikimas greitas ir nėra nė vienos reikšmės už nustatytų variantų ribų. Modelis sumanytas taip, kad pakartotinėse užklausose pateiktų stabilius atsakymus.</p><h4>Kuo System One skiriasi nuo kalbos modelio</h4><ul><li><strong>Negeneruoja.</strong> Jev nerašo atsakymų naudotojui, nekuria kodo ir nepaaiškina samprotavimo eigos. Galimus atsakymus nustatote jūs — per vieną iš trijų klausimų tipų.</li><li><strong>Mokytas kalibruotiems sprendimams.</strong> TypeSafe moko modelį RLCD (Reinforcement Learning for Calibrated Decisions) metodu: tikimybės derinamos prie tikrųjų baigčių ir atspindi neapibrėžtumą. Iš daugelio atsakymų, kurių tikimybė 0,8, maždaug 80% turėtų būti teisingi. Kalibravimas — didelės imties savybė, o ne atskiro atsakymo teisingumo garantija.</li><li><strong>Kitoks mokymo tikslas.</strong> Pokalbių modeliai mokomi patikti žmonėms (RLHF), o tai, TypeSafe pastebėjimu, skatina pataikavimą ir užtikrintai skambančias klaidas. Vienas iš RLHF bendraautorių, Diogo Almeida, yra TypeSafe vienas iš įkūrėjų.</li></ul><p>Pavadinimas nurodo „Sistemą 1“ iš Danielio Kahnemano knygos „Mąstymas, greitas ir lėtas“: greitą intuityvų vertinimą, priešingą lėtam apgalvotam „Sistemos 2“ mąstymui. Jev sukurtas greitiems siauriems vertinimams.</p><h4>Trys klausimų tipai</h4><p>Klausimas — vienas būsenos vertinimas, atsakymas — reikšmė, kurią kodas lygina su slenksčiu, rūšiuoja arba perduoda toliau.</p><ol><li><strong>Choice — varianto pasirinkimas.</strong> Kreipiniui skirtas skyrius, prekės kategorija, kodo fragmento kalba. Variantai — žodynas „variantas → aprašymas“, iki 255 variantų. Atsakyme — pasirinktas <code>choice</code>, visų variantų tikimybės <code>probabilities</code> (jų suma 1) ir užtikrintumas <code>confidence</code>. Jei sąrašas gali neapimti visų atvejų, pridėkite „kita“ arba „nė vienas iš išvardytų“.</li><li><strong>Score — įvertinimas pagal skalę.</strong> Vieta jūsų aprašytoje sutvarkytoje skalėje: klaidos rimtumas, kliento susierzinimas, įgūdžio lygis. Nuo 2 iki 10 lygių, nuo žemiausio iki aukščiausio; kiekvieną lygį modelis vertina atskirai, nematydamas jo numerio ir kaimyninių lygių. Atsakyme — <code>score</code> (lygių numerių, padaugintų iš jų tikimybių, suma, todėl reikšmė gali būti tarp lygių), <code>legend</code> su lygių aprašymais, <code>probabilities</code> ir <code>confidence</code>.</li><li><strong>Noul — taip arba ne.</strong> Ar teiginys teisingas. Atsakymas <code>noul</code> — „taip“ tikimybė nuo 0 iki 1: arti 1 — užtikrintas „taip“, arti 0 — užtikrintas „ne“, arti 0,5 — modelis abejoja. Atskiro <code>confidence</code> nėra: vienas skaičius visiškai apibūdina atsakymą. Neprivalomas <code>criteria</code> patikslina, ką laikyti „taip“, o ką — „ne“.</li></ol><p>Kaip pasirinkti: žinomi variantai be tvarkos — choice; spektro pakopos — score; grynas „taip / ne“, kur svarbi pati tikimybė, — noul. Noul 0,5 — vienodos „taip“ ir „ne“ tikimybės, o ne „vidutinis lygis“: laipsnį matuoja score. Iš dviejų tinkamų tipų rinkitės tą, pagal kurį kodas iš karto veikia: choice — šakos, score — slenkstis, noul — <code>if</code>.</p><p>Tipus galima maišyti vienoje užklausoje. Atsakymas visada apribotas jūsų variantais ir nepriklauso nuo kitų klausimų: klausimus galima pridėti ir pašalinti nekeičiant likusių atsakymų.</p><h4>Būsena</h4><p>Būsena — tai, ką modelis vertina: kliento pranešimas, dokumento fragmentas, duomenų bazės įrašas arba jūsų programos būsena.</p><ul><li><strong>Eilutė</strong> — kai tekstas vienas: pranešimas, straipsnis, ištrauka.</li><li><strong>Objektas</strong> — pavadinti laukai, susiję įrašai, programos būsena. TypeSafe pataria daugumai užklausų naudoti objektą: kiekviena dalis turi aiškų pavadinimą.</li><li><strong>Masyvas</strong> — pranešimų arba įrašų seka.</li></ul><p>Renkite jį kaip medžiagą ekspertams: susirašinėjimą, užsakymą ir grąžinimo taisykles pateikite kartu, jei sprendimui reikia juos palyginti. Turinį laikykite būsenoje, vertinimus — klausimuose. Jei klausimas susijęs su viena būsenos dalimi, jame nurodykite kelią iki jos tarp atvirkštinių kabučių, pavyzdžiui, <code>ticket.messages[0].text</code>.</p><h4>Kaip pateikti klausimus</h4><ul><li><strong>Vienas greitas vertinimas kiekvienam klausimui.</strong> Geras klausimas — toks, į kurį išmanantis žmogus, turintis reikiamą kontekstą, atsakytų per sekundę: „Ar pranešimas skubus?“. „Išanalizuok pranešimą ir nuspręsk, ką daryti“ — jau lėtas samprotavimas, jį reikia išskaidyti į paprastus klausimus.</li><li><strong>Visas klausimas — <code>instructions</code>.</strong> Klausimo raktas, pavyzdžiui, <code>refund_requested</code>, reikalingas tik jūsų kodui ir modeliui neperduodamas.</li><li><strong>Visi klausimai apie vieną būseną — viena užklausa.</strong> Modelis juos vertina lygiagrečiai: TypeSafe duomenimis, papildomi klausimai beveik nepailgina atsakymo laiko ir kainuoja tik savo tokenus. Klausimas „dėl visa ko“ beveik nieko nekainuoja — kodas pats nuspręs, kurių atsakymų reikia.</li><li><strong>Sudėtingas vertinimas — dalimis.</strong> Užuot prašę „įvertink startuolio paraišką“, atskirai klauskite apie rinkos dydį, techninį įgyvendinamumą ir skirtumus nuo konkurentų, o galutinį įvertinimą apskaičiuokite kode su svoriais. Pasikeitus prioritetams keiskite svorius, o ne perrašykite klausimą.</li><li><strong>Priklausomi klausimai — antra užklausa.</strong> Vienos užklausos atsakymai nėra vienas kito kontekstas. Antros užklausos reikia tik tada, jei jos neįmanoma sudaryti be pirmojo atsakymo: reikia įkelti duomenis arba pasirinkti kito klausimo variantus.</li><li><strong>Ilgas klausimas — objektu.</strong> <code>instructions</code> ir <code>criteria</code> paprastai yra eilutės, bet gali būti objektas arba masyvas: klausimas viename lauke, duomenys — kituose. Taip patogu vienu klausimu lyginti gyvenimo aprašymą su duomenų bazės įrašais.</li></ul><h4>Užtikrintumas</h4><p>Choice ir score <code>confidence</code> nuo 0 iki 1 parodo, kiek tikimybė sutelkta viename atsakyme: 1 — visa viename variante, 0 — po lygiai visuose. Score atveju kaimyninis lygis mažina užtikrintumą mažiau nei tolimas. Noul atveju užtikrintumas — pati reikšmė: kuo toliau nuo 0,5, tuo tvirtesnis atsakymas.</p><p>TypeSafe pataria naudoti tris intervalus:</p><ol><li><strong>Didelis užtikrintumas</strong> — veikite automatiškai.</li><li><strong>Vidutinis</strong> — veikite atsargiai, pavyzdžiui, paprašykite naudotojo patvirtinti.</li><li><strong>Mažas</strong> — perduokite atvejį žmogui, patikslinkite užklausą arba prijunkite atsarginį kelią, pavyzdžiui, galingesnį modelį su samprotavimu.</li></ol><p>Kuo brangesnė klaida, tuo griežtesnis slenkstis: negrįžtamiems veiksmams — aukštesnis nei skaitymui. Atsakymas pasako, ką pasirinkti, o užtikrintumas — ar verta veikti. Slenksčius parinkite pagal savo duomenis, lygindami užtikrintumą su tikslumu.</p><h4>Kaip kurti sistemą aplink Jev</h4><p>Jev skirtas ne agentams, kurie patys pasirenka kitą žingsnį ir kiekviename cikle gali nukrypti, o programoms, kuriose procesą valdo kodas, o modelis atsako į siaurus prasmės klausimus. Aštuoni projektavimo žingsniai pagal TypeSafe:</p><ol><li>Viską, ką galima padaryti kodu, darykite kodu — patikimai ir pigiai.</li><li>Į būseną — tik tai, ko reikia dabartiniams klausimams; nauji faktai — iš savo žinių bazės, o ne iš modelio atminties.</li><li>Struktūra būsenoje: įdėtinis JSON, o klausime — kelias iki reikiamo lauko tarp atvirkštinių kabučių, jei taip sumažėja dviprasmybė.</li><li>Kuo siauresni ir konkretesni klausimai — TypeSafe teigimu, tai galbūt svarbiausia taisyklė: platus klausimas po vienu atsakymu paslepia kelis vertinimus.</li><li>Struktūra klausimuose: pats klausimas trumpas; paaiškinimai, pavyzdžiai ir jūsų bazės reikšmės — gretimuose objekto <code>instructions</code> arba <code>criteria</code> laukuose, o ne vienoje ilgoje eilutėje.</li><li>Daug nepriklausomų klausimų apie vieną būseną vienoje užklausoje — daugiau naudos už kiekvieną dolerį.</li><li>Atsakymus sujungia kodas: taisyklėmis, svertine suma arba kaip požymius klasikiniam mašininio mokymosi modeliui.</li><li>Šakojimas pagal užtikrintumą: neužtikrinti atvejai — žmogui arba modeliui su samprotavimu.</li></ol><p>Jev nėra pokalbių ar kodo automatinio užbaigimo modelis, todėl jo negalima įdėti į programavimo agentą vietoje kalbos modelio. Tačiau agentas gali jums parašyti kodą, kuris kviečia Jev ten, kur reikia greito kalibruoto atsakymo.</p><h4>Kur taikomas</h4><ul><li><strong>Foninė automatizacija</strong> — sprendimai, paleidžiami milijoną kartų be šalia esančio žmogaus.</li><li><strong>Tikrasis laikas</strong> — TypeSafe duomenimis, dauguma užklausų įvykdomos maždaug per 100 ms: pakanka apdorojimui realiuoju laiku ir sąsajoms.</li><li><strong>Didieji duomenys</strong> — paieška milžiniškuose tekstynuose, agentų darbo žurnalų žymėjimas, prognozių požymiai.</li><li><strong>Kitų modelių tikrinimas</strong> — užklausos, išgauti duomenys, samprotavimas, įrankių kvietimai: ribojimų apėjimas, citavimo klaidos, išgalvota informacija.</li><li><strong>Paieška ir reitingavimas</strong> — poros „užklausa — kandidatas“ atitiktis, pakartotinis reitingavimas, konteksto atranka.</li><li><strong>Šakojimas pagal ketinimą</strong> — ko nori naudotojas ir kokio apdorojimo reikia: paprastos logikos, specializuoto modelio ar žmogaus; tema, sudėtingumas ir rizika lemia, kuriam kalbos modeliui perduoti užklausą.</li><li><strong>Apsauginės patikros</strong> — kalbos modelio įvestis, išvestis ir įrankių kvietimai: įterptos instrukcijos, taisyklių pažeidimai, asmens duomenų nutekėjimas.</li><li><strong>Pagalba klientams</strong> — kreipinio tema ir ketinimas, skubumas, susierzinimas, pasitraukimo rizika, prašymas grąžinti pinigus, eilė.</li><li><strong>Moderavimas</strong> — pagal jūsų platformos taisykles: toksiškumas, patyčios, šlamštas, sukčiavimas, pavojingi patarimai, asmens duomenys; pagal rimtumą ir užtikrintumą — praleisti, įspėti, patikrinti arba užblokuoti.</li><li><strong>Sritys</strong> — draudžiamieji įvykiai, finansiniai tyrimai ir KYC, sutartys ir reklama, prekių kortelės, darbuotojų atranka, potencialūs klientai, žaidimai, rizika, paklausos prognozė, žinių grafai, mokslinės apžvalgos, semantinės kodo patikros CI sistemoje.</li></ul><h4>Charakteristikos</h4><ul><li><strong><code>jev-latest</code></strong> — naujausios stabilios versijos pseudonimas, dabar Jev 1.13; atsakiusi versija pateikiama lauke <code>model</code>, pavyzdžiui, <code>jev-1.13.0</code>. Atsiradus naujai versijai pseudonimas nukreipiamas į ją, o atsakymai gali pasikeisti be jūsų pakeitimų — stebėkite šį lauką, jei slenksčiai parinkti konkrečiai versijai.</li><li><strong>Kontekstas</strong> — 64K tokenų vienai užklausai: būsena ir visi klausimai kartu; būsena su ilgiausiu klausimu — iki 32K. Modelis būseną perskaito vieną kartą ir visus klausimus tikrina pagal ją lygiagrečiai.</li><li><strong>Įvestis</strong> — tik tekstas: eilutė, JSON objektas arba tekstų masyvas. Vaizdai, garsas ir vaizdo įrašai kol kas nepalaikomi — iš anksto paverskite juos tekstu.</li><li><strong>Kalba</strong> — pagrindinė mokymo kalba yra anglų, ja tikslumas šiuo metu didžiausias. Kitas kalbas, įskaitant kinų, japonų ir korėjiečių, modelis priima, tačiau tikslumas mažesnis — patikrinkite pagal savo duomenis.</li><li><strong>Ailoot API kainos ir atsiskaitymas</strong> — sąlygos priklauso nuo pasirinkto metodo ir yra nurodytos jo kortelėje.</li><li><strong>Pritaikymas</strong> — Jev papildomai nemokomas pagal užsakovo duomenis: savo medžiagą pateikite <code>state</code>, dalykinės srities taisykles — <code>instructions</code> ir <code>criteria</code>.</li><li><strong>Duomenys</strong> — TypeSafe praneša, kad Jev nemokomas naudojant klientų užklausas ir atsakymus.</li></ul><h4>Žinomos silpnosios Jev 1.13 vietos</h4><p>TypeSafe atvirai išvardija dabartinės versijos silpnąsias vietas ir žada daug ką pataisyti kitose versijose. Modelis greitas, kalibruotas ir gerai vertina vadovaudamasis sveiku protu, tačiau:</p><ol><li><strong>Skaito pažodžiui.</strong> Atsako į parašytą, o ne numanomą klausimą: išlygas, neiginius ir neišreikštas sąlygas supranta pažodžiui. Tikslų kriterijų ir ribinius atvejus rašykite <code>criteria</code>; neišvengiamą interpretavimą išskaidykite į du pažodinius klausimus.</li><li><strong>Ne skaičiuotuvas.</strong> Simbolių, pasikartojimų ir sąrašo elementų skaičiavimas nepatikimas, klaida didėja didėjant apimčiai — skaičiuokite kode, pateikite po klausimą kiekvienam kandidatui. Spalvas hex arba RGB formatu modelis supranta prasčiau nei pavadinimus. <code>score</code> tinka slenksčiui, bet ne tiksliam skaičiui tarp lygių.</li><li><strong>Datos ir laikas.</strong> Kuri data ankstesnė, kiek laiko tarp jų, ar data patenka į laikotarpį — nepatikima, ypač maišant formatus ir santykines datas. Datos dalis išgaukite per choice (su variantu „nenurodyta“), lyginkite kode.</li><li><strong>Netiesioginiai klausimai.</strong> Dvigubi neiginiai ir klausimai apie savybės savybę mažina tikslumą. Rašykite tiesiai, būsenos dalis vadinkite jų pavadinimais.</li><li><strong>Perteklinė būsena.</strong> Pašalinis tekstas mažina tikslumą. Filtruokite kode, o jei negalima — atsijokite nereikšmingą turinį noul klausimais.</li><li><strong>Priešiškas tekstas.</strong> Pagal numatymą modelis nesitiki spąstų būsenoje: įterpta instrukcija arba tekstas, ginčijantis savo klasifikaciją, gali pakeisti atsakymą. Rašykite tikslius kriterijus ir prieš paleisdami tikrinkite ribinius atvejus.</li><li><strong>Prieštaravimai.</strong> Jei <code>instructions</code> ir <code>criteria</code> prašo skirtingų dalykų — pavyzdžiui, noul „taip“ aprašyta kaip „ne“, — tikslumas mažėja. Kriterijai — klausimo tęsinys.</li><li><strong>Variantų tvarka.</strong> Kartais modelis linksta prie pirmojo choice varianto. Sukeiskite variantus ir patikrinkite, ar atsakymas nesikeičia.</li><li><strong>Generavimas.</strong> Jev nemokytas rašyti tekstą. Duomenims išgauti raskite kandidatus reguliariąja išraiška arba generatyviu modeliu, o Jev tegul pasirenka teisingą per choice.</li></ol></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Prieinama Ailoot · įvestys ir metodai</h3><details class=\"card-method\" open><summary><b>Ailoot · System One</b> <code>POST /v1/systemone</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code></dd></div><div><dt>Išvestis</dt><dd><code>structured</code></dd></div><div><dt>Kontekstas</dt><dd>64 000 tokens</dd></div><div><dt>Išvesties formatas</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Laukas</th><th>Tipas</th><th>Reikalavimas</th><th>Reikšmės ir ribos</th><th>Numatyta</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>jev-latest</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object|array</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">questions</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Mažiausias objekto laukų skaičius: 1</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>noul, choice, score</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object|array|null</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object|array|null</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Sąlygos: noul: neprivalomi true/false aprašai, kurie gali būti null; choice: kriterijų objektas; score: netuščias kriterijų masyvas</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>boolean|null</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>false, null</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Įvesties medžiagos deriniai</summary><p class=\"note-s\"><b>noul</b> · Privaloma: state, questions.&lt;id&gt;.type=noul</p><p class=\"note-s\"><b>choice</b> · Privaloma: state, questions.&lt;id&gt;.type=choice, criteria object</p><p class=\"note-s\"><b>score</b> · Privaloma: state, questions.&lt;id&gt;.type=score, nonemptycriteriaarray</p></details><details class=\"note-s\" data-method-contract><summary>Metodo parametrai ir gyvavimo ciklas</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametras</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, state, questions</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>optional_controls</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>null</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>content_type</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>application/json</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>exact retained published method</code></p><p class=\"note-s\">Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><h4>Ailoot metodų įkainiai</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> System One</b><code>POST /v1/systemone</code></header><dl><div><dt>Įvestis</dt><dd>≈0,000084 USD <em>/ 1K</em></dd></div><div><dt>Išvestis</dt><dd>0,00 USD <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. <a href=\"/docs/lt/billing/reserve/\">Kaip veikia rezervavimas ir atsiskaitymas →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot · System One</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><button class=\"cg-tab\" id=\"model-code-665-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-665-panel-0\" aria-selected=\"true\" tabindex=\"0\">Klasifikavimo pavyzdys</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-665-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-665-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;jev-latest&quot;, &quot;state&quot;: &quot;&quot;, &quot;questions&quot;: {&quot;is_urgent&quot;: {&quot;type&quot;: &quot;noul&quot;, &quot;instructions&quot;: &quot;Does the supplied customer message express urgency?&quot;}}}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;state&quot;]=text\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Gauti ir išsaugoti rezultatus</h3><h4>Ailoot · System One</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Išsaugoti visus baigtus rezultatus</h5><p class=\"note-s\">Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.</p><p class=\"note-s\">Išsaugokite kiekvieną atsakymą pagal pateiktą klausimo ID, tikimybę ir legendą; pasikliovimo formulei, kurioje naudojamas n, reikia n&gt;1, tačiau tai nenustato API taisyklės dėl mažiausio pasirinkimų skaičiaus.</p></div><details class=\"card-about\" data-output-fields><summary>Atsakymo laukai</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Laukas</th><th>Tipas</th></tr></thead><tbody><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>number</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>number</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>number</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>object</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>object</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Klaidos ir tolesni veiksmai</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Atsakymas</th><th>Sąlyga</th><th>Kitas žingsnis</th></tr></thead><tbody><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Prieš naują kūrimo užklausą pataisykite nurodytus laukus.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Pseudonimai</h3><h4>Modelių pseudonimai</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=jev-latest&amp;route=Core&amp;caller=jev-latest&amp;fmt=systemone\"><code>jev-latest</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=jev-latest&amp;route=Core&amp;caller=jev-latest&amp;fmt=systemone\"><code>jev-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "jev-latest",
        "fmt": "systemone",
        "http": "POST",
        "path": "/v1/systemone",
        "request_model_id": "jev-latest",
        "route_label": "Core"
      },
      "method_key": "Core|systemone|/v1/systemone|jev-latest",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Retain every answer by its supplied question ID, probability and legend; confidenceformulausingnrequiresn>1withoutassertinganAPIminchoicesrule.",
            "errors": [
              {
                "code": null,
                "condition": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "mode": "exact retained published method"
            },
            "material_combinations": [
              {
                "mode": "noul",
                "required": [
                  "state",
                  "questions.<id>.type=noul"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "nonemptycriteriaarray"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną atsakymą pagal pateiktą klausimo ID, tikimybę ir legendą; pasikliovimo formulei, kurioje naudojamas n, reikia n>1, tačiau tai nenustato API taisyklės dėl mažiausio pasirinkimų skaičiaus.",
              "family": "structured",
              "fields": [
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "jev-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_properties": 1,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": false,
                "type": "string|object|array|null"
              },
              {
                "availability": "source_interface",
                "conditions": "noul: neprivalomi true/false aprašai, kurie gali būti null; choice: kriterijų objektas; score: netuščias kriterijų masyvas",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "stream=true",
              "duplicateandcase-variedcanonicalkeys"
            ]
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "operation_modes": [
            "systemone"
          ],
          "output": {
            "family": [
              "structured"
            ],
            "format": "structured decisions JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 64000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"jev-latest\", \"state\": \"\", \"questions\": {\"is_urgent\": {\"type\": \"noul\", \"instructions\": \"Does the supplied customer message express urgency?\"}}}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"state\"]=text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Classify your actual customer message",
            "language": "bash"
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.084,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "structured"
        ],
        "path": "/v1/systemone",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.084,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "jev-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "jev-latest",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "72b0a8a8c115a8004d4f98ffeeab196d345cb13bc1a0f6f81c31b7b80ea0863a",
    "input_html_sha256": "1c3fc34b5187b2ed0f3c31bbd53dd68604ef42f7b49ebb021a48de785031611b",
    "private_audit_sha256": "3dc675b57eda516d703d4ae17dc2fd443fbd61b8fc50a599c0a929c4ed087490",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/jev-latest/",
    "description": "TypeSafe sprendimų modelis: nekuria teksto, o atsako į tipizuotus klausimus apie tekstą arba JSON — pasirenka variantą, įvertina pagal skalę arba pateikia „taip / ne“ su tikimybėmis. Tinka maršrutui parinkti, kreipiniams rūšiuoti, moderavimui ir vertinimui balais; visi vienos užklausos klausimai vertinami lygiagrečiai.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/jev-latest/index.md",
    "title": "jev-latest — Ailoot",
    "url": "https://ailoot.ai/models/lt/jev-latest/"
  },
  "rawModel": {
    "about": "Jev — pagrindinis TypeSafe modelis ir pirmasis naujos klasės **System One** modelis. Jis nekuria teksto, o greitai priima sprendimus, kuriuos programa gali iš karto naudoti: perduodate **būseną** (`state`) — tekstą arba JSON — ir **klausimų** rinkinį, o atsakyme gaunate tipizuotas reikšmes su kalibruotomis tikimybėmis.\n\nKalbos modeliai rašo žodžius žmonėms, o Jev, TypeSafe teigimu, artimesnis kodui: atsakymas iš karto yra kodui reikiamos formos, veikimas greitas ir nėra nė vienos reikšmės už nustatytų variantų ribų. Modelis sumanytas taip, kad pakartotinėse užklausose pateiktų stabilius atsakymus.\n\n### Kuo System One skiriasi nuo kalbos modelio\n\n- **Negeneruoja.** Jev nerašo atsakymų naudotojui, nekuria kodo ir nepaaiškina samprotavimo eigos. Galimus atsakymus nustatote jūs — per vieną iš trijų klausimų tipų.\n- **Mokytas kalibruotiems sprendimams.** TypeSafe moko modelį RLCD (Reinforcement Learning for Calibrated Decisions) metodu: tikimybės derinamos prie tikrųjų baigčių ir atspindi neapibrėžtumą. Iš daugelio atsakymų, kurių tikimybė 0,8, maždaug 80% turėtų būti teisingi. Kalibravimas — didelės imties savybė, o ne atskiro atsakymo teisingumo garantija.\n- **Kitoks mokymo tikslas.** Pokalbių modeliai mokomi patikti žmonėms (RLHF), o tai, TypeSafe pastebėjimu, skatina pataikavimą ir užtikrintai skambančias klaidas. Vienas iš RLHF bendraautorių, Diogo Almeida, yra TypeSafe vienas iš įkūrėjų.\n\nPavadinimas nurodo „Sistemą 1“ iš Danielio Kahnemano knygos „Mąstymas, greitas ir lėtas“: greitą intuityvų vertinimą, priešingą lėtam apgalvotam „Sistemos 2“ mąstymui. Jev sukurtas greitiems siauriems vertinimams.\n\n### Trys klausimų tipai\n\nKlausimas — vienas būsenos vertinimas, atsakymas — reikšmė, kurią kodas lygina su slenksčiu, rūšiuoja arba perduoda toliau.\n\n1. **Choice — varianto pasirinkimas.** Kreipiniui skirtas skyrius, prekės kategorija, kodo fragmento kalba. Variantai — žodynas „variantas → aprašymas“, iki 255 variantų. Atsakyme — pasirinktas `choice`, visų variantų tikimybės `probabilities` (jų suma 1) ir užtikrintumas `confidence`. Jei sąrašas gali neapimti visų atvejų, pridėkite „kita“ arba „nė vienas iš išvardytų“.\n2. **Score — įvertinimas pagal skalę.** Vieta jūsų aprašytoje sutvarkytoje skalėje: klaidos rimtumas, kliento susierzinimas, įgūdžio lygis. Nuo 2 iki 10 lygių, nuo žemiausio iki aukščiausio; kiekvieną lygį modelis vertina atskirai, nematydamas jo numerio ir kaimyninių lygių. Atsakyme — `score` (lygių numerių, padaugintų iš jų tikimybių, suma, todėl reikšmė gali būti tarp lygių), `legend` su lygių aprašymais, `probabilities` ir `confidence`.\n3. **Noul — taip arba ne.** Ar teiginys teisingas. Atsakymas `noul` — „taip“ tikimybė nuo 0 iki 1: arti 1 — užtikrintas „taip“, arti 0 — užtikrintas „ne“, arti 0,5 — modelis abejoja. Atskiro `confidence` nėra: vienas skaičius visiškai apibūdina atsakymą. Neprivalomas `criteria` patikslina, ką laikyti „taip“, o ką — „ne“.\n\nKaip pasirinkti: žinomi variantai be tvarkos — choice; spektro pakopos — score; grynas „taip / ne“, kur svarbi pati tikimybė, — noul. Noul 0,5 — vienodos „taip“ ir „ne“ tikimybės, o ne „vidutinis lygis“: laipsnį matuoja score. Iš dviejų tinkamų tipų rinkitės tą, pagal kurį kodas iš karto veikia: choice — šakos, score — slenkstis, noul — `if`.\n\nTipus galima maišyti vienoje užklausoje. Atsakymas visada apribotas jūsų variantais ir nepriklauso nuo kitų klausimų: klausimus galima pridėti ir pašalinti nekeičiant likusių atsakymų.\n\n### Būsena\n\nBūsena — tai, ką modelis vertina: kliento pranešimas, dokumento fragmentas, duomenų bazės įrašas arba jūsų programos būsena.\n\n- **Eilutė** — kai tekstas vienas: pranešimas, straipsnis, ištrauka.\n- **Objektas** — pavadinti laukai, susiję įrašai, programos būsena. TypeSafe pataria daugumai užklausų naudoti objektą: kiekviena dalis turi aiškų pavadinimą.\n- **Masyvas** — pranešimų arba įrašų seka.\n\nRenkite jį kaip medžiagą ekspertams: susirašinėjimą, užsakymą ir grąžinimo taisykles pateikite kartu, jei sprendimui reikia juos palyginti. Turinį laikykite būsenoje, vertinimus — klausimuose. Jei klausimas susijęs su viena būsenos dalimi, jame nurodykite kelią iki jos tarp atvirkštinių kabučių, pavyzdžiui, `ticket.messages[0].text`.\n\n### Kaip pateikti klausimus\n\n- **Vienas greitas vertinimas kiekvienam klausimui.** Geras klausimas — toks, į kurį išmanantis žmogus, turintis reikiamą kontekstą, atsakytų per sekundę: „Ar pranešimas skubus?“. „Išanalizuok pranešimą ir nuspręsk, ką daryti“ — jau lėtas samprotavimas, jį reikia išskaidyti į paprastus klausimus.\n- **Visas klausimas — `instructions`.** Klausimo raktas, pavyzdžiui, `refund_requested`, reikalingas tik jūsų kodui ir modeliui neperduodamas.\n- **Visi klausimai apie vieną būseną — viena užklausa.** Modelis juos vertina lygiagrečiai: TypeSafe duomenimis, papildomi klausimai beveik nepailgina atsakymo laiko ir kainuoja tik savo tokenus. Klausimas „dėl visa ko“ beveik nieko nekainuoja — kodas pats nuspręs, kurių atsakymų reikia.\n- **Sudėtingas vertinimas — dalimis.** Užuot prašę „įvertink startuolio paraišką“, atskirai klauskite apie rinkos dydį, techninį įgyvendinamumą ir skirtumus nuo konkurentų, o galutinį įvertinimą apskaičiuokite kode su svoriais. Pasikeitus prioritetams keiskite svorius, o ne perrašykite klausimą.\n- **Priklausomi klausimai — antra užklausa.** Vienos užklausos atsakymai nėra vienas kito kontekstas. Antros užklausos reikia tik tada, jei jos neįmanoma sudaryti be pirmojo atsakymo: reikia įkelti duomenis arba pasirinkti kito klausimo variantus.\n- **Ilgas klausimas — objektu.** `instructions` ir `criteria` paprastai yra eilutės, bet gali būti objektas arba masyvas: klausimas viename lauke, duomenys — kituose. Taip patogu vienu klausimu lyginti gyvenimo aprašymą su duomenų bazės įrašais.\n\n### Užtikrintumas\n\nChoice ir score `confidence` nuo 0 iki 1 parodo, kiek tikimybė sutelkta viename atsakyme: 1 — visa viename variante, 0 — po lygiai visuose. Score atveju kaimyninis lygis mažina užtikrintumą mažiau nei tolimas. Noul atveju užtikrintumas — pati reikšmė: kuo toliau nuo 0,5, tuo tvirtesnis atsakymas.\n\nTypeSafe pataria naudoti tris intervalus:\n\n1. **Didelis užtikrintumas** — veikite automatiškai.\n2. **Vidutinis** — veikite atsargiai, pavyzdžiui, paprašykite naudotojo patvirtinti.\n3. **Mažas** — perduokite atvejį žmogui, patikslinkite užklausą arba prijunkite atsarginį kelią, pavyzdžiui, galingesnį modelį su samprotavimu.\n\nKuo brangesnė klaida, tuo griežtesnis slenkstis: negrįžtamiems veiksmams — aukštesnis nei skaitymui. Atsakymas pasako, ką pasirinkti, o užtikrintumas — ar verta veikti. Slenksčius parinkite pagal savo duomenis, lygindami užtikrintumą su tikslumu.\n\n### Kaip kurti sistemą aplink Jev\n\nJev skirtas ne agentams, kurie patys pasirenka kitą žingsnį ir kiekviename cikle gali nukrypti, o programoms, kuriose procesą valdo kodas, o modelis atsako į siaurus prasmės klausimus. Aštuoni projektavimo žingsniai pagal TypeSafe:\n\n1. Viską, ką galima padaryti kodu, darykite kodu — patikimai ir pigiai.\n2. Į būseną — tik tai, ko reikia dabartiniams klausimams; nauji faktai — iš savo žinių bazės, o ne iš modelio atminties.\n3. Struktūra būsenoje: įdėtinis JSON, o klausime — kelias iki reikiamo lauko tarp atvirkštinių kabučių, jei taip sumažėja dviprasmybė.\n4. Kuo siauresni ir konkretesni klausimai — TypeSafe teigimu, tai galbūt svarbiausia taisyklė: platus klausimas po vienu atsakymu paslepia kelis vertinimus.\n5. Struktūra klausimuose: pats klausimas trumpas; paaiškinimai, pavyzdžiai ir jūsų bazės reikšmės — gretimuose objekto `instructions` arba `criteria` laukuose, o ne vienoje ilgoje eilutėje.\n6. Daug nepriklausomų klausimų apie vieną būseną vienoje užklausoje — daugiau naudos už kiekvieną dolerį.\n7. Atsakymus sujungia kodas: taisyklėmis, svertine suma arba kaip požymius klasikiniam mašininio mokymosi modeliui.\n8. Šakojimas pagal užtikrintumą: neužtikrinti atvejai — žmogui arba modeliui su samprotavimu.\n\nJev nėra pokalbių ar kodo automatinio užbaigimo modelis, todėl jo negalima įdėti į programavimo agentą vietoje kalbos modelio. Tačiau agentas gali jums parašyti kodą, kuris kviečia Jev ten, kur reikia greito kalibruoto atsakymo.\n\n### Kur taikomas\n\n- **Foninė automatizacija** — sprendimai, paleidžiami milijoną kartų be šalia esančio žmogaus.\n- **Tikrasis laikas** — TypeSafe duomenimis, dauguma užklausų įvykdomos maždaug per 100 ms: pakanka apdorojimui realiuoju laiku ir sąsajoms.\n- **Didieji duomenys** — paieška milžiniškuose tekstynuose, agentų darbo žurnalų žymėjimas, prognozių požymiai.\n- **Kitų modelių tikrinimas** — užklausos, išgauti duomenys, samprotavimas, įrankių kvietimai: ribojimų apėjimas, citavimo klaidos, išgalvota informacija.\n- **Paieška ir reitingavimas** — poros „užklausa — kandidatas“ atitiktis, pakartotinis reitingavimas, konteksto atranka.\n- **Šakojimas pagal ketinimą** — ko nori naudotojas ir kokio apdorojimo reikia: paprastos logikos, specializuoto modelio ar žmogaus; tema, sudėtingumas ir rizika lemia, kuriam kalbos modeliui perduoti užklausą.\n- **Apsauginės patikros** — kalbos modelio įvestis, išvestis ir įrankių kvietimai: įterptos instrukcijos, taisyklių pažeidimai, asmens duomenų nutekėjimas.\n- **Pagalba klientams** — kreipinio tema ir ketinimas, skubumas, susierzinimas, pasitraukimo rizika, prašymas grąžinti pinigus, eilė.\n- **Moderavimas** — pagal jūsų platformos taisykles: toksiškumas, patyčios, šlamštas, sukčiavimas, pavojingi patarimai, asmens duomenys; pagal rimtumą ir užtikrintumą — praleisti, įspėti, patikrinti arba užblokuoti.\n- **Sritys** — draudžiamieji įvykiai, finansiniai tyrimai ir KYC, sutartys ir reklama, prekių kortelės, darbuotojų atranka, potencialūs klientai, žaidimai, rizika, paklausos prognozė, žinių grafai, mokslinės apžvalgos, semantinės kodo patikros CI sistemoje.\n\n### Charakteristikos\n\n- **`jev-latest`** — naujausios stabilios versijos pseudonimas, dabar Jev 1.13; atsakiusi versija pateikiama lauke `model`, pavyzdžiui, `jev-1.13.0`. Atsiradus naujai versijai pseudonimas nukreipiamas į ją, o atsakymai gali pasikeisti be jūsų pakeitimų — stebėkite šį lauką, jei slenksčiai parinkti konkrečiai versijai.\n- **Kontekstas** — 64K tokenų vienai užklausai: būsena ir visi klausimai kartu; būsena su ilgiausiu klausimu — iki 32K. Modelis būseną perskaito vieną kartą ir visus klausimus tikrina pagal ją lygiagrečiai.\n- **Įvestis** — tik tekstas: eilutė, JSON objektas arba tekstų masyvas. Vaizdai, garsas ir vaizdo įrašai kol kas nepalaikomi — iš anksto paverskite juos tekstu.\n- **Kalba** — pagrindinė mokymo kalba yra anglų, ja tikslumas šiuo metu didžiausias. Kitas kalbas, įskaitant kinų, japonų ir korėjiečių, modelis priima, tačiau tikslumas mažesnis — patikrinkite pagal savo duomenis.\n- **Ailoot API kainos ir atsiskaitymas** — sąlygos priklauso nuo pasirinkto metodo ir yra nurodytos jo kortelėje.\n- **Pritaikymas** — Jev papildomai nemokomas pagal užsakovo duomenis: savo medžiagą pateikite `state`, dalykinės srities taisykles — `instructions` ir `criteria`.\n- **Duomenys** — TypeSafe praneša, kad Jev nemokomas naudojant klientų užklausas ir atsakymus.\n\n### Žinomos silpnosios Jev 1.13 vietos\n\nTypeSafe atvirai išvardija dabartinės versijos silpnąsias vietas ir žada daug ką pataisyti kitose versijose. Modelis greitas, kalibruotas ir gerai vertina vadovaudamasis sveiku protu, tačiau:\n\n1. **Skaito pažodžiui.** Atsako į parašytą, o ne numanomą klausimą: išlygas, neiginius ir neišreikštas sąlygas supranta pažodžiui. Tikslų kriterijų ir ribinius atvejus rašykite `criteria`; neišvengiamą interpretavimą išskaidykite į du pažodinius klausimus.\n2. **Ne skaičiuotuvas.** Simbolių, pasikartojimų ir sąrašo elementų skaičiavimas nepatikimas, klaida didėja didėjant apimčiai — skaičiuokite kode, pateikite po klausimą kiekvienam kandidatui. Spalvas hex arba RGB formatu modelis supranta prasčiau nei pavadinimus. `score` tinka slenksčiui, bet ne tiksliam skaičiui tarp lygių.\n3. **Datos ir laikas.** Kuri data ankstesnė, kiek laiko tarp jų, ar data patenka į laikotarpį — nepatikima, ypač maišant formatus ir santykines datas. Datos dalis išgaukite per choice (su variantu „nenurodyta“), lyginkite kode.\n4. **Netiesioginiai klausimai.** Dvigubi neiginiai ir klausimai apie savybės savybę mažina tikslumą. Rašykite tiesiai, būsenos dalis vadinkite jų pavadinimais.\n5. **Perteklinė būsena.** Pašalinis tekstas mažina tikslumą. Filtruokite kode, o jei negalima — atsijokite nereikšmingą turinį noul klausimais.\n6. **Priešiškas tekstas.** Pagal numatymą modelis nesitiki spąstų būsenoje: įterpta instrukcija arba tekstas, ginčijantis savo klasifikaciją, gali pakeisti atsakymą. Rašykite tikslius kriterijus ir prieš paleisdami tikrinkite ribinius atvejus.\n7. **Prieštaravimai.** Jei `instructions` ir `criteria` prašo skirtingų dalykų — pavyzdžiui, noul „taip“ aprašyta kaip „ne“, — tikslumas mažėja. Kriterijai — klausimo tęsinys.\n8. **Variantų tvarka.** Kartais modelis linksta prie pirmojo choice varianto. Sukeiskite variantus ir patikrinkite, ar atsakymas nesikeičia.\n9. **Generavimas.** Jev nemokytas rašyti tekstą. Duomenims išgauti raskite kandidatus reguliariąja išraiška arba generatyviu modeliu, o Jev tegul pasirenka teisingą per choice.",
    "alias_of": null,
    "aliases": [],
    "author": "TypeSafe",
    "ctx": 64000,
    "formats": [
      "systemone"
    ],
    "guide": "/docs/api/systemone/",
    "id": "jev-latest",
    "input": [
      "text"
    ],
    "kind": "decision",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Retain every answer by its supplied question ID, probability and legend; confidenceformulausingnrequiresn>1withoutassertinganAPIminchoicesrule.",
            "errors": [
              {
                "code": null,
                "condition": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "mode": "exact retained published method"
            },
            "material_combinations": [
              {
                "mode": "noul",
                "required": [
                  "state",
                  "questions.<id>.type=noul"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "nonemptycriteriaarray"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną atsakymą pagal pateiktą klausimo ID, tikimybę ir legendą; pasikliovimo formulei, kurioje naudojamas n, reikia n>1, tačiau tai nenustato API taisyklės dėl mažiausio pasirinkimų skaičiaus.",
              "family": "structured",
              "fields": [
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "jev-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_properties": 1,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": false,
                "type": "string|object|array|null"
              },
              {
                "availability": "source_interface",
                "conditions": "noul: neprivalomi true/false aprašai, kurie gali būti null; choice: kriterijų objektas; score: netuščias kriterijų masyvas",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "stream=true",
              "duplicateandcase-variedcanonicalkeys"
            ]
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "operation_modes": [
            "systemone"
          ],
          "output": {
            "family": [
              "structured"
            ],
            "format": "structured decisions JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 64000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"jev-latest\", \"state\": \"\", \"questions\": {\"is_urgent\": {\"type\": \"noul\", \"instructions\": \"Does the supplied customer message express urgency?\"}}}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"state\"]=text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Classify your actual customer message",
            "language": "bash"
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.084,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "structured"
        ],
        "path": "/v1/systemone",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.084,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "jev-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "jev-latest",
        "request_model_id": "jev-latest",
        "route_label": "Core"
      }
    ],
    "name": "jev-latest",
    "price": {
      "in": 0.084,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "sort_in": 0.084,
      "sort_out": 0,
      "varies": false
    },
    "short": "TypeSafe sprendimų modelis: nekuria teksto, o atsako į tipizuotus klausimus apie tekstą arba JSON — pasirenka variantą, įvertina pagal skalę arba pateikia „taip / ne“ su tikimybėmis. Tinka maršrutui parinkti, kreipiniams rūšiuoti, moderavimui ir vertinimui balais; visi vienos užklausos klausimai vertinami lygiagrečiai."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "TypeSafe sprendimų modelis: nekuria teksto, o atsako į tipizuotus klausimus apie tekstą arba JSON — pasirenka variantą, įvertina pagal skalę arba pateikia „taip / ne“ su tikimybėmis. Tinka maršrutui parinkti, kreipiniams rūšiuoti, moderavimui ir vertinimui balais; visi vienos užklausos klausimai vertinami lygiagrečiai.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "eefe5a58269f5b76a2138c60da496288cb9faef21ca9f5d6cdea88a26fa8f120",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "aa05caacc559b16bc8066292105847d25ba2d2b0c65f3c3becbcc67a7b5b4ad5"
}
