{
  "aboutHtml": "<p>A Jev a TypeSafe zászlóshajó-modellje és az új <strong>System One</strong> osztály első modellje. Nem szöveget ír, hanem gyors döntéseket hoz, amelyeket egy program közvetlenül felhasználhat: meg kell adni az <strong>állapotot</strong> (<code>state</code>) — szöveget vagy JSON-t — és a <strong>kérdések</strong> készletét, a válasz pedig típusozott értékeket tartalmaz kalibrált valószínűségekkel.</p><p>A nyelvi modellek embereknek írnak szavakat, a Jev viszont a TypeSafe szerint közelebb áll a kódhoz: a válasz rögtön a kódnak megfelelő formában érkezik, nagy sebességgel, és egyetlen érték sem esik a megadott lehetőségeken kívülre. A modellt úgy tervezték, hogy ismételt kéréseknél is stabil válaszokat adjon.</p><h4>Miben különbözik a System One a nyelvi modelltől?</h4><ul><li><strong>Nem generál.</strong> A Jev nem ír felhasználói válaszokat, kódot vagy magyarázatot a következtetési folyamatáról. A lehetséges válaszokat a felhasználó adja meg a három kérdéstípus egyikével.</li><li><strong>Kalibrált döntésekre tanították.</strong> A TypeSafe RLCD-vel (Reinforcement Learning for Calibrated Decisions) tanítja a modellt: a valószínűségeket a tényleges kimenetelekhez igazítják, így azok a bizonytalanságot tükrözik. Sok 0,8 valószínűségű válasz közül körülbelül 80%-nak kell helyesnek lennie. A kalibráltság nagy mintára vonatkozó tulajdonság, nem az egyes válaszok helyességének garanciája.</li><li><strong>Más a tanítás célja.</strong> A chatmodelleket úgy tanítják, hogy az emberek kedveljék őket (RLHF); a TypeSafe megfigyelése szerint ez megfelelési kényszert és magabiztosan előadott hibákat ösztönöz. Az RLHF egyik társszerzője, Diogo Almeida a TypeSafe társalapítója.</li></ul><p>A név Daniel Kahneman Gyors és lassú gondolkodás című könyvének „1. rendszerére” utal: a gyors, intuitív ítélet áll szemben a „2. rendszer” lassú, megfontolt gondolkodásával. A Jev gyors, szűk körű ítéletekre készült.</p><h4>Három kérdéstípus</h4><p>Egy kérdés egyetlen ítéletet kér az állapotról, a válasz pedig olyan érték, amelyet a kód küszöbbel összevethet, rendezhet vagy továbbadhat.</p><ol><li><strong>Choice — választás a lehetőségek közül.</strong> A megkeresést kezelő részleg, egy termék kategóriája vagy egy kódrészlet nyelve. A lehetőségek „változat → leírás” szótárt alkotnak, legfeljebb 255 elemmel. A válasz tartalmazza a kiválasztott <code>choice</code> értéket, az összes lehetőség <code>probabilities</code> valószínűségét (összegük 1) és a <code>confidence</code> bizonyossági értéket. Ha a lista nem fedhet le minden esetet, érdemes „egyéb” vagy „egyik sem” lehetőséget hozzáadni.</li><li><strong>Score — skálás értékelés.</strong> Hely egy rendezett skálán, amelyet a felhasználó ír le: a hiba súlyossága, az ügyfél elégedetlensége vagy a készségszint. A skála 2 és 10 közötti szintet tartalmazhat, az alacsonytól a magasig; a modell minden szintet külön értékel, anélkül hogy látná annak sorszámát vagy a szomszédait. A válaszban szerepel a <code>score</code> (a szintek sorszámának a valószínűségeikkel súlyozott összege, ezért az érték két szint közé is eshet), a szintek leírását tartalmazó <code>legend</code>, valamint a <code>probabilities</code> és a <code>confidence</code>.</li><li><strong>Noul — igen vagy nem.</strong> Igaz-e az állítás? A <code>noul</code> válasz az „igen” valószínűsége 0 és 1 között: az 1 körüli érték biztos „igen”, a 0 körüli biztos „nem”, a 0,5 körüli pedig bizonytalanságot jelez. Külön <code>confidence</code> nincs: egyetlen szám teljesen leírja a választ. Az opcionális <code>criteria</code> pontosítja, mi számít „igennek” és mi „nemnek”.</li></ol><p>Választás: ismert, nem rendezett lehetőségekhez choice; egy tartomány lépcsőihez score; tiszta „igen/nem” kérdéshez, ahol maga a valószínűség fontos, noul. A noul 0,5 egyenlő esélyű „igent” és „nemet” jelent, nem „közepes szintet”: a mértéket a score méri. Két megfelelő típus közül azt érdemes választani, amellyel a kód közvetlenül cselekedhet: choice — elágazások, score — küszöb, noul — <code>if</code>.</p><p>A típusok egy kérésben keverhetők. A válasz mindig a megadott lehetőségekre korlátozódik, és nem függ a többi kérdéstől: kérdések hozzáadhatók és eltávolíthatók a többi válasz megváltoztatása nélkül.</p><h4>Állapot</h4><p>Az állapot az, amit a modell értékel: ügyfélüzenet, dokumentumrészlet, adatbázisrekord vagy az alkalmazás állapota.</p><ul><li><strong>Karakterlánc</strong> — ha egyetlen szöveg van: üzenet, cikk vagy részlet.</li><li><strong>Objektum</strong> — elnevezett mezők, kapcsolódó rekordok vagy az alkalmazás állapota. A TypeSafe a legtöbb kéréshez objektumot ajánl, mert minden résznek egyértelmű neve van.</li><li><strong>Tömb</strong> — üzenetek vagy rekordok sorozata.</li></ul><p>Szakértőknek összeállított anyagként érdemes előkészíteni: a levelezés, a rendelés és a visszatérítési szabályok kerüljenek egy helyre, ha a döntéshez össze kell vetni őket. A tartalom az állapotba, az ítéletek a kérdésekbe kerüljenek. Ha a kérdés az állapot egy részére vonatkozik, abban backtickek között kell megadni az elérési utat, például <code>ticket.messages[0].text</code>.</p><h4>Kérdések megfogalmazása</h4><ul><li><strong>Egy gyors ítélet kérdésenként.</strong> Jó kérdés az, amelyre a szükséges kontextust ismerő ember egy másodperc alatt válaszolhat: „Van sürgősség az üzenetben?”. A „Vizsgáld meg az üzenetet, és döntsd el, mit tegyünk” már lassú következtetés, ezért egyszerű kérdésekre kell bontani.</li><li><strong>A teljes kérdés az <code>instructions</code> mezőbe kerüljön.</strong> A kérdés kulcsa, például <code>refund_requested</code>, csak a saját kódhoz szükséges, a modell nem kapja meg.</li><li><strong>Az egy állapothoz tartozó összes kérdés egy kérésbe kerüljön.</strong> A modell párhuzamosan értékeli őket: a TypeSafe szerint a további kérdések alig növelik a válaszidőt, és csak a saját tokenjeikbe kerülnek. Egy „biztos, ami biztos” kérdés szinte ingyen van — a kód maga dönti el, mely válaszokra van szükség.</li><li><strong>Összetett ítéletet részekre bontva.</strong> Az „értékeld a startup kérelmét” helyett külön érdemes rákérdezni a piac méretére, a műszaki megvalósíthatóságra és a versenytársaktól való eltérésekre, a végeredményt pedig súlyokkal kiszámítani a kódban. Ha változnak a prioritások, a súlyokat kell módosítani, nem a kérdést átírni.</li><li><strong>Függő kérdések második kérésben.</strong> Egy kérés válaszai nem szolgálnak egymás kontextusául. Második kérésre csak akkor van szükség, ha az első válasz nélkül nem állítható össze: például adatot kell betölteni, vagy ki kell választani a következő kérdés lehetőségeit.</li><li><strong>Hosszú kérdés objektumként.</strong> Az <code>instructions</code> és a <code>criteria</code> általában karakterlánc, de objektum vagy tömb is lehet: a kérdés az egyik mezőben, az adatok a többiben szerepelnek. Így egyetlen kérdéssel kényelmesen összevethető egy önéletrajz az adatbázisrekordokkal.</li></ul><h4>Bizonyosság</h4><p>Choice és score esetében a 0 és 1 közötti <code>confidence</code> azt mutatja, mennyire összpontosul a valószínűség egy válaszra: 1 esetén teljesen egy lehetőségre, 0 esetén egyenlően az összesre. Score esetében a szomszédos szint kevésbé csökkenti a bizonyosságot, mint egy távoli. Noul esetében maga az érték a bizonyosság: minél távolabb van 0,5-től, annál határozottabb a válasz.</p><p>A TypeSafe három tartományt ajánl:</p><ol><li><strong>Magas bizonyosság</strong> — automatikus végrehajtás.</li><li><strong>Közepes</strong> — óvatos végrehajtás, például megerősítés kérése a felhasználótól.</li><li><strong>Alacsony</strong> — az eset átadása embernek, a kérés pontosítása vagy tartalék út bekapcsolása, például egy erősebb, következtető modell használata.</li></ol><p>Minél költségesebb a hiba, annál szigorúbb a küszöb: visszafordíthatatlan műveleteknél magasabb, mint olvasásnál. A válasz azt mondja meg, mit válasszunk, a bizonyosság pedig azt, érdemes-e cselekedni. A küszöböket saját adatokon kell meghatározni, a bizonyosságot a pontossággal összevetve.</p><h4>Hogyan épüljön rendszer a Jev köré?</h4><p>A Jev nem olyan ügynökökhöz készült, amelyek maguk választják ki a következő lépést, és minden körben eltévedhetnek, hanem olyan programokhoz, amelyekben a folyamatot a kód vezérli, a modell pedig szűk szemantikai kérdésekre válaszol. A TypeSafe nyolc tervezési lépése:</p><ol><li>Amit kóddal el lehet végezni, azt kóddal kell megoldani — megbízhatóan és olcsón.</li><li>Az állapotba csak az kerüljön, amire az aktuális kérdésekhez szükség van; a friss tények saját tudásbázisból, ne a modell emlékezetéből származzanak.</li><li>Szerkezet az állapotban: beágyazott JSON, a kérdésben pedig a szükséges mező elérési útja backtickek között, ha ez csökkenti a kétértelműséget.</li><li>A lehető legszűkebb és legkonkrétabb kérdések — a TypeSafe szerint talán ez a legfontosabb szabály: egy tág kérdés több ítéletet rejt egy válasz mögé.</li><li>Szerkezet a kérdésekben: maga a kérdés rövid; a magyarázatok, példák és saját adatbázisból származó értékek az <code>instructions</code> vagy a <code>criteria</code> objektum szomszédos mezőiben, ne egy hosszú karakterláncban legyenek.</li><li>Sok független kérdés ugyanahhoz az állapothoz, egyetlen kérésben — több haszon minden dollárért.</li><li>A válaszokat a kód egyesíti: szabályokkal, súlyozott összeggel vagy egy hagyományos gépi tanulási modell jellemzőiként.</li><li>Elágazás a bizonyosság szerint: a bizonytalan esetek emberhez vagy következtető modellhez kerüljenek.</li></ol><p>A Jev nem chatmodell és nem kódkiegészítő modell, ezért programozó ügynökben nem helyettesíthet nyelvi modellt. Egy ügynök viszont megírhatja azt a kódot, amely ott hívja meg a Jevet, ahol gyors, kalibrált válasz szükséges.</p><h4>Felhasználási területek</h4><ul><li><strong>Háttérautomatizálás</strong> — emberi jelenlét nélkül milliószor lefuttatott döntések.</li><li><strong>Valós idő</strong> — a TypeSafe szerint a kérések többsége körülbelül 100 ms alatt teljesül: ez elegendő menet közbeni feldolgozáshoz és felületekhez.</li><li><strong>Nagy adathalmazok</strong> — keresés hatalmas korpuszokban, ügynökök munkanaplóinak címkézése, előrejelzési jellemzők.</li><li><strong>Más modellek ellenőrzése</strong> — kérések, kinyert adatok, következtetések és eszközhívások: korlátozások megkerülése, idézési hibák, kitalált állítások.</li><li><strong>Keresés és rangsorolás</strong> — „kérés — jelölt” párok relevanciája, újrarangsorolás, kontextusválogatás.</li><li><strong>Elágazás a szándék szerint</strong> — mit szeretne a felhasználó, és melyik kezelő szükséges: egyszerű logika, szakmodell vagy ember; a téma, az összetettség és a kockázat határozza meg, melyik nyelvi modell kapja a kérést.</li><li><strong>Védelmi ellenőrzések</strong> — a nyelvi modell bemenete, kimenete és eszközhívásai: beágyazott utasítások, szabálysértések, személyes adatok kiszivárgása.</li><li><strong>Ügyféltámogatás</strong> — a megkeresés témája és szándéka, sürgősség, elégedetlenség, lemorzsolódási kockázat, visszatérítési kérés és sorba állítás.</li><li><strong>Moderálás</strong> — a saját platform szabályai alapján: mérgező tartalom, zaklatás, spam, csalás, veszélyes tanácsok és személyes adatok; súlyosság és bizonyosság alapján engedélyezés, figyelmeztetés, ellenőrzés vagy blokkolás.</li><li><strong>Ágazatok</strong> — biztosítási esetek, pénzügyi vizsgálatok és KYC, szerződések és reklám, termékkártyák, toborzás, érdeklődők, játékok, kockázatok, kereslet-előrejelzés, tudásgráfok, tudományos áttekintések és a kód szemantikai ellenőrzése CI-ban.</li></ul><h4>Jellemzők</h4><ul><li><strong><code>jev-latest</code></strong> — a legújabb stabil verzió álneve, jelenleg Jev 1.13; a válaszoló verzió a <code>model</code> mezőben látható, például <code>jev-1.13.0</code>. Új verzió megjelenésekor az álnév arra vált, és a válaszok saját módosítás nélkül is megváltozhatnak — figyelni kell ezt a mezőt, ha a küszöbök egy adott verzióhoz igazodnak.</li><li><strong>Kontextus</strong> — kérésenként 64K token: az állapot és az összes kérdés együtt; az állapot a leghosszabb kérdéssel együtt legfeljebb 32K. A modell egyszer olvassa az állapotot, és az összes kérdést párhuzamosan ellenőrzi vele szemben.</li><li><strong>Bemenet</strong> — kizárólag szöveg: karakterlánc, JSON-objektum vagy szövegtömb. Képek, hang és videó egyelőre nem támogatottak — előbb szöveggé kell alakítani őket.</li><li><strong>Nyelv</strong> — a tanítás fő nyelve az angol, jelenleg ezen a legnagyobb a pontosság. A modell más nyelveket, köztük kínait, japánt és koreait is fogad, de kisebb pontossággal — saját adatokon kell ellenőrizni.</li><li><strong>Árak és számlázás az Ailoot API-ban</strong> — a feltételek a választott metódustól függnek, és annak kártyáján szerepelnek.</li><li><strong>Beállítás</strong> — a Jevet nem finomhangolják az ügyfél adataival: a saját anyagok a <code>state</code>, a szakterületi szabályok az <code>instructions</code> és a <code>criteria</code> mezőbe kerüljenek.</li><li><strong>Adatok</strong> — a TypeSafe közlése szerint a Jevet nem tanítják az ügyfelek kérésein és válaszain.</li></ul><h4>A Jev 1.13 ismert gyengeségei</h4><p>A TypeSafe nyíltan felsorolja az aktuális verzió gyengeségeit, és sok javítást ígér a következőkre. A modell gyors, kalibrált és józan ítéletekre képes, de:</p><ol><li><strong>Szó szerint olvas.</strong> A leírt kérdésre válaszol, nem a szándékoltra: a fenntartásokat, tagadásokat és kimondatlan feltételeket szó szerint érti. A pontos feltételt és a határeseteket a <code>criteria</code> mezőben kell megadni; az elkerülhetetlen értelmezést két szó szerinti kérdésre kell bontani.</li><li><strong>Nem számológép.</strong> A karakterek, ismétlődések és listaelemek számlálása megbízhatatlan, a hiba a mérettel nő — ezt kódban kell elvégezni, jelöltenként egy kérdéssel. A hex vagy RGB formájú színeket a modell kevésbé érti, mint a színneveket. A <code>score</code> küszöbhöz megfelelő, de a szintek közötti pontos számhoz nem.</li><li><strong>Dátumok és idő.</strong> Melyik dátum korábbi, mennyi idő van köztük, beleesik-e egy időszakba — ezek megbízhatatlanok, különösen vegyes formátumoknál és relatív dátumoknál. A dátum részeit choice kérdéssel érdemes kinyerni („nincs megadva” lehetőséggel), az összehasonlítást pedig kódban elvégezni.</li><li><strong>Közvetettség.</strong> A kettős tagadás és egy tulajdonság tulajdonságára vonatkozó kérdés csökkenti a pontosságot. Közvetlenül kell fogalmazni, és név szerint megadni az állapot részeit.</li><li><strong>Felesleges tartalom az állapotban.</strong> Az oda nem tartozó szöveg rontja a pontosságot. Kódban kell szűrni, ha ez nem lehetséges, noul kérdésekkel kiszűrni a nem releváns részeket.</li><li><strong>Ellenséges szöveg.</strong> A modell alapértelmezésben nem számít csapdákra az állapotban: egy beágyazott utasítás vagy a saját besorolásával vitatkozó szöveg eltolhatja a választ. Pontos kritériumokat kell írni, és indulás előtt ellenőrizni a határeseteket.</li><li><strong>Ellentmondások.</strong> Ha az <code>instructions</code> és a <code>criteria</code> mást kér — például a noul „igenje” „nemként” van leírva —, csökken a pontosság. A kritériumok a kérdés folytatását jelentik.</li><li><strong>A lehetőségek sorrendje.</strong> A modell néha a choice első lehetőségéhez húz. Érdemes átrendezni őket, és ellenőrizni, hogy a válasz nem változik-e.</li><li><strong>Generálás.</strong> A Jevet nem tanították szövegírásra. Adatkinyeréshez a jelölteket reguláris kifejezéssel vagy generatív modellel kell megkeresni, a Jev pedig choice segítségével válassza ki a megfelelőt.</li></ol>",
  "aboutText": "A Jev a TypeSafe zászlóshajó-modellje és az új **System One** osztály első modellje. Nem szöveget ír, hanem gyors döntéseket hoz, amelyeket egy program közvetlenül felhasználhat: meg kell adni az **állapotot** (`state`) — szöveget vagy JSON-t — és a **kérdések** készletét, a válasz pedig típusozott értékeket tartalmaz kalibrált valószínűségekkel.\n\nA nyelvi modellek embereknek írnak szavakat, a Jev viszont a TypeSafe szerint közelebb áll a kódhoz: a válasz rögtön a kódnak megfelelő formában érkezik, nagy sebességgel, és egyetlen érték sem esik a megadott lehetőségeken kívülre. A modellt úgy tervezték, hogy ismételt kéréseknél is stabil válaszokat adjon.\n\n### Miben különbözik a System One a nyelvi modelltől?\n\n- **Nem generál.** A Jev nem ír felhasználói válaszokat, kódot vagy magyarázatot a következtetési folyamatáról. A lehetséges válaszokat a felhasználó adja meg a három kérdéstípus egyikével.\n- **Kalibrált döntésekre tanították.** A TypeSafe RLCD-vel (Reinforcement Learning for Calibrated Decisions) tanítja a modellt: a valószínűségeket a tényleges kimenetelekhez igazítják, így azok a bizonytalanságot tükrözik. Sok 0,8 valószínűségű válasz közül körülbelül 80%-nak kell helyesnek lennie. A kalibráltság nagy mintára vonatkozó tulajdonság, nem az egyes válaszok helyességének garanciája.\n- **Más a tanítás célja.** A chatmodelleket úgy tanítják, hogy az emberek kedveljék őket (RLHF); a TypeSafe megfigyelése szerint ez megfelelési kényszert és magabiztosan előadott hibákat ösztönöz. Az RLHF egyik társszerzője, Diogo Almeida a TypeSafe társalapítója.\n\nA név Daniel Kahneman Gyors és lassú gondolkodás című könyvének „1. rendszerére” utal: a gyors, intuitív ítélet áll szemben a „2. rendszer” lassú, megfontolt gondolkodásával. A Jev gyors, szűk körű ítéletekre készült.\n\n### Három kérdéstípus\n\nEgy kérdés egyetlen ítéletet kér az állapotról, a válasz pedig olyan érték, amelyet a kód küszöbbel összevethet, rendezhet vagy továbbadhat.\n\n1. **Choice — választás a lehetőségek közül.** A megkeresést kezelő részleg, egy termék kategóriája vagy egy kódrészlet nyelve. A lehetőségek „változat → leírás” szótárt alkotnak, legfeljebb 255 elemmel. A válasz tartalmazza a kiválasztott `choice` értéket, az összes lehetőség `probabilities` valószínűségét (összegük 1) és a `confidence` bizonyossági értéket. Ha a lista nem fedhet le minden esetet, érdemes „egyéb” vagy „egyik sem” lehetőséget hozzáadni.\n2. **Score — skálás értékelés.** Hely egy rendezett skálán, amelyet a felhasználó ír le: a hiba súlyossága, az ügyfél elégedetlensége vagy a készségszint. A skála 2 és 10 közötti szintet tartalmazhat, az alacsonytól a magasig; a modell minden szintet külön értékel, anélkül hogy látná annak sorszámát vagy a szomszédait. A válaszban szerepel a `score` (a szintek sorszámának a valószínűségeikkel súlyozott összege, ezért az érték két szint közé is eshet), a szintek leírását tartalmazó `legend`, valamint a `probabilities` és a `confidence`.\n3. **Noul — igen vagy nem.** Igaz-e az állítás? A `noul` válasz az „igen” valószínűsége 0 és 1 között: az 1 körüli érték biztos „igen”, a 0 körüli biztos „nem”, a 0,5 körüli pedig bizonytalanságot jelez. Külön `confidence` nincs: egyetlen szám teljesen leírja a választ. Az opcionális `criteria` pontosítja, mi számít „igennek” és mi „nemnek”.\n\nVálasztás: ismert, nem rendezett lehetőségekhez choice; egy tartomány lépcsőihez score; tiszta „igen/nem” kérdéshez, ahol maga a valószínűség fontos, noul. A noul 0,5 egyenlő esélyű „igent” és „nemet” jelent, nem „közepes szintet”: a mértéket a score méri. Két megfelelő típus közül azt érdemes választani, amellyel a kód közvetlenül cselekedhet: choice — elágazások, score — küszöb, noul — `if`.\n\nA típusok egy kérésben keverhetők. A válasz mindig a megadott lehetőségekre korlátozódik, és nem függ a többi kérdéstől: kérdések hozzáadhatók és eltávolíthatók a többi válasz megváltoztatása nélkül.\n\n### Állapot\n\nAz állapot az, amit a modell értékel: ügyfélüzenet, dokumentumrészlet, adatbázisrekord vagy az alkalmazás állapota.\n\n- **Karakterlánc** — ha egyetlen szöveg van: üzenet, cikk vagy részlet.\n- **Objektum** — elnevezett mezők, kapcsolódó rekordok vagy az alkalmazás állapota. A TypeSafe a legtöbb kéréshez objektumot ajánl, mert minden résznek egyértelmű neve van.\n- **Tömb** — üzenetek vagy rekordok sorozata.\n\nSzakértőknek összeállított anyagként érdemes előkészíteni: a levelezés, a rendelés és a visszatérítési szabályok kerüljenek egy helyre, ha a döntéshez össze kell vetni őket. A tartalom az állapotba, az ítéletek a kérdésekbe kerüljenek. Ha a kérdés az állapot egy részére vonatkozik, abban backtickek között kell megadni az elérési utat, például `ticket.messages[0].text`.\n\n### Kérdések megfogalmazása\n\n- **Egy gyors ítélet kérdésenként.** Jó kérdés az, amelyre a szükséges kontextust ismerő ember egy másodperc alatt válaszolhat: „Van sürgősség az üzenetben?”. A „Vizsgáld meg az üzenetet, és döntsd el, mit tegyünk” már lassú következtetés, ezért egyszerű kérdésekre kell bontani.\n- **A teljes kérdés az `instructions` mezőbe kerüljön.** A kérdés kulcsa, például `refund_requested`, csak a saját kódhoz szükséges, a modell nem kapja meg.\n- **Az egy állapothoz tartozó összes kérdés egy kérésbe kerüljön.** A modell párhuzamosan értékeli őket: a TypeSafe szerint a további kérdések alig növelik a válaszidőt, és csak a saját tokenjeikbe kerülnek. Egy „biztos, ami biztos” kérdés szinte ingyen van — a kód maga dönti el, mely válaszokra van szükség.\n- **Összetett ítéletet részekre bontva.** Az „értékeld a startup kérelmét” helyett külön érdemes rákérdezni a piac méretére, a műszaki megvalósíthatóságra és a versenytársaktól való eltérésekre, a végeredményt pedig súlyokkal kiszámítani a kódban. Ha változnak a prioritások, a súlyokat kell módosítani, nem a kérdést átírni.\n- **Függő kérdések második kérésben.** Egy kérés válaszai nem szolgálnak egymás kontextusául. Második kérésre csak akkor van szükség, ha az első válasz nélkül nem állítható össze: például adatot kell betölteni, vagy ki kell választani a következő kérdés lehetőségeit.\n- **Hosszú kérdés objektumként.** Az `instructions` és a `criteria` általában karakterlánc, de objektum vagy tömb is lehet: a kérdés az egyik mezőben, az adatok a többiben szerepelnek. Így egyetlen kérdéssel kényelmesen összevethető egy önéletrajz az adatbázisrekordokkal.\n\n### Bizonyosság\n\nChoice és score esetében a 0 és 1 közötti `confidence` azt mutatja, mennyire összpontosul a valószínűség egy válaszra: 1 esetén teljesen egy lehetőségre, 0 esetén egyenlően az összesre. Score esetében a szomszédos szint kevésbé csökkenti a bizonyosságot, mint egy távoli. Noul esetében maga az érték a bizonyosság: minél távolabb van 0,5-től, annál határozottabb a válasz.\n\nA TypeSafe három tartományt ajánl:\n\n1. **Magas bizonyosság** — automatikus végrehajtás.\n2. **Közepes** — óvatos végrehajtás, például megerősítés kérése a felhasználótól.\n3. **Alacsony** — az eset átadása embernek, a kérés pontosítása vagy tartalék út bekapcsolása, például egy erősebb, következtető modell használata.\n\nMinél költségesebb a hiba, annál szigorúbb a küszöb: visszafordíthatatlan műveleteknél magasabb, mint olvasásnál. A válasz azt mondja meg, mit válasszunk, a bizonyosság pedig azt, érdemes-e cselekedni. A küszöböket saját adatokon kell meghatározni, a bizonyosságot a pontossággal összevetve.\n\n### Hogyan épüljön rendszer a Jev köré?\n\nA Jev nem olyan ügynökökhöz készült, amelyek maguk választják ki a következő lépést, és minden körben eltévedhetnek, hanem olyan programokhoz, amelyekben a folyamatot a kód vezérli, a modell pedig szűk szemantikai kérdésekre válaszol. A TypeSafe nyolc tervezési lépése:\n\n1. Amit kóddal el lehet végezni, azt kóddal kell megoldani — megbízhatóan és olcsón.\n2. Az állapotba csak az kerüljön, amire az aktuális kérdésekhez szükség van; a friss tények saját tudásbázisból, ne a modell emlékezetéből származzanak.\n3. Szerkezet az állapotban: beágyazott JSON, a kérdésben pedig a szükséges mező elérési útja backtickek között, ha ez csökkenti a kétértelműséget.\n4. A lehető legszűkebb és legkonkrétabb kérdések — a TypeSafe szerint talán ez a legfontosabb szabály: egy tág kérdés több ítéletet rejt egy válasz mögé.\n5. Szerkezet a kérdésekben: maga a kérdés rövid; a magyarázatok, példák és saját adatbázisból származó értékek az `instructions` vagy a `criteria` objektum szomszédos mezőiben, ne egy hosszú karakterláncban legyenek.\n6. Sok független kérdés ugyanahhoz az állapothoz, egyetlen kérésben — több haszon minden dollárért.\n7. A válaszokat a kód egyesíti: szabályokkal, súlyozott összeggel vagy egy hagyományos gépi tanulási modell jellemzőiként.\n8. Elágazás a bizonyosság szerint: a bizonytalan esetek emberhez vagy következtető modellhez kerüljenek.\n\nA Jev nem chatmodell és nem kódkiegészítő modell, ezért programozó ügynökben nem helyettesíthet nyelvi modellt. Egy ügynök viszont megírhatja azt a kódot, amely ott hívja meg a Jevet, ahol gyors, kalibrált válasz szükséges.\n\n### Felhasználási területek\n\n- **Háttérautomatizálás** — emberi jelenlét nélkül milliószor lefuttatott döntések.\n- **Valós idő** — a TypeSafe szerint a kérések többsége körülbelül 100 ms alatt teljesül: ez elegendő menet közbeni feldolgozáshoz és felületekhez.\n- **Nagy adathalmazok** — keresés hatalmas korpuszokban, ügynökök munkanaplóinak címkézése, előrejelzési jellemzők.\n- **Más modellek ellenőrzése** — kérések, kinyert adatok, következtetések és eszközhívások: korlátozások megkerülése, idézési hibák, kitalált állítások.\n- **Keresés és rangsorolás** — „kérés — jelölt” párok relevanciája, újrarangsorolás, kontextusválogatás.\n- **Elágazás a szándék szerint** — mit szeretne a felhasználó, és melyik kezelő szükséges: egyszerű logika, szakmodell vagy ember; a téma, az összetettség és a kockázat határozza meg, melyik nyelvi modell kapja a kérést.\n- **Védelmi ellenőrzések** — a nyelvi modell bemenete, kimenete és eszközhívásai: beágyazott utasítások, szabálysértések, személyes adatok kiszivárgása.\n- **Ügyféltámogatás** — a megkeresés témája és szándéka, sürgősség, elégedetlenség, lemorzsolódási kockázat, visszatérítési kérés és sorba állítás.\n- **Moderálás** — a saját platform szabályai alapján: mérgező tartalom, zaklatás, spam, csalás, veszélyes tanácsok és személyes adatok; súlyosság és bizonyosság alapján engedélyezés, figyelmeztetés, ellenőrzés vagy blokkolás.\n- **Ágazatok** — biztosítási esetek, pénzügyi vizsgálatok és KYC, szerződések és reklám, termékkártyák, toborzás, érdeklődők, játékok, kockázatok, kereslet-előrejelzés, tudásgráfok, tudományos áttekintések és a kód szemantikai ellenőrzése CI-ban.\n\n### Jellemzők\n\n- **`jev-latest`** — a legújabb stabil verzió álneve, jelenleg Jev 1.13; a válaszoló verzió a `model` mezőben látható, például `jev-1.13.0`. Új verzió megjelenésekor az álnév arra vált, és a válaszok saját módosítás nélkül is megváltozhatnak — figyelni kell ezt a mezőt, ha a küszöbök egy adott verzióhoz igazodnak.\n- **Kontextus** — kérésenként 64K token: az állapot és az összes kérdés együtt; az állapot a leghosszabb kérdéssel együtt legfeljebb 32K. A modell egyszer olvassa az állapotot, és az összes kérdést párhuzamosan ellenőrzi vele szemben.\n- **Bemenet** — kizárólag szöveg: karakterlánc, JSON-objektum vagy szövegtömb. Képek, hang és videó egyelőre nem támogatottak — előbb szöveggé kell alakítani őket.\n- **Nyelv** — a tanítás fő nyelve az angol, jelenleg ezen a legnagyobb a pontosság. A modell más nyelveket, köztük kínait, japánt és koreait is fogad, de kisebb pontossággal — saját adatokon kell ellenőrizni.\n- **Árak és számlázás az Ailoot API-ban** — a feltételek a választott metódustól függnek, és annak kártyáján szerepelnek.\n- **Beállítás** — a Jevet nem finomhangolják az ügyfél adataival: a saját anyagok a `state`, a szakterületi szabályok az `instructions` és a `criteria` mezőbe kerüljenek.\n- **Adatok** — a TypeSafe közlése szerint a Jevet nem tanítják az ügyfelek kérésein és válaszain.\n\n### A Jev 1.13 ismert gyengeségei\n\nA TypeSafe nyíltan felsorolja az aktuális verzió gyengeségeit, és sok javítást ígér a következőkre. A modell gyors, kalibrált és józan ítéletekre képes, de:\n\n1. **Szó szerint olvas.** A leírt kérdésre válaszol, nem a szándékoltra: a fenntartásokat, tagadásokat és kimondatlan feltételeket szó szerint érti. A pontos feltételt és a határeseteket a `criteria` mezőben kell megadni; az elkerülhetetlen értelmezést két szó szerinti kérdésre kell bontani.\n2. **Nem számológép.** A karakterek, ismétlődések és listaelemek számlálása megbízhatatlan, a hiba a mérettel nő — ezt kódban kell elvégezni, jelöltenként egy kérdéssel. A hex vagy RGB formájú színeket a modell kevésbé érti, mint a színneveket. A `score` küszöbhöz megfelelő, de a szintek közötti pontos számhoz nem.\n3. **Dátumok és idő.** Melyik dátum korábbi, mennyi idő van köztük, beleesik-e egy időszakba — ezek megbízhatatlanok, különösen vegyes formátumoknál és relatív dátumoknál. A dátum részeit choice kérdéssel érdemes kinyerni („nincs megadva” lehetőséggel), az összehasonlítást pedig kódban elvégezni.\n4. **Közvetettség.** A kettős tagadás és egy tulajdonság tulajdonságára vonatkozó kérdés csökkenti a pontosságot. Közvetlenül kell fogalmazni, és név szerint megadni az állapot részeit.\n5. **Felesleges tartalom az állapotban.** Az oda nem tartozó szöveg rontja a pontosságot. Kódban kell szűrni, ha ez nem lehetséges, noul kérdésekkel kiszűrni a nem releváns részeket.\n6. **Ellenséges szöveg.** A modell alapértelmezésben nem számít csapdákra az állapotban: egy beágyazott utasítás vagy a saját besorolásával vitatkozó szöveg eltolhatja a választ. Pontos kritériumokat kell írni, és indulás előtt ellenőrizni a határeseteket.\n7. **Ellentmondások.** Ha az `instructions` és a `criteria` mást kér — például a noul „igenje” „nemként” van leírva —, csökken a pontosság. A kritériumok a kérdés folytatását jelentik.\n8. **A lehetőségek sorrendje.** A modell néha a choice első lehetőségéhez húz. Érdemes átrendezni őket, és ellenőrizni, hogy a válasz nem változik-e.\n9. **Generálás.** A Jevet nem tanították szövegírásra. Adatkinyeréshez a jelölteket reguláris kifejezéssel vagy generatív modellel kell megkeresni, a Jev pedig choice segítségével válassza ki a megfelelőt.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3f0e30faff9099d951bae38b8692ce9263722e59dc9f2434238655e96897b012",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "hu",
  "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=\"Bezárás\">×</button></div><div class=\"idline\"><span>TypeSafe /</span><code>jev-latest</code><button type=\"button\" id=\"copy-id\">ID másolása</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkártya szakaszai\"><button type=\"button\" data-card-jump=\"overview\">Kezdő lépések</button><button type=\"button\" data-card-jump=\"methods\">Bemenetek és metódusok</button><button type=\"button\" data-card-jump=\"pricing\">Díjcsomagok</button><button type=\"button\" data-card-jump=\"examples\">Példák</button><button type=\"button\" data-card-jump=\"results\">Eredmények</button><button type=\"button\" data-card-jump=\"aliases\">Álnevek</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metódusok\"><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\">Kezdő lépések</h3><p class=\"mdesc-full\">A TypeSafe döntési modellje: szöveg írása helyett szövegről vagy JSON-ról feltett, típusozott kérdésekre válaszol — választással, skálás értékeléssel vagy valószínűségi „igen/nem” válasszal. Útválasztásra, megkeresések rendezésére, moderálásra és pontozásra használható; egy kérés összes kérdését párhuzamosan értékeli.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg</dd></div><div><dt>Eredmények</dt><dd>structured</dd></div></dl><details class=\"card-about\"><summary>A modellről</summary><p class=\"note-s\" data-model-method-boundary>Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.</p><div class=\"mabout\" id=\"m-about\"><p>A Jev a TypeSafe zászlóshajó-modellje és az új <strong>System One</strong> osztály első modellje. Nem szöveget ír, hanem gyors döntéseket hoz, amelyeket egy program közvetlenül felhasználhat: meg kell adni az <strong>állapotot</strong> (<code>state</code>) — szöveget vagy JSON-t — és a <strong>kérdések</strong> készletét, a válasz pedig típusozott értékeket tartalmaz kalibrált valószínűségekkel.</p><p>A nyelvi modellek embereknek írnak szavakat, a Jev viszont a TypeSafe szerint közelebb áll a kódhoz: a válasz rögtön a kódnak megfelelő formában érkezik, nagy sebességgel, és egyetlen érték sem esik a megadott lehetőségeken kívülre. A modellt úgy tervezték, hogy ismételt kéréseknél is stabil válaszokat adjon.</p><h4>Miben különbözik a System One a nyelvi modelltől?</h4><ul><li><strong>Nem generál.</strong> A Jev nem ír felhasználói válaszokat, kódot vagy magyarázatot a következtetési folyamatáról. A lehetséges válaszokat a felhasználó adja meg a három kérdéstípus egyikével.</li><li><strong>Kalibrált döntésekre tanították.</strong> A TypeSafe RLCD-vel (Reinforcement Learning for Calibrated Decisions) tanítja a modellt: a valószínűségeket a tényleges kimenetelekhez igazítják, így azok a bizonytalanságot tükrözik. Sok 0,8 valószínűségű válasz közül körülbelül 80%-nak kell helyesnek lennie. A kalibráltság nagy mintára vonatkozó tulajdonság, nem az egyes válaszok helyességének garanciája.</li><li><strong>Más a tanítás célja.</strong> A chatmodelleket úgy tanítják, hogy az emberek kedveljék őket (RLHF); a TypeSafe megfigyelése szerint ez megfelelési kényszert és magabiztosan előadott hibákat ösztönöz. Az RLHF egyik társszerzője, Diogo Almeida a TypeSafe társalapítója.</li></ul><p>A név Daniel Kahneman Gyors és lassú gondolkodás című könyvének „1. rendszerére” utal: a gyors, intuitív ítélet áll szemben a „2. rendszer” lassú, megfontolt gondolkodásával. A Jev gyors, szűk körű ítéletekre készült.</p><h4>Három kérdéstípus</h4><p>Egy kérdés egyetlen ítéletet kér az állapotról, a válasz pedig olyan érték, amelyet a kód küszöbbel összevethet, rendezhet vagy továbbadhat.</p><ol><li><strong>Choice — választás a lehetőségek közül.</strong> A megkeresést kezelő részleg, egy termék kategóriája vagy egy kódrészlet nyelve. A lehetőségek „változat → leírás” szótárt alkotnak, legfeljebb 255 elemmel. A válasz tartalmazza a kiválasztott <code>choice</code> értéket, az összes lehetőség <code>probabilities</code> valószínűségét (összegük 1) és a <code>confidence</code> bizonyossági értéket. Ha a lista nem fedhet le minden esetet, érdemes „egyéb” vagy „egyik sem” lehetőséget hozzáadni.</li><li><strong>Score — skálás értékelés.</strong> Hely egy rendezett skálán, amelyet a felhasználó ír le: a hiba súlyossága, az ügyfél elégedetlensége vagy a készségszint. A skála 2 és 10 közötti szintet tartalmazhat, az alacsonytól a magasig; a modell minden szintet külön értékel, anélkül hogy látná annak sorszámát vagy a szomszédait. A válaszban szerepel a <code>score</code> (a szintek sorszámának a valószínűségeikkel súlyozott összege, ezért az érték két szint közé is eshet), a szintek leírását tartalmazó <code>legend</code>, valamint a <code>probabilities</code> és a <code>confidence</code>.</li><li><strong>Noul — igen vagy nem.</strong> Igaz-e az állítás? A <code>noul</code> válasz az „igen” valószínűsége 0 és 1 között: az 1 körüli érték biztos „igen”, a 0 körüli biztos „nem”, a 0,5 körüli pedig bizonytalanságot jelez. Külön <code>confidence</code> nincs: egyetlen szám teljesen leírja a választ. Az opcionális <code>criteria</code> pontosítja, mi számít „igennek” és mi „nemnek”.</li></ol><p>Választás: ismert, nem rendezett lehetőségekhez choice; egy tartomány lépcsőihez score; tiszta „igen/nem” kérdéshez, ahol maga a valószínűség fontos, noul. A noul 0,5 egyenlő esélyű „igent” és „nemet” jelent, nem „közepes szintet”: a mértéket a score méri. Két megfelelő típus közül azt érdemes választani, amellyel a kód közvetlenül cselekedhet: choice — elágazások, score — küszöb, noul — <code>if</code>.</p><p>A típusok egy kérésben keverhetők. A válasz mindig a megadott lehetőségekre korlátozódik, és nem függ a többi kérdéstől: kérdések hozzáadhatók és eltávolíthatók a többi válasz megváltoztatása nélkül.</p><h4>Állapot</h4><p>Az állapot az, amit a modell értékel: ügyfélüzenet, dokumentumrészlet, adatbázisrekord vagy az alkalmazás állapota.</p><ul><li><strong>Karakterlánc</strong> — ha egyetlen szöveg van: üzenet, cikk vagy részlet.</li><li><strong>Objektum</strong> — elnevezett mezők, kapcsolódó rekordok vagy az alkalmazás állapota. A TypeSafe a legtöbb kéréshez objektumot ajánl, mert minden résznek egyértelmű neve van.</li><li><strong>Tömb</strong> — üzenetek vagy rekordok sorozata.</li></ul><p>Szakértőknek összeállított anyagként érdemes előkészíteni: a levelezés, a rendelés és a visszatérítési szabályok kerüljenek egy helyre, ha a döntéshez össze kell vetni őket. A tartalom az állapotba, az ítéletek a kérdésekbe kerüljenek. Ha a kérdés az állapot egy részére vonatkozik, abban backtickek között kell megadni az elérési utat, például <code>ticket.messages[0].text</code>.</p><h4>Kérdések megfogalmazása</h4><ul><li><strong>Egy gyors ítélet kérdésenként.</strong> Jó kérdés az, amelyre a szükséges kontextust ismerő ember egy másodperc alatt válaszolhat: „Van sürgősség az üzenetben?”. A „Vizsgáld meg az üzenetet, és döntsd el, mit tegyünk” már lassú következtetés, ezért egyszerű kérdésekre kell bontani.</li><li><strong>A teljes kérdés az <code>instructions</code> mezőbe kerüljön.</strong> A kérdés kulcsa, például <code>refund_requested</code>, csak a saját kódhoz szükséges, a modell nem kapja meg.</li><li><strong>Az egy állapothoz tartozó összes kérdés egy kérésbe kerüljön.</strong> A modell párhuzamosan értékeli őket: a TypeSafe szerint a további kérdések alig növelik a válaszidőt, és csak a saját tokenjeikbe kerülnek. Egy „biztos, ami biztos” kérdés szinte ingyen van — a kód maga dönti el, mely válaszokra van szükség.</li><li><strong>Összetett ítéletet részekre bontva.</strong> Az „értékeld a startup kérelmét” helyett külön érdemes rákérdezni a piac méretére, a műszaki megvalósíthatóságra és a versenytársaktól való eltérésekre, a végeredményt pedig súlyokkal kiszámítani a kódban. Ha változnak a prioritások, a súlyokat kell módosítani, nem a kérdést átírni.</li><li><strong>Függő kérdések második kérésben.</strong> Egy kérés válaszai nem szolgálnak egymás kontextusául. Második kérésre csak akkor van szükség, ha az első válasz nélkül nem állítható össze: például adatot kell betölteni, vagy ki kell választani a következő kérdés lehetőségeit.</li><li><strong>Hosszú kérdés objektumként.</strong> Az <code>instructions</code> és a <code>criteria</code> általában karakterlánc, de objektum vagy tömb is lehet: a kérdés az egyik mezőben, az adatok a többiben szerepelnek. Így egyetlen kérdéssel kényelmesen összevethető egy önéletrajz az adatbázisrekordokkal.</li></ul><h4>Bizonyosság</h4><p>Choice és score esetében a 0 és 1 közötti <code>confidence</code> azt mutatja, mennyire összpontosul a valószínűség egy válaszra: 1 esetén teljesen egy lehetőségre, 0 esetén egyenlően az összesre. Score esetében a szomszédos szint kevésbé csökkenti a bizonyosságot, mint egy távoli. Noul esetében maga az érték a bizonyosság: minél távolabb van 0,5-től, annál határozottabb a válasz.</p><p>A TypeSafe három tartományt ajánl:</p><ol><li><strong>Magas bizonyosság</strong> — automatikus végrehajtás.</li><li><strong>Közepes</strong> — óvatos végrehajtás, például megerősítés kérése a felhasználótól.</li><li><strong>Alacsony</strong> — az eset átadása embernek, a kérés pontosítása vagy tartalék út bekapcsolása, például egy erősebb, következtető modell használata.</li></ol><p>Minél költségesebb a hiba, annál szigorúbb a küszöb: visszafordíthatatlan műveleteknél magasabb, mint olvasásnál. A válasz azt mondja meg, mit válasszunk, a bizonyosság pedig azt, érdemes-e cselekedni. A küszöböket saját adatokon kell meghatározni, a bizonyosságot a pontossággal összevetve.</p><h4>Hogyan épüljön rendszer a Jev köré?</h4><p>A Jev nem olyan ügynökökhöz készült, amelyek maguk választják ki a következő lépést, és minden körben eltévedhetnek, hanem olyan programokhoz, amelyekben a folyamatot a kód vezérli, a modell pedig szűk szemantikai kérdésekre válaszol. A TypeSafe nyolc tervezési lépése:</p><ol><li>Amit kóddal el lehet végezni, azt kóddal kell megoldani — megbízhatóan és olcsón.</li><li>Az állapotba csak az kerüljön, amire az aktuális kérdésekhez szükség van; a friss tények saját tudásbázisból, ne a modell emlékezetéből származzanak.</li><li>Szerkezet az állapotban: beágyazott JSON, a kérdésben pedig a szükséges mező elérési útja backtickek között, ha ez csökkenti a kétértelműséget.</li><li>A lehető legszűkebb és legkonkrétabb kérdések — a TypeSafe szerint talán ez a legfontosabb szabály: egy tág kérdés több ítéletet rejt egy válasz mögé.</li><li>Szerkezet a kérdésekben: maga a kérdés rövid; a magyarázatok, példák és saját adatbázisból származó értékek az <code>instructions</code> vagy a <code>criteria</code> objektum szomszédos mezőiben, ne egy hosszú karakterláncban legyenek.</li><li>Sok független kérdés ugyanahhoz az állapothoz, egyetlen kérésben — több haszon minden dollárért.</li><li>A válaszokat a kód egyesíti: szabályokkal, súlyozott összeggel vagy egy hagyományos gépi tanulási modell jellemzőiként.</li><li>Elágazás a bizonyosság szerint: a bizonytalan esetek emberhez vagy következtető modellhez kerüljenek.</li></ol><p>A Jev nem chatmodell és nem kódkiegészítő modell, ezért programozó ügynökben nem helyettesíthet nyelvi modellt. Egy ügynök viszont megírhatja azt a kódot, amely ott hívja meg a Jevet, ahol gyors, kalibrált válasz szükséges.</p><h4>Felhasználási területek</h4><ul><li><strong>Háttérautomatizálás</strong> — emberi jelenlét nélkül milliószor lefuttatott döntések.</li><li><strong>Valós idő</strong> — a TypeSafe szerint a kérések többsége körülbelül 100 ms alatt teljesül: ez elegendő menet közbeni feldolgozáshoz és felületekhez.</li><li><strong>Nagy adathalmazok</strong> — keresés hatalmas korpuszokban, ügynökök munkanaplóinak címkézése, előrejelzési jellemzők.</li><li><strong>Más modellek ellenőrzése</strong> — kérések, kinyert adatok, következtetések és eszközhívások: korlátozások megkerülése, idézési hibák, kitalált állítások.</li><li><strong>Keresés és rangsorolás</strong> — „kérés — jelölt” párok relevanciája, újrarangsorolás, kontextusválogatás.</li><li><strong>Elágazás a szándék szerint</strong> — mit szeretne a felhasználó, és melyik kezelő szükséges: egyszerű logika, szakmodell vagy ember; a téma, az összetettség és a kockázat határozza meg, melyik nyelvi modell kapja a kérést.</li><li><strong>Védelmi ellenőrzések</strong> — a nyelvi modell bemenete, kimenete és eszközhívásai: beágyazott utasítások, szabálysértések, személyes adatok kiszivárgása.</li><li><strong>Ügyféltámogatás</strong> — a megkeresés témája és szándéka, sürgősség, elégedetlenség, lemorzsolódási kockázat, visszatérítési kérés és sorba állítás.</li><li><strong>Moderálás</strong> — a saját platform szabályai alapján: mérgező tartalom, zaklatás, spam, csalás, veszélyes tanácsok és személyes adatok; súlyosság és bizonyosság alapján engedélyezés, figyelmeztetés, ellenőrzés vagy blokkolás.</li><li><strong>Ágazatok</strong> — biztosítási esetek, pénzügyi vizsgálatok és KYC, szerződések és reklám, termékkártyák, toborzás, érdeklődők, játékok, kockázatok, kereslet-előrejelzés, tudásgráfok, tudományos áttekintések és a kód szemantikai ellenőrzése CI-ban.</li></ul><h4>Jellemzők</h4><ul><li><strong><code>jev-latest</code></strong> — a legújabb stabil verzió álneve, jelenleg Jev 1.13; a válaszoló verzió a <code>model</code> mezőben látható, például <code>jev-1.13.0</code>. Új verzió megjelenésekor az álnév arra vált, és a válaszok saját módosítás nélkül is megváltozhatnak — figyelni kell ezt a mezőt, ha a küszöbök egy adott verzióhoz igazodnak.</li><li><strong>Kontextus</strong> — kérésenként 64K token: az állapot és az összes kérdés együtt; az állapot a leghosszabb kérdéssel együtt legfeljebb 32K. A modell egyszer olvassa az állapotot, és az összes kérdést párhuzamosan ellenőrzi vele szemben.</li><li><strong>Bemenet</strong> — kizárólag szöveg: karakterlánc, JSON-objektum vagy szövegtömb. Képek, hang és videó egyelőre nem támogatottak — előbb szöveggé kell alakítani őket.</li><li><strong>Nyelv</strong> — a tanítás fő nyelve az angol, jelenleg ezen a legnagyobb a pontosság. A modell más nyelveket, köztük kínait, japánt és koreait is fogad, de kisebb pontossággal — saját adatokon kell ellenőrizni.</li><li><strong>Árak és számlázás az Ailoot API-ban</strong> — a feltételek a választott metódustól függnek, és annak kártyáján szerepelnek.</li><li><strong>Beállítás</strong> — a Jevet nem finomhangolják az ügyfél adataival: a saját anyagok a <code>state</code>, a szakterületi szabályok az <code>instructions</code> és a <code>criteria</code> mezőbe kerüljenek.</li><li><strong>Adatok</strong> — a TypeSafe közlése szerint a Jevet nem tanítják az ügyfelek kérésein és válaszain.</li></ul><h4>A Jev 1.13 ismert gyengeségei</h4><p>A TypeSafe nyíltan felsorolja az aktuális verzió gyengeségeit, és sok javítást ígér a következőkre. A modell gyors, kalibrált és józan ítéletekre képes, de:</p><ol><li><strong>Szó szerint olvas.</strong> A leírt kérdésre válaszol, nem a szándékoltra: a fenntartásokat, tagadásokat és kimondatlan feltételeket szó szerint érti. A pontos feltételt és a határeseteket a <code>criteria</code> mezőben kell megadni; az elkerülhetetlen értelmezést két szó szerinti kérdésre kell bontani.</li><li><strong>Nem számológép.</strong> A karakterek, ismétlődések és listaelemek számlálása megbízhatatlan, a hiba a mérettel nő — ezt kódban kell elvégezni, jelöltenként egy kérdéssel. A hex vagy RGB formájú színeket a modell kevésbé érti, mint a színneveket. A <code>score</code> küszöbhöz megfelelő, de a szintek közötti pontos számhoz nem.</li><li><strong>Dátumok és idő.</strong> Melyik dátum korábbi, mennyi idő van köztük, beleesik-e egy időszakba — ezek megbízhatatlanok, különösen vegyes formátumoknál és relatív dátumoknál. A dátum részeit choice kérdéssel érdemes kinyerni („nincs megadva” lehetőséggel), az összehasonlítást pedig kódban elvégezni.</li><li><strong>Közvetettség.</strong> A kettős tagadás és egy tulajdonság tulajdonságára vonatkozó kérdés csökkenti a pontosságot. Közvetlenül kell fogalmazni, és név szerint megadni az állapot részeit.</li><li><strong>Felesleges tartalom az állapotban.</strong> Az oda nem tartozó szöveg rontja a pontosságot. Kódban kell szűrni, ha ez nem lehetséges, noul kérdésekkel kiszűrni a nem releváns részeket.</li><li><strong>Ellenséges szöveg.</strong> A modell alapértelmezésben nem számít csapdákra az állapotban: egy beágyazott utasítás vagy a saját besorolásával vitatkozó szöveg eltolhatja a választ. Pontos kritériumokat kell írni, és indulás előtt ellenőrizni a határeseteket.</li><li><strong>Ellentmondások.</strong> Ha az <code>instructions</code> és a <code>criteria</code> mást kér — például a noul „igenje” „nemként” van leírva —, csökken a pontosság. A kritériumok a kérdés folytatását jelentik.</li><li><strong>A lehetőségek sorrendje.</strong> A modell néha a choice első lehetőségéhez húz. Érdemes átrendezni őket, és ellenőrizni, hogy a válasz nem változik-e.</li><li><strong>Generálás.</strong> A Jevet nem tanították szövegírásra. Adatkinyeréshez a jelölteket reguláris kifejezéssel vagy generatív modellel kell megkeresni, a Jev pedig choice segítségével válassza ki a megfelelőt.</li></ol></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Elérhető az Ailootban · bemenetek és metódusok</h3><details class=\"card-method\" open><summary><b>Ailoot · System One</b> <code>POST /v1/systemone</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code></dd></div><div><dt>Kimenet</dt><dd><code>structured</code></dd></div><div><dt>Kontextus</dt><dd>64 000 tokens</dd></div><div><dt>Kimeneti formátum</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>jev-latest</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string|object|array</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">questions</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Minimális objektummezőszám: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>noul, choice, score</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string|object|array|null</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object|array|null</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Feltételek: noul: opcionális, null értéket elfogadó true/false leírások; choice: feltételobjektum; score: nem üres feltételtömb</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>boolean|null</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>false, null</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Bemeneti anyagok kombinációi</summary><p class=\"note-s\"><b>noul</b> · Kötelező: state, questions.&lt;id&gt;.type=noul</p><p class=\"note-s\"><b>choice</b> · Kötelező: state, questions.&lt;id&gt;.type=choice, criteria object</p><p class=\"note-s\"><b>score</b> · Kötelező: state, questions.&lt;id&gt;.type=score, nonemptycriteriaarray</p></details><details class=\"note-s\" data-method-contract><summary>Metódus paraméterei és életciklusa</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paraméter</th><th>Szerződés</th></tr></thead><tbody><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>text</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>required</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>model, state, questions</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>optional_controls</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>null</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>content_type</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>application/json</td></tr></tbody></table></div><p>Életciklus: <code>exact retained published method</code></p><p class=\"note-s\">A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><h4>Ailoot-metódusok díjai</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>Bemenet</dt><dd>≈0,000084 USD <em>/ 1K</em></dd></div><div><dt>Kimenet</dt><dd>0,00 USD <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. <a href=\"/docs/hu/billing/reserve/\">A foglalás és az elszámolás működése →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Példakérések</h3><h4>Ailoot · System One</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><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\">Osztályozási példa</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><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\">Eredmények fogadása és mentése</h3><h4>Ailoot · System One</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.</p><p class=\"note-s\">Őrizzen meg minden választ a megadott kérdésazonosítóval, valószínűséggel és jelmagyarázattal együtt; az n értékét használó megbízhatósági képlethez n&gt;1 szükséges, de ez nem állít az API számára minimális választási darabszámot.</p></div><details class=\"card-about\" data-output-fields><summary>Válaszmezők</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Mező</th><th>Típus</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>number</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>number</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>number</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Hibák és következő lépések</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Válasz</th><th>Feltétel</th><th>Következő lépés</th></tr></thead><tbody><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Érvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Javítsa a jelzett mezőket egy új létrehozási kérés előtt.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Álnevek</h3><h4>Modell álnevei</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>Metódusútvonalak álnevei</h4><p class=\"note-s\">Használja a fent látható metódusútvonalakat.</p><h4>Kapcsolódó modellazonosítók</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": "Érvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték",
                "http_status": 400,
                "recovery": "Javítsa a jelzett mezőket egy új létrehozási kérés előtt.",
                "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": "Őrizzen meg minden választ a megadott kérdésazonosítóval, valószínűséggel és jelmagyarázattal együtt; az n értékét használó megbízhatósági képlethez n>1 szükséges, de ez nem állít az API számára minimális választási darabszámot.",
              "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: opcionális, null értéket elfogadó true/false leírások; choice: feltételobjektum; score: nem üres feltételtömb",
                "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": [
            "A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától."
          ],
          "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": "461118c9b19b9d95538f3fb8bcaddd37e3a32dc627a050973b067e01817ec4de",
    "input_html_sha256": "04e213b87812d66881f35142a8a05b2f471a6a56221329226385009088560a27",
    "private_audit_sha256": "3781ceee1d91a1a7708bb70b72f6e67f6801d99816d51be931d4f2d25493839c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/jev-latest/",
    "description": "A TypeSafe döntési modellje: szöveg írása helyett szövegről vagy JSON-ról feltett, típusozott kérdésekre válaszol — választással, skálás értékeléssel vagy valószínűségi „igen/nem” válasszal. Útválasztásra, megkeresések rendezésére, moderálásra és pontozásra használható; egy kérés összes kérdését párhuzamosan értékeli.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/jev-latest/index.md",
    "title": "jev-latest — Ailoot",
    "url": "https://ailoot.ai/models/hu/jev-latest/"
  },
  "rawModel": {
    "about": "A Jev a TypeSafe zászlóshajó-modellje és az új **System One** osztály első modellje. Nem szöveget ír, hanem gyors döntéseket hoz, amelyeket egy program közvetlenül felhasználhat: meg kell adni az **állapotot** (`state`) — szöveget vagy JSON-t — és a **kérdések** készletét, a válasz pedig típusozott értékeket tartalmaz kalibrált valószínűségekkel.\n\nA nyelvi modellek embereknek írnak szavakat, a Jev viszont a TypeSafe szerint közelebb áll a kódhoz: a válasz rögtön a kódnak megfelelő formában érkezik, nagy sebességgel, és egyetlen érték sem esik a megadott lehetőségeken kívülre. A modellt úgy tervezték, hogy ismételt kéréseknél is stabil válaszokat adjon.\n\n### Miben különbözik a System One a nyelvi modelltől?\n\n- **Nem generál.** A Jev nem ír felhasználói válaszokat, kódot vagy magyarázatot a következtetési folyamatáról. A lehetséges válaszokat a felhasználó adja meg a három kérdéstípus egyikével.\n- **Kalibrált döntésekre tanították.** A TypeSafe RLCD-vel (Reinforcement Learning for Calibrated Decisions) tanítja a modellt: a valószínűségeket a tényleges kimenetelekhez igazítják, így azok a bizonytalanságot tükrözik. Sok 0,8 valószínűségű válasz közül körülbelül 80%-nak kell helyesnek lennie. A kalibráltság nagy mintára vonatkozó tulajdonság, nem az egyes válaszok helyességének garanciája.\n- **Más a tanítás célja.** A chatmodelleket úgy tanítják, hogy az emberek kedveljék őket (RLHF); a TypeSafe megfigyelése szerint ez megfelelési kényszert és magabiztosan előadott hibákat ösztönöz. Az RLHF egyik társszerzője, Diogo Almeida a TypeSafe társalapítója.\n\nA név Daniel Kahneman Gyors és lassú gondolkodás című könyvének „1. rendszerére” utal: a gyors, intuitív ítélet áll szemben a „2. rendszer” lassú, megfontolt gondolkodásával. A Jev gyors, szűk körű ítéletekre készült.\n\n### Három kérdéstípus\n\nEgy kérdés egyetlen ítéletet kér az állapotról, a válasz pedig olyan érték, amelyet a kód küszöbbel összevethet, rendezhet vagy továbbadhat.\n\n1. **Choice — választás a lehetőségek közül.** A megkeresést kezelő részleg, egy termék kategóriája vagy egy kódrészlet nyelve. A lehetőségek „változat → leírás” szótárt alkotnak, legfeljebb 255 elemmel. A válasz tartalmazza a kiválasztott `choice` értéket, az összes lehetőség `probabilities` valószínűségét (összegük 1) és a `confidence` bizonyossági értéket. Ha a lista nem fedhet le minden esetet, érdemes „egyéb” vagy „egyik sem” lehetőséget hozzáadni.\n2. **Score — skálás értékelés.** Hely egy rendezett skálán, amelyet a felhasználó ír le: a hiba súlyossága, az ügyfél elégedetlensége vagy a készségszint. A skála 2 és 10 közötti szintet tartalmazhat, az alacsonytól a magasig; a modell minden szintet külön értékel, anélkül hogy látná annak sorszámát vagy a szomszédait. A válaszban szerepel a `score` (a szintek sorszámának a valószínűségeikkel súlyozott összege, ezért az érték két szint közé is eshet), a szintek leírását tartalmazó `legend`, valamint a `probabilities` és a `confidence`.\n3. **Noul — igen vagy nem.** Igaz-e az állítás? A `noul` válasz az „igen” valószínűsége 0 és 1 között: az 1 körüli érték biztos „igen”, a 0 körüli biztos „nem”, a 0,5 körüli pedig bizonytalanságot jelez. Külön `confidence` nincs: egyetlen szám teljesen leírja a választ. Az opcionális `criteria` pontosítja, mi számít „igennek” és mi „nemnek”.\n\nVálasztás: ismert, nem rendezett lehetőségekhez choice; egy tartomány lépcsőihez score; tiszta „igen/nem” kérdéshez, ahol maga a valószínűség fontos, noul. A noul 0,5 egyenlő esélyű „igent” és „nemet” jelent, nem „közepes szintet”: a mértéket a score méri. Két megfelelő típus közül azt érdemes választani, amellyel a kód közvetlenül cselekedhet: choice — elágazások, score — küszöb, noul — `if`.\n\nA típusok egy kérésben keverhetők. A válasz mindig a megadott lehetőségekre korlátozódik, és nem függ a többi kérdéstől: kérdések hozzáadhatók és eltávolíthatók a többi válasz megváltoztatása nélkül.\n\n### Állapot\n\nAz állapot az, amit a modell értékel: ügyfélüzenet, dokumentumrészlet, adatbázisrekord vagy az alkalmazás állapota.\n\n- **Karakterlánc** — ha egyetlen szöveg van: üzenet, cikk vagy részlet.\n- **Objektum** — elnevezett mezők, kapcsolódó rekordok vagy az alkalmazás állapota. A TypeSafe a legtöbb kéréshez objektumot ajánl, mert minden résznek egyértelmű neve van.\n- **Tömb** — üzenetek vagy rekordok sorozata.\n\nSzakértőknek összeállított anyagként érdemes előkészíteni: a levelezés, a rendelés és a visszatérítési szabályok kerüljenek egy helyre, ha a döntéshez össze kell vetni őket. A tartalom az állapotba, az ítéletek a kérdésekbe kerüljenek. Ha a kérdés az állapot egy részére vonatkozik, abban backtickek között kell megadni az elérési utat, például `ticket.messages[0].text`.\n\n### Kérdések megfogalmazása\n\n- **Egy gyors ítélet kérdésenként.** Jó kérdés az, amelyre a szükséges kontextust ismerő ember egy másodperc alatt válaszolhat: „Van sürgősség az üzenetben?”. A „Vizsgáld meg az üzenetet, és döntsd el, mit tegyünk” már lassú következtetés, ezért egyszerű kérdésekre kell bontani.\n- **A teljes kérdés az `instructions` mezőbe kerüljön.** A kérdés kulcsa, például `refund_requested`, csak a saját kódhoz szükséges, a modell nem kapja meg.\n- **Az egy állapothoz tartozó összes kérdés egy kérésbe kerüljön.** A modell párhuzamosan értékeli őket: a TypeSafe szerint a további kérdések alig növelik a válaszidőt, és csak a saját tokenjeikbe kerülnek. Egy „biztos, ami biztos” kérdés szinte ingyen van — a kód maga dönti el, mely válaszokra van szükség.\n- **Összetett ítéletet részekre bontva.** Az „értékeld a startup kérelmét” helyett külön érdemes rákérdezni a piac méretére, a műszaki megvalósíthatóságra és a versenytársaktól való eltérésekre, a végeredményt pedig súlyokkal kiszámítani a kódban. Ha változnak a prioritások, a súlyokat kell módosítani, nem a kérdést átírni.\n- **Függő kérdések második kérésben.** Egy kérés válaszai nem szolgálnak egymás kontextusául. Második kérésre csak akkor van szükség, ha az első válasz nélkül nem állítható össze: például adatot kell betölteni, vagy ki kell választani a következő kérdés lehetőségeit.\n- **Hosszú kérdés objektumként.** Az `instructions` és a `criteria` általában karakterlánc, de objektum vagy tömb is lehet: a kérdés az egyik mezőben, az adatok a többiben szerepelnek. Így egyetlen kérdéssel kényelmesen összevethető egy önéletrajz az adatbázisrekordokkal.\n\n### Bizonyosság\n\nChoice és score esetében a 0 és 1 közötti `confidence` azt mutatja, mennyire összpontosul a valószínűség egy válaszra: 1 esetén teljesen egy lehetőségre, 0 esetén egyenlően az összesre. Score esetében a szomszédos szint kevésbé csökkenti a bizonyosságot, mint egy távoli. Noul esetében maga az érték a bizonyosság: minél távolabb van 0,5-től, annál határozottabb a válasz.\n\nA TypeSafe három tartományt ajánl:\n\n1. **Magas bizonyosság** — automatikus végrehajtás.\n2. **Közepes** — óvatos végrehajtás, például megerősítés kérése a felhasználótól.\n3. **Alacsony** — az eset átadása embernek, a kérés pontosítása vagy tartalék út bekapcsolása, például egy erősebb, következtető modell használata.\n\nMinél költségesebb a hiba, annál szigorúbb a küszöb: visszafordíthatatlan műveleteknél magasabb, mint olvasásnál. A válasz azt mondja meg, mit válasszunk, a bizonyosság pedig azt, érdemes-e cselekedni. A küszöböket saját adatokon kell meghatározni, a bizonyosságot a pontossággal összevetve.\n\n### Hogyan épüljön rendszer a Jev köré?\n\nA Jev nem olyan ügynökökhöz készült, amelyek maguk választják ki a következő lépést, és minden körben eltévedhetnek, hanem olyan programokhoz, amelyekben a folyamatot a kód vezérli, a modell pedig szűk szemantikai kérdésekre válaszol. A TypeSafe nyolc tervezési lépése:\n\n1. Amit kóddal el lehet végezni, azt kóddal kell megoldani — megbízhatóan és olcsón.\n2. Az állapotba csak az kerüljön, amire az aktuális kérdésekhez szükség van; a friss tények saját tudásbázisból, ne a modell emlékezetéből származzanak.\n3. Szerkezet az állapotban: beágyazott JSON, a kérdésben pedig a szükséges mező elérési útja backtickek között, ha ez csökkenti a kétértelműséget.\n4. A lehető legszűkebb és legkonkrétabb kérdések — a TypeSafe szerint talán ez a legfontosabb szabály: egy tág kérdés több ítéletet rejt egy válasz mögé.\n5. Szerkezet a kérdésekben: maga a kérdés rövid; a magyarázatok, példák és saját adatbázisból származó értékek az `instructions` vagy a `criteria` objektum szomszédos mezőiben, ne egy hosszú karakterláncban legyenek.\n6. Sok független kérdés ugyanahhoz az állapothoz, egyetlen kérésben — több haszon minden dollárért.\n7. A válaszokat a kód egyesíti: szabályokkal, súlyozott összeggel vagy egy hagyományos gépi tanulási modell jellemzőiként.\n8. Elágazás a bizonyosság szerint: a bizonytalan esetek emberhez vagy következtető modellhez kerüljenek.\n\nA Jev nem chatmodell és nem kódkiegészítő modell, ezért programozó ügynökben nem helyettesíthet nyelvi modellt. Egy ügynök viszont megírhatja azt a kódot, amely ott hívja meg a Jevet, ahol gyors, kalibrált válasz szükséges.\n\n### Felhasználási területek\n\n- **Háttérautomatizálás** — emberi jelenlét nélkül milliószor lefuttatott döntések.\n- **Valós idő** — a TypeSafe szerint a kérések többsége körülbelül 100 ms alatt teljesül: ez elegendő menet közbeni feldolgozáshoz és felületekhez.\n- **Nagy adathalmazok** — keresés hatalmas korpuszokban, ügynökök munkanaplóinak címkézése, előrejelzési jellemzők.\n- **Más modellek ellenőrzése** — kérések, kinyert adatok, következtetések és eszközhívások: korlátozások megkerülése, idézési hibák, kitalált állítások.\n- **Keresés és rangsorolás** — „kérés — jelölt” párok relevanciája, újrarangsorolás, kontextusválogatás.\n- **Elágazás a szándék szerint** — mit szeretne a felhasználó, és melyik kezelő szükséges: egyszerű logika, szakmodell vagy ember; a téma, az összetettség és a kockázat határozza meg, melyik nyelvi modell kapja a kérést.\n- **Védelmi ellenőrzések** — a nyelvi modell bemenete, kimenete és eszközhívásai: beágyazott utasítások, szabálysértések, személyes adatok kiszivárgása.\n- **Ügyféltámogatás** — a megkeresés témája és szándéka, sürgősség, elégedetlenség, lemorzsolódási kockázat, visszatérítési kérés és sorba állítás.\n- **Moderálás** — a saját platform szabályai alapján: mérgező tartalom, zaklatás, spam, csalás, veszélyes tanácsok és személyes adatok; súlyosság és bizonyosság alapján engedélyezés, figyelmeztetés, ellenőrzés vagy blokkolás.\n- **Ágazatok** — biztosítási esetek, pénzügyi vizsgálatok és KYC, szerződések és reklám, termékkártyák, toborzás, érdeklődők, játékok, kockázatok, kereslet-előrejelzés, tudásgráfok, tudományos áttekintések és a kód szemantikai ellenőrzése CI-ban.\n\n### Jellemzők\n\n- **`jev-latest`** — a legújabb stabil verzió álneve, jelenleg Jev 1.13; a válaszoló verzió a `model` mezőben látható, például `jev-1.13.0`. Új verzió megjelenésekor az álnév arra vált, és a válaszok saját módosítás nélkül is megváltozhatnak — figyelni kell ezt a mezőt, ha a küszöbök egy adott verzióhoz igazodnak.\n- **Kontextus** — kérésenként 64K token: az állapot és az összes kérdés együtt; az állapot a leghosszabb kérdéssel együtt legfeljebb 32K. A modell egyszer olvassa az állapotot, és az összes kérdést párhuzamosan ellenőrzi vele szemben.\n- **Bemenet** — kizárólag szöveg: karakterlánc, JSON-objektum vagy szövegtömb. Képek, hang és videó egyelőre nem támogatottak — előbb szöveggé kell alakítani őket.\n- **Nyelv** — a tanítás fő nyelve az angol, jelenleg ezen a legnagyobb a pontosság. A modell más nyelveket, köztük kínait, japánt és koreait is fogad, de kisebb pontossággal — saját adatokon kell ellenőrizni.\n- **Árak és számlázás az Ailoot API-ban** — a feltételek a választott metódustól függnek, és annak kártyáján szerepelnek.\n- **Beállítás** — a Jevet nem finomhangolják az ügyfél adataival: a saját anyagok a `state`, a szakterületi szabályok az `instructions` és a `criteria` mezőbe kerüljenek.\n- **Adatok** — a TypeSafe közlése szerint a Jevet nem tanítják az ügyfelek kérésein és válaszain.\n\n### A Jev 1.13 ismert gyengeségei\n\nA TypeSafe nyíltan felsorolja az aktuális verzió gyengeségeit, és sok javítást ígér a következőkre. A modell gyors, kalibrált és józan ítéletekre képes, de:\n\n1. **Szó szerint olvas.** A leírt kérdésre válaszol, nem a szándékoltra: a fenntartásokat, tagadásokat és kimondatlan feltételeket szó szerint érti. A pontos feltételt és a határeseteket a `criteria` mezőben kell megadni; az elkerülhetetlen értelmezést két szó szerinti kérdésre kell bontani.\n2. **Nem számológép.** A karakterek, ismétlődések és listaelemek számlálása megbízhatatlan, a hiba a mérettel nő — ezt kódban kell elvégezni, jelöltenként egy kérdéssel. A hex vagy RGB formájú színeket a modell kevésbé érti, mint a színneveket. A `score` küszöbhöz megfelelő, de a szintek közötti pontos számhoz nem.\n3. **Dátumok és idő.** Melyik dátum korábbi, mennyi idő van köztük, beleesik-e egy időszakba — ezek megbízhatatlanok, különösen vegyes formátumoknál és relatív dátumoknál. A dátum részeit choice kérdéssel érdemes kinyerni („nincs megadva” lehetőséggel), az összehasonlítást pedig kódban elvégezni.\n4. **Közvetettség.** A kettős tagadás és egy tulajdonság tulajdonságára vonatkozó kérdés csökkenti a pontosságot. Közvetlenül kell fogalmazni, és név szerint megadni az állapot részeit.\n5. **Felesleges tartalom az állapotban.** Az oda nem tartozó szöveg rontja a pontosságot. Kódban kell szűrni, ha ez nem lehetséges, noul kérdésekkel kiszűrni a nem releváns részeket.\n6. **Ellenséges szöveg.** A modell alapértelmezésben nem számít csapdákra az állapotban: egy beágyazott utasítás vagy a saját besorolásával vitatkozó szöveg eltolhatja a választ. Pontos kritériumokat kell írni, és indulás előtt ellenőrizni a határeseteket.\n7. **Ellentmondások.** Ha az `instructions` és a `criteria` mást kér — például a noul „igenje” „nemként” van leírva —, csökken a pontosság. A kritériumok a kérdés folytatását jelentik.\n8. **A lehetőségek sorrendje.** A modell néha a choice első lehetőségéhez húz. Érdemes átrendezni őket, és ellenőrizni, hogy a válasz nem változik-e.\n9. **Generálás.** A Jevet nem tanították szövegírásra. Adatkinyeréshez a jelölteket reguláris kifejezéssel vagy generatív modellel kell megkeresni, a Jev pedig choice segítségével válassza ki a megfelelőt.",
    "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": "Érvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték",
                "http_status": 400,
                "recovery": "Javítsa a jelzett mezőket egy új létrehozási kérés előtt.",
                "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": "Őrizzen meg minden választ a megadott kérdésazonosítóval, valószínűséggel és jelmagyarázattal együtt; az n értékét használó megbízhatósági képlethez n>1 szükséges, de ez nem állít az API számára minimális választási darabszámot.",
              "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: opcionális, null értéket elfogadó true/false leírások; choice: feltételobjektum; score: nem üres feltételtömb",
                "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": [
            "A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától."
          ],
          "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": "A TypeSafe döntési modellje: szöveg írása helyett szövegről vagy JSON-ról feltett, típusozott kérdésekre válaszol — választással, skálás értékeléssel vagy valószínűségi „igen/nem” válasszal. Útválasztásra, megkeresések rendezésére, moderálásra és pontozásra használható; egy kérés összes kérdését párhuzamosan értékeli."
  },
  "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": "A TypeSafe döntési modellje: szöveg írása helyett szövegről vagy JSON-ról feltett, típusozott kérdésekre válaszol — választással, skálás értékeléssel vagy valószínűségi „igen/nem” válasszal. Útválasztásra, megkeresések rendezésére, moderálásra és pontozásra használható; egy kérés összes kérdését párhuzamosan értékeli.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "76a8dac6d766db1afec0dcf546254ab0d38727038ec6c5c0f3621ef70197262d",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "9a223ebbed3b5e66523f1a60b560a1dbc3946b88b982628ac2bc80efbb99e69b"
}
