{
  "aboutHtml": "<p>Jev je vlajkový model TypeSafe a první model nové třídy <strong>System One</strong>. Nepíše text, ale rychle přijímá rozhodnutí, která program může rovnou využít: předáte <strong>stav</strong> (<code>state</code>), tedy text nebo JSON, a sadu <strong>otázek</strong> a v odpovědi získáte typované hodnoty s kalibrovanými pravděpodobnostmi.</p><p>Jazykové modely píší slova pro lidi, zatímco Jev je podle TypeSafe bližší kódu: odpověď má rovnou podobu potřebnou pro kód, vysokou rychlost a ani jednu hodnotu mimo zadané možnosti. Model je navržen tak, aby při opakovaných požadavcích poskytoval stabilní odpovědi.</p><h4>Čím se System One liší od jazykového modelu</h4><ul><li><strong>Negeneruje.</strong> Jev nepíše odpovědi uživateli, nepíše kód a nevysvětluje průběh uvažování. Možné odpovědi zadáváte vy prostřednictvím jednoho ze tří typů otázek.</li><li><strong>Je trénován pro kalibrovaná rozhodnutí.</strong> TypeSafe model trénuje metodou RLCD (Reinforcement Learning for Calibrated Decisions): pravděpodobnosti se přizpůsobují skutečným výsledkům a vyjadřují nejistotu. Z mnoha odpovědí s pravděpodobností 0,8 by mělo být správných přibližně 80%. Kalibrace je vlastností velkého vzorku, nikoli zárukou správnosti jednotlivé odpovědi.</li><li><strong>Jiný cíl trénování.</strong> Chatové modely se učí zalíbit lidem (RLHF) a podle pozorování TypeSafe to podporuje přehnané přitakávání a přesvědčivě znějící chyby. Jeden ze spoluautorů RLHF, Diogo Almeida, je spoluzakladatelem TypeSafe.</li></ul><p>Název odkazuje na „Systém 1“ z knihy Daniela Kahnemana „Myšlení, rychlé a pomalé“: rychlý intuitivní úsudek oproti pomalému promyšlenému myšlení „Systému 2“. Jev je vytvořen pro rychlé, úzce vymezené úsudky.</p><h4>Tři typy otázek</h4><p>Otázka představuje jeden úsudek o stavu a odpověď hodnotu, kterou kód porovnává s prahem, řadí nebo předává dál.</p><ol><li><strong>Choice — výběr možnosti.</strong> Oddělení pro požadavek, kategorie produktu nebo jazyk úryvku kódu. Možnosti tvoří slovník „možnost → popis“, až 255 položek. Odpověď obsahuje vybraný <code>choice</code>, pravděpodobnosti <code>probabilities</code> všech možností (jejich součet je 1) a jistotu <code>confidence</code>. Pokud seznam nemusí pokrývat všechny případy, přidejte „jiné“ nebo „nic z uvedeného“.</li><li><strong>Score — hodnocení na škále.</strong> Místo na uspořádané škále, kterou popisujete vy: závažnost chyby, podráždění zákazníka nebo úroveň dovednosti. Od 2 do 10 úrovní, od nejnižší po nejvyšší; každou úroveň model hodnotí samostatně, bez znalosti jejího čísla a sousedních úrovní. Odpověď obsahuje <code>score</code> (součet čísel úrovní násobených jejich pravděpodobnostmi, takže hodnota může ležet mezi úrovněmi), <code>legend</code> s popisy úrovní, <code>probabilities</code> a <code>confidence</code>.</li><li><strong>Noul — ano nebo ne.</strong> Zda je tvrzení pravdivé. Odpověď <code>noul</code> je pravděpodobnost „ano“ od 0 do 1: blízko 1 znamená jisté „ano“, blízko 0 jisté „ne“ a blízko 0,5 model váhá. Samostatné <code>confidence</code> neexistuje: jediné číslo popisuje odpověď úplně. Nepovinné <code>criteria</code> upřesňuje, co považovat za „ano“ a co za „ne“.</li></ol><p>Jak volit: známé možnosti bez pořadí znamenají choice; stupně spektra score; čisté „ano/ne“, u něhož je důležitá samotná pravděpodobnost, noul. Noul 0,5 znamená stejné šance „ano“ a „ne“, nikoli „střední úroveň“: stupeň měří score. Ze dvou vhodných typů vyberte ten, podle něhož kód rovnou jedná: choice pro větvení, score pro práh a noul pro <code>if</code>.</p><p>Typy lze kombinovat v jednom požadavku. Odpověď je vždy omezena vašimi možnostmi a nezávisí na ostatních otázkách: otázky lze přidávat a odebírat bez změny ostatních odpovědí.</p><h4>Stav</h4><p>Stav je to, co model hodnotí: zpráva zákazníka, úryvek dokumentu, záznam z databáze nebo stav vaší aplikace.</p><ul><li><strong>Řetězec</strong> — pokud jde o jediný text: zprávu, článek nebo úryvek.</li><li><strong>Objekt</strong> — pojmenované položky, propojené záznamy nebo stav aplikace. TypeSafe doporučuje objekt pro většinu požadavků: každá část má srozumitelný název.</li><li><strong>Pole</strong> — posloupnost zpráv nebo záznamů.</li></ul><p>Připravujte jej jako materiály pro odborníky: korespondenci, objednávku a pravidla vrácení dejte společně, pokud je rozhodnutí potřebuje porovnat. Obsah udržujte ve stavu a úsudky v otázkách. Pokud se otázka týká jedné části stavu, uveďte v ní cestu k této části v obrácených apostrofech, například <code>ticket.messages[0].text</code>.</p><h4>Jak klást otázky</h4><ul><li><strong>Jeden rychlý úsudek na otázku.</strong> Dobrá otázka je taková, na niž znalý člověk s potřebným kontextem odpoví během sekundy: „Je ve zprávě naléhavost?“ Pokyn „Analyzuj zprávu a rozhodni, co dělat“ již znamená pomalé uvažování a je třeba jej rozdělit na jednoduché otázky.</li><li><strong>Celá otázka patří do <code>instructions</code>.</strong> Klíč otázky, například <code>refund_requested</code>, potřebuje pouze váš kód a modelu se nepředává.</li><li><strong>Všechny otázky ke stejnému stavu v jednom požadavku.</strong> Model je hodnotí paralelně: podle TypeSafe další otázky téměř neprodlužují dobu odpovědi a stojí pouze své tokeny. Otázka „pro jistotu“ vyjde téměř zdarma a kód sám rozhodne, které odpovědi jsou potřeba.</li><li><strong>Složitý úsudek rozdělte.</strong> Místo „zhodnoť přihlášku startupu“ se samostatně zeptejte na velikost trhu, technickou proveditelnost a rozdíly oproti konkurenci a výsledek spočítejte v kódu s vahami. Při změně priorit měníte váhy, nikoli přepisujete otázku.</li><li><strong>Závislé otázky patří do druhého požadavku.</strong> Odpovědi jednoho požadavku neposkytují vzájemně kontext. Druhý požadavek je potřeba pouze tehdy, pokud jej bez první odpovědi nelze sestavit: je nutné načíst data nebo vybrat možnosti následující otázky.</li><li><strong>Dlouhá otázka jako objekt.</strong> <code>instructions</code> a <code>criteria</code> jsou obvykle řetězce, mohou však být objektem nebo polem: otázka v jedné položce a data v dalších. Lze tak pohodlně porovnat životopis s databázovými záznamy jedinou otázkou.</li></ul><h4>Jistota</h4><p>U choice a score ukazuje <code>confidence</code> od 0 do 1, nakolik je pravděpodobnost soustředěna na jediné odpovědi: 1 znamená vše na jediné možnosti a 0 stejnoměrně na všech. U score sousední úroveň snižuje jistotu méně než vzdálená. U noul představuje jistotu samotná hodnota: čím dál od 0,5, tím jednoznačnější odpověď.</p><p>TypeSafe doporučuje tři rozsahy:</p><ol><li><strong>Vysoká jistota</strong> — jednejte automaticky.</li><li><strong>Střední</strong> — jednejte opatrně, například požádejte uživatele o potvrzení.</li><li><strong>Nízká</strong> — předejte případ člověku, upřesněte požadavek nebo zapojte záložní postup, například výkonnější model s uvažováním.</li></ol><p>Čím dražší je chyba, tím přísnější práh: pro nevratné akce vyšší než pro čtení. Odpověď říká, co vybrat, a jistota, zda jednat. Prahy volte na vlastních datech porovnáváním jistoty a přesnosti.</p><h4>Jak sestavit systém kolem Jev</h4><p>Jev je navržen pro programy, v nichž proces řídí kód a model odpovídá na úzké významové otázky, nikoli pro agenty, kteří sami volí další krok a v každém kole se mohou odchýlit. Osm kroků návrhu podle TypeSafe:</p><ol><li>Vše, co lze provést kódem, dělejte kódem — spolehlivě a levně.</li><li>Do stavu patří pouze to, co potřebují aktuální otázky; čerstvá fakta z vlastní znalostní báze, nikoli z paměti modelu.</li><li>Struktura ve stavu: vnořený JSON a v otázce cesta k potřebné položce v obrácených apostrofech, pokud tak ubude nejednoznačnosti.</li><li>Co nejužší a nejkonkrétnější otázky — podle TypeSafe možná hlavní pravidlo: široká otázka skrývá několik úsudků za jedinou odpovědí.</li><li>Struktura v otázkách: samotná otázka stručná; vysvětlení, příklady a hodnoty z vaší databáze v sousedních položkách objektu <code>instructions</code> nebo <code>criteria</code>, nikoli v jediném dlouhém řetězci.</li><li>Mnoho nezávislých otázek ke stejnému stavu v jednom požadavku — více užitku z každého dolaru.</li><li>Odpovědi propojuje kód: pravidly, váženým součtem nebo jako příznaky pro klasický model strojového učení.</li><li>Větvení podle jistoty: nejisté případy člověku nebo modelu s uvažováním.</li></ol><p>Jev není chat ani model pro doplňování kódu a nelze jej v programátorském agentovi dosadit místo jazykového modelu. Agent však může pro vás napsat kód, který volá Jev tam, kde je potřeba rychlá kalibrovaná odpověď.</p><h4>Oblasti použití</h4><ul><li><strong>Automatizace na pozadí</strong> — rozhodnutí spouštěná milionkrát bez člověka po boku.</li><li><strong>Reálný čas</strong> — podle TypeSafe se většina požadavků provede přibližně za 100 ms: postačuje to pro průběžné zpracování a rozhraní.</li><li><strong>Velká data</strong> — vyhledávání v obrovských korpusech, označování protokolů práce agentů a příznaky pro prognózy.</li><li><strong>Kontrola jiných modelů</strong> — požadavky, získávání dat, uvažování a volání nástrojů: obcházení omezení, chyby citací a smyšlené informace.</li><li><strong>Vyhledávání a řazení</strong> — relevance dvojice „dotaz — kandidát“, přerankování a výběr kontextu.</li><li><strong>Větvení podle záměru</strong> — co uživatel chce a jaký obslužný postup potřebuje: jednoduchou logiku, specializovaný model nebo člověka; téma, složitost a riziko rozhodují, kterému jazykovému modelu požadavek předat.</li><li><strong>Ochranné kontroly</strong> — vstup, výstup a volání nástrojů jazykového modelu: vložené instrukce, porušení pravidel a únik osobních údajů.</li><li><strong>Podpora</strong> — téma a záměr požadavku, naléhavost, podráždění, riziko odchodu, žádost o vrácení peněz a fronta.</li><li><strong>Moderování</strong> — podle pravidel vaší platformy: toxicita, šikana, spam, podvody, nebezpečné rady a osobní údaje; podle závažnosti a jistoty propustit, upozornit, zkontrolovat nebo zablokovat.</li><li><strong>Obory</strong> — pojistné události, finanční vyšetřování a KYC, smlouvy a reklama, produktové karty, nábor pracovníků, obchodní kontakty, hry, rizika, prognóza poptávky, znalostní grafy, vědecké přehledy a významové kontroly kódu v CI.</li></ul><h4>Charakteristiky</h4><ul><li><strong><code>jev-latest</code></strong> — alias nejnovější stabilní verze, nyní Jev 1.13; odpovídající verze je v položce <code>model</code>, například <code>jev-1.13.0</code>. S novou verzí se alias přesouvá na ni a odpovědi se mohou změnit bez vašich úprav — sledujte tuto položku, pokud byly prahy nastaveny pro určitou verzi.</li><li><strong>Kontext</strong> — 64K tokenů na požadavek: stav a všechny otázky dohromady; stav s nejdelší otázkou až 32K. Model stav čte jednou a paralelně proti němu ověřuje všechny otázky.</li><li><strong>Vstup</strong> — pouze text: řetězec, objekt JSON nebo pole textů. Obrázky, zvuk ani video zatím nejsou podporovány — předem je převeďte na text.</li><li><strong>Jazyk</strong> — hlavním jazykem trénování je angličtina a přesnost je v ní nyní nejvyšší. Další jazyky, včetně čínštiny, japonštiny a korejštiny, model přijímá, ale přesnost je nižší — ověřte na vlastních datech.</li><li><strong>Ceny a účtování v Ailoot API</strong> — podmínky závisí na zvolené metodě a jsou uvedeny na její kartě.</li><li><strong>Nastavení</strong> — Jev se nedotrénovává na datech zákazníka: vlastní materiály do <code>state</code>, pravidla oboru do <code>instructions</code> a <code>criteria</code>.</li><li><strong>Data</strong> — TypeSafe uvádí, že Jev není trénován na požadavcích a odpovědích zákazníků.</li></ul><h4>Známé slabiny Jev 1.13</h4><p>TypeSafe otevřeně uvádí slabiny aktuální verze a slibuje mnoho z nich napravit v následujících. Model je rychlý, kalibrovaný a dobře posuzuje se zdravým rozumem, ale:</p><ol><li><strong>Čte doslova.</strong> Odpovídá na napsanou otázku, nikoli na zamýšlenou: výhrady, zápory a nevyřčené podmínky chápe doslova. Pište přesnou podmínku a hraniční případy do <code>criteria</code>; nevyhnutelnou interpretaci rozdělte do dvou doslovných otázek.</li><li><strong>Není kalkulačka.</strong> Počítání znaků, opakování a položek seznamu není spolehlivé a chyba roste s velikostí — počítejte v kódu, po jedné otázce na kandidáta. Barvám v hex nebo RGB model rozumí hůře než jejich názvům. <code>score</code> se hodí pro práh, nikoli pro přesné číslo mezi úrovněmi.</li><li><strong>Data a čas.</strong> Které datum je dřívější, kolik je mezi nimi nebo zda datum spadá do období, je nespolehlivé, zejména při kombinování formátů a relativních dat. Části data získávejte pomocí choice (s možností „není uvedeno“) a porovnávejte v kódu.</li><li><strong>Nepřímost.</strong> Dvojité zápory a otázky na vlastnost vlastnosti snižují přesnost. Pište přímo a části stavu uvádějte názvem.</li><li><strong>Nadbytečný obsah ve stavu.</strong> Nesouvisející text snižuje přesnost. Filtrujte v kódu, a pokud to nelze, odstraňte nerelevantní obsah otázkami noul.</li><li><strong>Nepřátelský text.</strong> Model ve stavu standardně neočekává pasti: vložená instrukce nebo text, který polemizuje o vlastní klasifikaci, mohou ovlivnit odpověď. Pište přesná kritéria a ověřujte hraniční případy před spuštěním.</li><li><strong>Rozpory.</strong> Pokud <code>instructions</code> a <code>criteria</code> žádají něco jiného, například je u noul „ano“ popsáno jako „ne“, přesnost klesá. Kritéria jsou pokračováním otázky.</li><li><strong>Pořadí možností.</strong> Model někdy tíhne k první možnosti choice. Změňte pořadí možností a ověřte, že se odpověď nemění.</li><li><strong>Generování.</strong> Jev není trénován k psaní textu. Pro získávání dat najděte kandidáty regulárním výrazem nebo generativním modelem a Jev nechte vybrat správného pomocí choice.</li></ol>",
  "aboutText": "Jev je vlajkový model TypeSafe a první model nové třídy **System One**. Nepíše text, ale rychle přijímá rozhodnutí, která program může rovnou využít: předáte **stav** (`state`), tedy text nebo JSON, a sadu **otázek** a v odpovědi získáte typované hodnoty s kalibrovanými pravděpodobnostmi.\n\nJazykové modely píší slova pro lidi, zatímco Jev je podle TypeSafe bližší kódu: odpověď má rovnou podobu potřebnou pro kód, vysokou rychlost a ani jednu hodnotu mimo zadané možnosti. Model je navržen tak, aby při opakovaných požadavcích poskytoval stabilní odpovědi.\n\n### Čím se System One liší od jazykového modelu\n\n- **Negeneruje.** Jev nepíše odpovědi uživateli, nepíše kód a nevysvětluje průběh uvažování. Možné odpovědi zadáváte vy prostřednictvím jednoho ze tří typů otázek.\n- **Je trénován pro kalibrovaná rozhodnutí.** TypeSafe model trénuje metodou RLCD (Reinforcement Learning for Calibrated Decisions): pravděpodobnosti se přizpůsobují skutečným výsledkům a vyjadřují nejistotu. Z mnoha odpovědí s pravděpodobností 0,8 by mělo být správných přibližně 80%. Kalibrace je vlastností velkého vzorku, nikoli zárukou správnosti jednotlivé odpovědi.\n- **Jiný cíl trénování.** Chatové modely se učí zalíbit lidem (RLHF) a podle pozorování TypeSafe to podporuje přehnané přitakávání a přesvědčivě znějící chyby. Jeden ze spoluautorů RLHF, Diogo Almeida, je spoluzakladatelem TypeSafe.\n\nNázev odkazuje na „Systém 1“ z knihy Daniela Kahnemana „Myšlení, rychlé a pomalé“: rychlý intuitivní úsudek oproti pomalému promyšlenému myšlení „Systému 2“. Jev je vytvořen pro rychlé, úzce vymezené úsudky.\n\n### Tři typy otázek\n\nOtázka představuje jeden úsudek o stavu a odpověď hodnotu, kterou kód porovnává s prahem, řadí nebo předává dál.\n\n1. **Choice — výběr možnosti.** Oddělení pro požadavek, kategorie produktu nebo jazyk úryvku kódu. Možnosti tvoří slovník „možnost → popis“, až 255 položek. Odpověď obsahuje vybraný `choice`, pravděpodobnosti `probabilities` všech možností (jejich součet je 1) a jistotu `confidence`. Pokud seznam nemusí pokrývat všechny případy, přidejte „jiné“ nebo „nic z uvedeného“.\n2. **Score — hodnocení na škále.** Místo na uspořádané škále, kterou popisujete vy: závažnost chyby, podráždění zákazníka nebo úroveň dovednosti. Od 2 do 10 úrovní, od nejnižší po nejvyšší; každou úroveň model hodnotí samostatně, bez znalosti jejího čísla a sousedních úrovní. Odpověď obsahuje `score` (součet čísel úrovní násobených jejich pravděpodobnostmi, takže hodnota může ležet mezi úrovněmi), `legend` s popisy úrovní, `probabilities` a `confidence`.\n3. **Noul — ano nebo ne.** Zda je tvrzení pravdivé. Odpověď `noul` je pravděpodobnost „ano“ od 0 do 1: blízko 1 znamená jisté „ano“, blízko 0 jisté „ne“ a blízko 0,5 model váhá. Samostatné `confidence` neexistuje: jediné číslo popisuje odpověď úplně. Nepovinné `criteria` upřesňuje, co považovat za „ano“ a co za „ne“.\n\nJak volit: známé možnosti bez pořadí znamenají choice; stupně spektra score; čisté „ano/ne“, u něhož je důležitá samotná pravděpodobnost, noul. Noul 0,5 znamená stejné šance „ano“ a „ne“, nikoli „střední úroveň“: stupeň měří score. Ze dvou vhodných typů vyberte ten, podle něhož kód rovnou jedná: choice pro větvení, score pro práh a noul pro `if`.\n\nTypy lze kombinovat v jednom požadavku. Odpověď je vždy omezena vašimi možnostmi a nezávisí na ostatních otázkách: otázky lze přidávat a odebírat bez změny ostatních odpovědí.\n\n### Stav\n\nStav je to, co model hodnotí: zpráva zákazníka, úryvek dokumentu, záznam z databáze nebo stav vaší aplikace.\n\n- **Řetězec** — pokud jde o jediný text: zprávu, článek nebo úryvek.\n- **Objekt** — pojmenované položky, propojené záznamy nebo stav aplikace. TypeSafe doporučuje objekt pro většinu požadavků: každá část má srozumitelný název.\n- **Pole** — posloupnost zpráv nebo záznamů.\n\nPřipravujte jej jako materiály pro odborníky: korespondenci, objednávku a pravidla vrácení dejte společně, pokud je rozhodnutí potřebuje porovnat. Obsah udržujte ve stavu a úsudky v otázkách. Pokud se otázka týká jedné části stavu, uveďte v ní cestu k této části v obrácených apostrofech, například `ticket.messages[0].text`.\n\n### Jak klást otázky\n\n- **Jeden rychlý úsudek na otázku.** Dobrá otázka je taková, na niž znalý člověk s potřebným kontextem odpoví během sekundy: „Je ve zprávě naléhavost?“ Pokyn „Analyzuj zprávu a rozhodni, co dělat“ již znamená pomalé uvažování a je třeba jej rozdělit na jednoduché otázky.\n- **Celá otázka patří do `instructions`.** Klíč otázky, například `refund_requested`, potřebuje pouze váš kód a modelu se nepředává.\n- **Všechny otázky ke stejnému stavu v jednom požadavku.** Model je hodnotí paralelně: podle TypeSafe další otázky téměř neprodlužují dobu odpovědi a stojí pouze své tokeny. Otázka „pro jistotu“ vyjde téměř zdarma a kód sám rozhodne, které odpovědi jsou potřeba.\n- **Složitý úsudek rozdělte.** Místo „zhodnoť přihlášku startupu“ se samostatně zeptejte na velikost trhu, technickou proveditelnost a rozdíly oproti konkurenci a výsledek spočítejte v kódu s vahami. Při změně priorit měníte váhy, nikoli přepisujete otázku.\n- **Závislé otázky patří do druhého požadavku.** Odpovědi jednoho požadavku neposkytují vzájemně kontext. Druhý požadavek je potřeba pouze tehdy, pokud jej bez první odpovědi nelze sestavit: je nutné načíst data nebo vybrat možnosti následující otázky.\n- **Dlouhá otázka jako objekt.** `instructions` a `criteria` jsou obvykle řetězce, mohou však být objektem nebo polem: otázka v jedné položce a data v dalších. Lze tak pohodlně porovnat životopis s databázovými záznamy jedinou otázkou.\n\n### Jistota\n\nU choice a score ukazuje `confidence` od 0 do 1, nakolik je pravděpodobnost soustředěna na jediné odpovědi: 1 znamená vše na jediné možnosti a 0 stejnoměrně na všech. U score sousední úroveň snižuje jistotu méně než vzdálená. U noul představuje jistotu samotná hodnota: čím dál od 0,5, tím jednoznačnější odpověď.\n\nTypeSafe doporučuje tři rozsahy:\n\n1. **Vysoká jistota** — jednejte automaticky.\n2. **Střední** — jednejte opatrně, například požádejte uživatele o potvrzení.\n3. **Nízká** — předejte případ člověku, upřesněte požadavek nebo zapojte záložní postup, například výkonnější model s uvažováním.\n\nČím dražší je chyba, tím přísnější práh: pro nevratné akce vyšší než pro čtení. Odpověď říká, co vybrat, a jistota, zda jednat. Prahy volte na vlastních datech porovnáváním jistoty a přesnosti.\n\n### Jak sestavit systém kolem Jev\n\nJev je navržen pro programy, v nichž proces řídí kód a model odpovídá na úzké významové otázky, nikoli pro agenty, kteří sami volí další krok a v každém kole se mohou odchýlit. Osm kroků návrhu podle TypeSafe:\n\n1. Vše, co lze provést kódem, dělejte kódem — spolehlivě a levně.\n2. Do stavu patří pouze to, co potřebují aktuální otázky; čerstvá fakta z vlastní znalostní báze, nikoli z paměti modelu.\n3. Struktura ve stavu: vnořený JSON a v otázce cesta k potřebné položce v obrácených apostrofech, pokud tak ubude nejednoznačnosti.\n4. Co nejužší a nejkonkrétnější otázky — podle TypeSafe možná hlavní pravidlo: široká otázka skrývá několik úsudků za jedinou odpovědí.\n5. Struktura v otázkách: samotná otázka stručná; vysvětlení, příklady a hodnoty z vaší databáze v sousedních položkách objektu `instructions` nebo `criteria`, nikoli v jediném dlouhém řetězci.\n6. Mnoho nezávislých otázek ke stejnému stavu v jednom požadavku — více užitku z každého dolaru.\n7. Odpovědi propojuje kód: pravidly, váženým součtem nebo jako příznaky pro klasický model strojového učení.\n8. Větvení podle jistoty: nejisté případy člověku nebo modelu s uvažováním.\n\nJev není chat ani model pro doplňování kódu a nelze jej v programátorském agentovi dosadit místo jazykového modelu. Agent však může pro vás napsat kód, který volá Jev tam, kde je potřeba rychlá kalibrovaná odpověď.\n\n### Oblasti použití\n\n- **Automatizace na pozadí** — rozhodnutí spouštěná milionkrát bez člověka po boku.\n- **Reálný čas** — podle TypeSafe se většina požadavků provede přibližně za 100 ms: postačuje to pro průběžné zpracování a rozhraní.\n- **Velká data** — vyhledávání v obrovských korpusech, označování protokolů práce agentů a příznaky pro prognózy.\n- **Kontrola jiných modelů** — požadavky, získávání dat, uvažování a volání nástrojů: obcházení omezení, chyby citací a smyšlené informace.\n- **Vyhledávání a řazení** — relevance dvojice „dotaz — kandidát“, přerankování a výběr kontextu.\n- **Větvení podle záměru** — co uživatel chce a jaký obslužný postup potřebuje: jednoduchou logiku, specializovaný model nebo člověka; téma, složitost a riziko rozhodují, kterému jazykovému modelu požadavek předat.\n- **Ochranné kontroly** — vstup, výstup a volání nástrojů jazykového modelu: vložené instrukce, porušení pravidel a únik osobních údajů.\n- **Podpora** — téma a záměr požadavku, naléhavost, podráždění, riziko odchodu, žádost o vrácení peněz a fronta.\n- **Moderování** — podle pravidel vaší platformy: toxicita, šikana, spam, podvody, nebezpečné rady a osobní údaje; podle závažnosti a jistoty propustit, upozornit, zkontrolovat nebo zablokovat.\n- **Obory** — pojistné události, finanční vyšetřování a KYC, smlouvy a reklama, produktové karty, nábor pracovníků, obchodní kontakty, hry, rizika, prognóza poptávky, znalostní grafy, vědecké přehledy a významové kontroly kódu v CI.\n\n### Charakteristiky\n\n- **`jev-latest`** — alias nejnovější stabilní verze, nyní Jev 1.13; odpovídající verze je v položce `model`, například `jev-1.13.0`. S novou verzí se alias přesouvá na ni a odpovědi se mohou změnit bez vašich úprav — sledujte tuto položku, pokud byly prahy nastaveny pro určitou verzi.\n- **Kontext** — 64K tokenů na požadavek: stav a všechny otázky dohromady; stav s nejdelší otázkou až 32K. Model stav čte jednou a paralelně proti němu ověřuje všechny otázky.\n- **Vstup** — pouze text: řetězec, objekt JSON nebo pole textů. Obrázky, zvuk ani video zatím nejsou podporovány — předem je převeďte na text.\n- **Jazyk** — hlavním jazykem trénování je angličtina a přesnost je v ní nyní nejvyšší. Další jazyky, včetně čínštiny, japonštiny a korejštiny, model přijímá, ale přesnost je nižší — ověřte na vlastních datech.\n- **Ceny a účtování v Ailoot API** — podmínky závisí na zvolené metodě a jsou uvedeny na její kartě.\n- **Nastavení** — Jev se nedotrénovává na datech zákazníka: vlastní materiály do `state`, pravidla oboru do `instructions` a `criteria`.\n- **Data** — TypeSafe uvádí, že Jev není trénován na požadavcích a odpovědích zákazníků.\n\n### Známé slabiny Jev 1.13\n\nTypeSafe otevřeně uvádí slabiny aktuální verze a slibuje mnoho z nich napravit v následujících. Model je rychlý, kalibrovaný a dobře posuzuje se zdravým rozumem, ale:\n\n1. **Čte doslova.** Odpovídá na napsanou otázku, nikoli na zamýšlenou: výhrady, zápory a nevyřčené podmínky chápe doslova. Pište přesnou podmínku a hraniční případy do `criteria`; nevyhnutelnou interpretaci rozdělte do dvou doslovných otázek.\n2. **Není kalkulačka.** Počítání znaků, opakování a položek seznamu není spolehlivé a chyba roste s velikostí — počítejte v kódu, po jedné otázce na kandidáta. Barvám v hex nebo RGB model rozumí hůře než jejich názvům. `score` se hodí pro práh, nikoli pro přesné číslo mezi úrovněmi.\n3. **Data a čas.** Které datum je dřívější, kolik je mezi nimi nebo zda datum spadá do období, je nespolehlivé, zejména při kombinování formátů a relativních dat. Části data získávejte pomocí choice (s možností „není uvedeno“) a porovnávejte v kódu.\n4. **Nepřímost.** Dvojité zápory a otázky na vlastnost vlastnosti snižují přesnost. Pište přímo a části stavu uvádějte názvem.\n5. **Nadbytečný obsah ve stavu.** Nesouvisející text snižuje přesnost. Filtrujte v kódu, a pokud to nelze, odstraňte nerelevantní obsah otázkami noul.\n6. **Nepřátelský text.** Model ve stavu standardně neočekává pasti: vložená instrukce nebo text, který polemizuje o vlastní klasifikaci, mohou ovlivnit odpověď. Pište přesná kritéria a ověřujte hraniční případy před spuštěním.\n7. **Rozpory.** Pokud `instructions` a `criteria` žádají něco jiného, například je u noul „ano“ popsáno jako „ne“, přesnost klesá. Kritéria jsou pokračováním otázky.\n8. **Pořadí možností.** Model někdy tíhne k první možnosti choice. Změňte pořadí možností a ověřte, že se odpověď nemění.\n9. **Generování.** Jev není trénován k psaní textu. Pro získávání dat najděte kandidáty regulárním výrazem nebo generativním modelem a Jev nechte vybrat správného pomocí choice.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "94a21beb93e99991debe14795c84542392253161bfc6ac23c565b258b1f801ca",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "cs",
  "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=\"Zavřít\">×</button></div><div class=\"idline\"><span>TypeSafe /</span><code>jev-latest</code><button type=\"button\" id=\"copy-id\">Zkopírovat ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekce karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metody</button><button type=\"button\" data-card-jump=\"pricing\">Tarify</button><button type=\"button\" data-card-jump=\"examples\">Příklady</button><button type=\"button\" data-card-jump=\"results\">Výsledky</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metody API\"><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\">Úvod</h3><p class=\"mdesc-full\">Rozhodovací model od TypeSafe: nepíše text, ale odpovídá na typované otázky o textu nebo JSON — volba možnosti, hodnocení na škále nebo „ano/ne“ s pravděpodobnostmi. Hodí se pro směrování, třídění požadavků, moderování a skórování; všechny otázky jednoho požadavku se vyhodnocují paralelně.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Text</dd></div><div><dt>Výsledky</dt><dd>structured</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.</p><div class=\"mabout\" id=\"m-about\"><p>Jev je vlajkový model TypeSafe a první model nové třídy <strong>System One</strong>. Nepíše text, ale rychle přijímá rozhodnutí, která program může rovnou využít: předáte <strong>stav</strong> (<code>state</code>), tedy text nebo JSON, a sadu <strong>otázek</strong> a v odpovědi získáte typované hodnoty s kalibrovanými pravděpodobnostmi.</p><p>Jazykové modely píší slova pro lidi, zatímco Jev je podle TypeSafe bližší kódu: odpověď má rovnou podobu potřebnou pro kód, vysokou rychlost a ani jednu hodnotu mimo zadané možnosti. Model je navržen tak, aby při opakovaných požadavcích poskytoval stabilní odpovědi.</p><h4>Čím se System One liší od jazykového modelu</h4><ul><li><strong>Negeneruje.</strong> Jev nepíše odpovědi uživateli, nepíše kód a nevysvětluje průběh uvažování. Možné odpovědi zadáváte vy prostřednictvím jednoho ze tří typů otázek.</li><li><strong>Je trénován pro kalibrovaná rozhodnutí.</strong> TypeSafe model trénuje metodou RLCD (Reinforcement Learning for Calibrated Decisions): pravděpodobnosti se přizpůsobují skutečným výsledkům a vyjadřují nejistotu. Z mnoha odpovědí s pravděpodobností 0,8 by mělo být správných přibližně 80%. Kalibrace je vlastností velkého vzorku, nikoli zárukou správnosti jednotlivé odpovědi.</li><li><strong>Jiný cíl trénování.</strong> Chatové modely se učí zalíbit lidem (RLHF) a podle pozorování TypeSafe to podporuje přehnané přitakávání a přesvědčivě znějící chyby. Jeden ze spoluautorů RLHF, Diogo Almeida, je spoluzakladatelem TypeSafe.</li></ul><p>Název odkazuje na „Systém 1“ z knihy Daniela Kahnemana „Myšlení, rychlé a pomalé“: rychlý intuitivní úsudek oproti pomalému promyšlenému myšlení „Systému 2“. Jev je vytvořen pro rychlé, úzce vymezené úsudky.</p><h4>Tři typy otázek</h4><p>Otázka představuje jeden úsudek o stavu a odpověď hodnotu, kterou kód porovnává s prahem, řadí nebo předává dál.</p><ol><li><strong>Choice — výběr možnosti.</strong> Oddělení pro požadavek, kategorie produktu nebo jazyk úryvku kódu. Možnosti tvoří slovník „možnost → popis“, až 255 položek. Odpověď obsahuje vybraný <code>choice</code>, pravděpodobnosti <code>probabilities</code> všech možností (jejich součet je 1) a jistotu <code>confidence</code>. Pokud seznam nemusí pokrývat všechny případy, přidejte „jiné“ nebo „nic z uvedeného“.</li><li><strong>Score — hodnocení na škále.</strong> Místo na uspořádané škále, kterou popisujete vy: závažnost chyby, podráždění zákazníka nebo úroveň dovednosti. Od 2 do 10 úrovní, od nejnižší po nejvyšší; každou úroveň model hodnotí samostatně, bez znalosti jejího čísla a sousedních úrovní. Odpověď obsahuje <code>score</code> (součet čísel úrovní násobených jejich pravděpodobnostmi, takže hodnota může ležet mezi úrovněmi), <code>legend</code> s popisy úrovní, <code>probabilities</code> a <code>confidence</code>.</li><li><strong>Noul — ano nebo ne.</strong> Zda je tvrzení pravdivé. Odpověď <code>noul</code> je pravděpodobnost „ano“ od 0 do 1: blízko 1 znamená jisté „ano“, blízko 0 jisté „ne“ a blízko 0,5 model váhá. Samostatné <code>confidence</code> neexistuje: jediné číslo popisuje odpověď úplně. Nepovinné <code>criteria</code> upřesňuje, co považovat za „ano“ a co za „ne“.</li></ol><p>Jak volit: známé možnosti bez pořadí znamenají choice; stupně spektra score; čisté „ano/ne“, u něhož je důležitá samotná pravděpodobnost, noul. Noul 0,5 znamená stejné šance „ano“ a „ne“, nikoli „střední úroveň“: stupeň měří score. Ze dvou vhodných typů vyberte ten, podle něhož kód rovnou jedná: choice pro větvení, score pro práh a noul pro <code>if</code>.</p><p>Typy lze kombinovat v jednom požadavku. Odpověď je vždy omezena vašimi možnostmi a nezávisí na ostatních otázkách: otázky lze přidávat a odebírat bez změny ostatních odpovědí.</p><h4>Stav</h4><p>Stav je to, co model hodnotí: zpráva zákazníka, úryvek dokumentu, záznam z databáze nebo stav vaší aplikace.</p><ul><li><strong>Řetězec</strong> — pokud jde o jediný text: zprávu, článek nebo úryvek.</li><li><strong>Objekt</strong> — pojmenované položky, propojené záznamy nebo stav aplikace. TypeSafe doporučuje objekt pro většinu požadavků: každá část má srozumitelný název.</li><li><strong>Pole</strong> — posloupnost zpráv nebo záznamů.</li></ul><p>Připravujte jej jako materiály pro odborníky: korespondenci, objednávku a pravidla vrácení dejte společně, pokud je rozhodnutí potřebuje porovnat. Obsah udržujte ve stavu a úsudky v otázkách. Pokud se otázka týká jedné části stavu, uveďte v ní cestu k této části v obrácených apostrofech, například <code>ticket.messages[0].text</code>.</p><h4>Jak klást otázky</h4><ul><li><strong>Jeden rychlý úsudek na otázku.</strong> Dobrá otázka je taková, na niž znalý člověk s potřebným kontextem odpoví během sekundy: „Je ve zprávě naléhavost?“ Pokyn „Analyzuj zprávu a rozhodni, co dělat“ již znamená pomalé uvažování a je třeba jej rozdělit na jednoduché otázky.</li><li><strong>Celá otázka patří do <code>instructions</code>.</strong> Klíč otázky, například <code>refund_requested</code>, potřebuje pouze váš kód a modelu se nepředává.</li><li><strong>Všechny otázky ke stejnému stavu v jednom požadavku.</strong> Model je hodnotí paralelně: podle TypeSafe další otázky téměř neprodlužují dobu odpovědi a stojí pouze své tokeny. Otázka „pro jistotu“ vyjde téměř zdarma a kód sám rozhodne, které odpovědi jsou potřeba.</li><li><strong>Složitý úsudek rozdělte.</strong> Místo „zhodnoť přihlášku startupu“ se samostatně zeptejte na velikost trhu, technickou proveditelnost a rozdíly oproti konkurenci a výsledek spočítejte v kódu s vahami. Při změně priorit měníte váhy, nikoli přepisujete otázku.</li><li><strong>Závislé otázky patří do druhého požadavku.</strong> Odpovědi jednoho požadavku neposkytují vzájemně kontext. Druhý požadavek je potřeba pouze tehdy, pokud jej bez první odpovědi nelze sestavit: je nutné načíst data nebo vybrat možnosti následující otázky.</li><li><strong>Dlouhá otázka jako objekt.</strong> <code>instructions</code> a <code>criteria</code> jsou obvykle řetězce, mohou však být objektem nebo polem: otázka v jedné položce a data v dalších. Lze tak pohodlně porovnat životopis s databázovými záznamy jedinou otázkou.</li></ul><h4>Jistota</h4><p>U choice a score ukazuje <code>confidence</code> od 0 do 1, nakolik je pravděpodobnost soustředěna na jediné odpovědi: 1 znamená vše na jediné možnosti a 0 stejnoměrně na všech. U score sousední úroveň snižuje jistotu méně než vzdálená. U noul představuje jistotu samotná hodnota: čím dál od 0,5, tím jednoznačnější odpověď.</p><p>TypeSafe doporučuje tři rozsahy:</p><ol><li><strong>Vysoká jistota</strong> — jednejte automaticky.</li><li><strong>Střední</strong> — jednejte opatrně, například požádejte uživatele o potvrzení.</li><li><strong>Nízká</strong> — předejte případ člověku, upřesněte požadavek nebo zapojte záložní postup, například výkonnější model s uvažováním.</li></ol><p>Čím dražší je chyba, tím přísnější práh: pro nevratné akce vyšší než pro čtení. Odpověď říká, co vybrat, a jistota, zda jednat. Prahy volte na vlastních datech porovnáváním jistoty a přesnosti.</p><h4>Jak sestavit systém kolem Jev</h4><p>Jev je navržen pro programy, v nichž proces řídí kód a model odpovídá na úzké významové otázky, nikoli pro agenty, kteří sami volí další krok a v každém kole se mohou odchýlit. Osm kroků návrhu podle TypeSafe:</p><ol><li>Vše, co lze provést kódem, dělejte kódem — spolehlivě a levně.</li><li>Do stavu patří pouze to, co potřebují aktuální otázky; čerstvá fakta z vlastní znalostní báze, nikoli z paměti modelu.</li><li>Struktura ve stavu: vnořený JSON a v otázce cesta k potřebné položce v obrácených apostrofech, pokud tak ubude nejednoznačnosti.</li><li>Co nejužší a nejkonkrétnější otázky — podle TypeSafe možná hlavní pravidlo: široká otázka skrývá několik úsudků za jedinou odpovědí.</li><li>Struktura v otázkách: samotná otázka stručná; vysvětlení, příklady a hodnoty z vaší databáze v sousedních položkách objektu <code>instructions</code> nebo <code>criteria</code>, nikoli v jediném dlouhém řetězci.</li><li>Mnoho nezávislých otázek ke stejnému stavu v jednom požadavku — více užitku z každého dolaru.</li><li>Odpovědi propojuje kód: pravidly, váženým součtem nebo jako příznaky pro klasický model strojového učení.</li><li>Větvení podle jistoty: nejisté případy člověku nebo modelu s uvažováním.</li></ol><p>Jev není chat ani model pro doplňování kódu a nelze jej v programátorském agentovi dosadit místo jazykového modelu. Agent však může pro vás napsat kód, který volá Jev tam, kde je potřeba rychlá kalibrovaná odpověď.</p><h4>Oblasti použití</h4><ul><li><strong>Automatizace na pozadí</strong> — rozhodnutí spouštěná milionkrát bez člověka po boku.</li><li><strong>Reálný čas</strong> — podle TypeSafe se většina požadavků provede přibližně za 100 ms: postačuje to pro průběžné zpracování a rozhraní.</li><li><strong>Velká data</strong> — vyhledávání v obrovských korpusech, označování protokolů práce agentů a příznaky pro prognózy.</li><li><strong>Kontrola jiných modelů</strong> — požadavky, získávání dat, uvažování a volání nástrojů: obcházení omezení, chyby citací a smyšlené informace.</li><li><strong>Vyhledávání a řazení</strong> — relevance dvojice „dotaz — kandidát“, přerankování a výběr kontextu.</li><li><strong>Větvení podle záměru</strong> — co uživatel chce a jaký obslužný postup potřebuje: jednoduchou logiku, specializovaný model nebo člověka; téma, složitost a riziko rozhodují, kterému jazykovému modelu požadavek předat.</li><li><strong>Ochranné kontroly</strong> — vstup, výstup a volání nástrojů jazykového modelu: vložené instrukce, porušení pravidel a únik osobních údajů.</li><li><strong>Podpora</strong> — téma a záměr požadavku, naléhavost, podráždění, riziko odchodu, žádost o vrácení peněz a fronta.</li><li><strong>Moderování</strong> — podle pravidel vaší platformy: toxicita, šikana, spam, podvody, nebezpečné rady a osobní údaje; podle závažnosti a jistoty propustit, upozornit, zkontrolovat nebo zablokovat.</li><li><strong>Obory</strong> — pojistné události, finanční vyšetřování a KYC, smlouvy a reklama, produktové karty, nábor pracovníků, obchodní kontakty, hry, rizika, prognóza poptávky, znalostní grafy, vědecké přehledy a významové kontroly kódu v CI.</li></ul><h4>Charakteristiky</h4><ul><li><strong><code>jev-latest</code></strong> — alias nejnovější stabilní verze, nyní Jev 1.13; odpovídající verze je v položce <code>model</code>, například <code>jev-1.13.0</code>. S novou verzí se alias přesouvá na ni a odpovědi se mohou změnit bez vašich úprav — sledujte tuto položku, pokud byly prahy nastaveny pro určitou verzi.</li><li><strong>Kontext</strong> — 64K tokenů na požadavek: stav a všechny otázky dohromady; stav s nejdelší otázkou až 32K. Model stav čte jednou a paralelně proti němu ověřuje všechny otázky.</li><li><strong>Vstup</strong> — pouze text: řetězec, objekt JSON nebo pole textů. Obrázky, zvuk ani video zatím nejsou podporovány — předem je převeďte na text.</li><li><strong>Jazyk</strong> — hlavním jazykem trénování je angličtina a přesnost je v ní nyní nejvyšší. Další jazyky, včetně čínštiny, japonštiny a korejštiny, model přijímá, ale přesnost je nižší — ověřte na vlastních datech.</li><li><strong>Ceny a účtování v Ailoot API</strong> — podmínky závisí na zvolené metodě a jsou uvedeny na její kartě.</li><li><strong>Nastavení</strong> — Jev se nedotrénovává na datech zákazníka: vlastní materiály do <code>state</code>, pravidla oboru do <code>instructions</code> a <code>criteria</code>.</li><li><strong>Data</strong> — TypeSafe uvádí, že Jev není trénován na požadavcích a odpovědích zákazníků.</li></ul><h4>Známé slabiny Jev 1.13</h4><p>TypeSafe otevřeně uvádí slabiny aktuální verze a slibuje mnoho z nich napravit v následujících. Model je rychlý, kalibrovaný a dobře posuzuje se zdravým rozumem, ale:</p><ol><li><strong>Čte doslova.</strong> Odpovídá na napsanou otázku, nikoli na zamýšlenou: výhrady, zápory a nevyřčené podmínky chápe doslova. Pište přesnou podmínku a hraniční případy do <code>criteria</code>; nevyhnutelnou interpretaci rozdělte do dvou doslovných otázek.</li><li><strong>Není kalkulačka.</strong> Počítání znaků, opakování a položek seznamu není spolehlivé a chyba roste s velikostí — počítejte v kódu, po jedné otázce na kandidáta. Barvám v hex nebo RGB model rozumí hůře než jejich názvům. <code>score</code> se hodí pro práh, nikoli pro přesné číslo mezi úrovněmi.</li><li><strong>Data a čas.</strong> Které datum je dřívější, kolik je mezi nimi nebo zda datum spadá do období, je nespolehlivé, zejména při kombinování formátů a relativních dat. Části data získávejte pomocí choice (s možností „není uvedeno“) a porovnávejte v kódu.</li><li><strong>Nepřímost.</strong> Dvojité zápory a otázky na vlastnost vlastnosti snižují přesnost. Pište přímo a části stavu uvádějte názvem.</li><li><strong>Nadbytečný obsah ve stavu.</strong> Nesouvisející text snižuje přesnost. Filtrujte v kódu, a pokud to nelze, odstraňte nerelevantní obsah otázkami noul.</li><li><strong>Nepřátelský text.</strong> Model ve stavu standardně neočekává pasti: vložená instrukce nebo text, který polemizuje o vlastní klasifikaci, mohou ovlivnit odpověď. Pište přesná kritéria a ověřujte hraniční případy před spuštěním.</li><li><strong>Rozpory.</strong> Pokud <code>instructions</code> a <code>criteria</code> žádají něco jiného, například je u noul „ano“ popsáno jako „ne“, přesnost klesá. Kritéria jsou pokračováním otázky.</li><li><strong>Pořadí možností.</strong> Model někdy tíhne k první možnosti choice. Změňte pořadí možností a ověřte, že se odpověď nemění.</li><li><strong>Generování.</strong> Jev není trénován k psaní textu. Pro získávání dat najděte kandidáty regulárním výrazem nebo generativním modelem a Jev nechte vybrat správného pomocí choice.</li></ol></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metody</h3><details class=\"card-method\" open><summary><b>Ailoot · System One</b> <code>POST /v1/systemone</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code></dd></div><div><dt>Výstup</dt><dd><code>structured</code></dd></div><div><dt>Kontext</dt><dd>64 000 tokens</dd></div><div><dt>Výstupní formát</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požadavek</th><th>Hodnoty a limity</th><th>Výchozí</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>jev-latest</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string|object|array</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">questions</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Minimální počet polí objektu: 1</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>noul, choice, score</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string|object|array|null</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object|array|null</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmínky: noul: volitelné popisy true/false s možností null; choice: objekt kritérií; score: neprázdné pole kritérií</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>boolean|null</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Volitelné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>false, null</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinace vstupních materiálů</summary><p class=\"note-s\"><b>noul</b> · Povinné: state, questions.&lt;id&gt;.type=noul</p><p class=\"note-s\"><b>choice</b> · Povinné: state, questions.&lt;id&gt;.type=choice, criteria object</p><p class=\"note-s\"><b>score</b> · Povinné: state, questions.&lt;id&gt;.type=score, nonemptycriteriaarray</p></details><details class=\"note-s\" data-method-contract><summary>Parametry a životní cyklus metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, state, questions</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional_controls</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>null</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr></tbody></table></div><p>Životní cyklus: <code>exact retained published method</code></p><p class=\"note-s\">Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><h4>Sazby metod Ailoot</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>Vstup</dt><dd>≈0,000084 US$ <em>/ 1K</em></dd></div><div><dt>Výstup</dt><dd>0,00 US$ <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. <a href=\"/docs/cs/billing/reserve/\">Jak funguje rezervace a vyúčtování →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Příklady požadavků</h3><h4>Ailoot · System One</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><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\">Příklad klasifikace</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat kód\"><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\">Přijímání a ukládání výsledků</h3><h4>Ailoot · System One</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Uchovejte všechny dokončené výsledky</h5><p class=\"note-s\">Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.</p><p class=\"note-s\">Uchovejte každou odpověď podle zadaného ID otázky, její pravděpodobnost a legendu; vzorec míry jistoty používající n vyžaduje n&gt;1, aniž by stanovoval pravidlo API pro minimální počet možností.</p></div><details class=\"card-about\" data-output-fields><summary>Pole odpovědi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>number</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>number</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>number</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Chyby a další kroky</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpověď</th><th>Podmínka</th><th>Další krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpověď\" scope=\"row\"><span class=\"card-cell-label\">Odpověď</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Podmínka\"><span class=\"card-cell-label\">Podmínka</span>Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru</td><td data-cell-label=\"Další krok\"><span class=\"card-cell-label\">Další krok</span>Před novým požadavkem na vytvoření opravte uvedená pole.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</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>Aliasy cest metod</h4><p class=\"note-s\">Použijte cesty metod uvedené výše.</p><h4>Související ID modelů</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": "Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru",
                "http_status": 400,
                "recovery": "Před novým požadavkem na vytvoření opravte uvedená pole.",
                "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": "Uchovejte každou odpověď podle zadaného ID otázky, její pravděpodobnost a legendu; vzorec míry jistoty používající n vyžaduje n>1, aniž by stanovoval pravidlo API pro minimální počet možností.",
              "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: volitelné popisy true/false s možností null; choice: objekt kritérií; score: neprázdné pole kritérií",
                "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": [
            "Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku."
          ],
          "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": "2a3e0622a0bfbb438cf1604dc54546edb0024dfce671116e0fc4a9f4414115eb",
    "input_html_sha256": "f3536a4e1d61725bbc012cd94871153067722f675e0c1ae0dcb3e66fb03c5727",
    "private_audit_sha256": "01202ca59ea6715135b83a6dcc8e995dd4a40fcd7363b071939004d792de2f02",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/jev-latest/",
    "description": "Rozhodovací model od TypeSafe: nepíše text, ale odpovídá na typované otázky o textu nebo JSON — volba možnosti, hodnocení na škále nebo „ano/ne“ s pravděpodobnostmi. Hodí se pro směrování, třídění požadavků, moderování a skórování; všechny otázky jednoho požadavku se vyhodnocují paralelně.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/jev-latest/index.md",
    "title": "jev-latest — Ailoot",
    "url": "https://ailoot.ai/models/cs/jev-latest/"
  },
  "rawModel": {
    "about": "Jev je vlajkový model TypeSafe a první model nové třídy **System One**. Nepíše text, ale rychle přijímá rozhodnutí, která program může rovnou využít: předáte **stav** (`state`), tedy text nebo JSON, a sadu **otázek** a v odpovědi získáte typované hodnoty s kalibrovanými pravděpodobnostmi.\n\nJazykové modely píší slova pro lidi, zatímco Jev je podle TypeSafe bližší kódu: odpověď má rovnou podobu potřebnou pro kód, vysokou rychlost a ani jednu hodnotu mimo zadané možnosti. Model je navržen tak, aby při opakovaných požadavcích poskytoval stabilní odpovědi.\n\n### Čím se System One liší od jazykového modelu\n\n- **Negeneruje.** Jev nepíše odpovědi uživateli, nepíše kód a nevysvětluje průběh uvažování. Možné odpovědi zadáváte vy prostřednictvím jednoho ze tří typů otázek.\n- **Je trénován pro kalibrovaná rozhodnutí.** TypeSafe model trénuje metodou RLCD (Reinforcement Learning for Calibrated Decisions): pravděpodobnosti se přizpůsobují skutečným výsledkům a vyjadřují nejistotu. Z mnoha odpovědí s pravděpodobností 0,8 by mělo být správných přibližně 80%. Kalibrace je vlastností velkého vzorku, nikoli zárukou správnosti jednotlivé odpovědi.\n- **Jiný cíl trénování.** Chatové modely se učí zalíbit lidem (RLHF) a podle pozorování TypeSafe to podporuje přehnané přitakávání a přesvědčivě znějící chyby. Jeden ze spoluautorů RLHF, Diogo Almeida, je spoluzakladatelem TypeSafe.\n\nNázev odkazuje na „Systém 1“ z knihy Daniela Kahnemana „Myšlení, rychlé a pomalé“: rychlý intuitivní úsudek oproti pomalému promyšlenému myšlení „Systému 2“. Jev je vytvořen pro rychlé, úzce vymezené úsudky.\n\n### Tři typy otázek\n\nOtázka představuje jeden úsudek o stavu a odpověď hodnotu, kterou kód porovnává s prahem, řadí nebo předává dál.\n\n1. **Choice — výběr možnosti.** Oddělení pro požadavek, kategorie produktu nebo jazyk úryvku kódu. Možnosti tvoří slovník „možnost → popis“, až 255 položek. Odpověď obsahuje vybraný `choice`, pravděpodobnosti `probabilities` všech možností (jejich součet je 1) a jistotu `confidence`. Pokud seznam nemusí pokrývat všechny případy, přidejte „jiné“ nebo „nic z uvedeného“.\n2. **Score — hodnocení na škále.** Místo na uspořádané škále, kterou popisujete vy: závažnost chyby, podráždění zákazníka nebo úroveň dovednosti. Od 2 do 10 úrovní, od nejnižší po nejvyšší; každou úroveň model hodnotí samostatně, bez znalosti jejího čísla a sousedních úrovní. Odpověď obsahuje `score` (součet čísel úrovní násobených jejich pravděpodobnostmi, takže hodnota může ležet mezi úrovněmi), `legend` s popisy úrovní, `probabilities` a `confidence`.\n3. **Noul — ano nebo ne.** Zda je tvrzení pravdivé. Odpověď `noul` je pravděpodobnost „ano“ od 0 do 1: blízko 1 znamená jisté „ano“, blízko 0 jisté „ne“ a blízko 0,5 model váhá. Samostatné `confidence` neexistuje: jediné číslo popisuje odpověď úplně. Nepovinné `criteria` upřesňuje, co považovat za „ano“ a co za „ne“.\n\nJak volit: známé možnosti bez pořadí znamenají choice; stupně spektra score; čisté „ano/ne“, u něhož je důležitá samotná pravděpodobnost, noul. Noul 0,5 znamená stejné šance „ano“ a „ne“, nikoli „střední úroveň“: stupeň měří score. Ze dvou vhodných typů vyberte ten, podle něhož kód rovnou jedná: choice pro větvení, score pro práh a noul pro `if`.\n\nTypy lze kombinovat v jednom požadavku. Odpověď je vždy omezena vašimi možnostmi a nezávisí na ostatních otázkách: otázky lze přidávat a odebírat bez změny ostatních odpovědí.\n\n### Stav\n\nStav je to, co model hodnotí: zpráva zákazníka, úryvek dokumentu, záznam z databáze nebo stav vaší aplikace.\n\n- **Řetězec** — pokud jde o jediný text: zprávu, článek nebo úryvek.\n- **Objekt** — pojmenované položky, propojené záznamy nebo stav aplikace. TypeSafe doporučuje objekt pro většinu požadavků: každá část má srozumitelný název.\n- **Pole** — posloupnost zpráv nebo záznamů.\n\nPřipravujte jej jako materiály pro odborníky: korespondenci, objednávku a pravidla vrácení dejte společně, pokud je rozhodnutí potřebuje porovnat. Obsah udržujte ve stavu a úsudky v otázkách. Pokud se otázka týká jedné části stavu, uveďte v ní cestu k této části v obrácených apostrofech, například `ticket.messages[0].text`.\n\n### Jak klást otázky\n\n- **Jeden rychlý úsudek na otázku.** Dobrá otázka je taková, na niž znalý člověk s potřebným kontextem odpoví během sekundy: „Je ve zprávě naléhavost?“ Pokyn „Analyzuj zprávu a rozhodni, co dělat“ již znamená pomalé uvažování a je třeba jej rozdělit na jednoduché otázky.\n- **Celá otázka patří do `instructions`.** Klíč otázky, například `refund_requested`, potřebuje pouze váš kód a modelu se nepředává.\n- **Všechny otázky ke stejnému stavu v jednom požadavku.** Model je hodnotí paralelně: podle TypeSafe další otázky téměř neprodlužují dobu odpovědi a stojí pouze své tokeny. Otázka „pro jistotu“ vyjde téměř zdarma a kód sám rozhodne, které odpovědi jsou potřeba.\n- **Složitý úsudek rozdělte.** Místo „zhodnoť přihlášku startupu“ se samostatně zeptejte na velikost trhu, technickou proveditelnost a rozdíly oproti konkurenci a výsledek spočítejte v kódu s vahami. Při změně priorit měníte váhy, nikoli přepisujete otázku.\n- **Závislé otázky patří do druhého požadavku.** Odpovědi jednoho požadavku neposkytují vzájemně kontext. Druhý požadavek je potřeba pouze tehdy, pokud jej bez první odpovědi nelze sestavit: je nutné načíst data nebo vybrat možnosti následující otázky.\n- **Dlouhá otázka jako objekt.** `instructions` a `criteria` jsou obvykle řetězce, mohou však být objektem nebo polem: otázka v jedné položce a data v dalších. Lze tak pohodlně porovnat životopis s databázovými záznamy jedinou otázkou.\n\n### Jistota\n\nU choice a score ukazuje `confidence` od 0 do 1, nakolik je pravděpodobnost soustředěna na jediné odpovědi: 1 znamená vše na jediné možnosti a 0 stejnoměrně na všech. U score sousední úroveň snižuje jistotu méně než vzdálená. U noul představuje jistotu samotná hodnota: čím dál od 0,5, tím jednoznačnější odpověď.\n\nTypeSafe doporučuje tři rozsahy:\n\n1. **Vysoká jistota** — jednejte automaticky.\n2. **Střední** — jednejte opatrně, například požádejte uživatele o potvrzení.\n3. **Nízká** — předejte případ člověku, upřesněte požadavek nebo zapojte záložní postup, například výkonnější model s uvažováním.\n\nČím dražší je chyba, tím přísnější práh: pro nevratné akce vyšší než pro čtení. Odpověď říká, co vybrat, a jistota, zda jednat. Prahy volte na vlastních datech porovnáváním jistoty a přesnosti.\n\n### Jak sestavit systém kolem Jev\n\nJev je navržen pro programy, v nichž proces řídí kód a model odpovídá na úzké významové otázky, nikoli pro agenty, kteří sami volí další krok a v každém kole se mohou odchýlit. Osm kroků návrhu podle TypeSafe:\n\n1. Vše, co lze provést kódem, dělejte kódem — spolehlivě a levně.\n2. Do stavu patří pouze to, co potřebují aktuální otázky; čerstvá fakta z vlastní znalostní báze, nikoli z paměti modelu.\n3. Struktura ve stavu: vnořený JSON a v otázce cesta k potřebné položce v obrácených apostrofech, pokud tak ubude nejednoznačnosti.\n4. Co nejužší a nejkonkrétnější otázky — podle TypeSafe možná hlavní pravidlo: široká otázka skrývá několik úsudků za jedinou odpovědí.\n5. Struktura v otázkách: samotná otázka stručná; vysvětlení, příklady a hodnoty z vaší databáze v sousedních položkách objektu `instructions` nebo `criteria`, nikoli v jediném dlouhém řetězci.\n6. Mnoho nezávislých otázek ke stejnému stavu v jednom požadavku — více užitku z každého dolaru.\n7. Odpovědi propojuje kód: pravidly, váženým součtem nebo jako příznaky pro klasický model strojového učení.\n8. Větvení podle jistoty: nejisté případy člověku nebo modelu s uvažováním.\n\nJev není chat ani model pro doplňování kódu a nelze jej v programátorském agentovi dosadit místo jazykového modelu. Agent však může pro vás napsat kód, který volá Jev tam, kde je potřeba rychlá kalibrovaná odpověď.\n\n### Oblasti použití\n\n- **Automatizace na pozadí** — rozhodnutí spouštěná milionkrát bez člověka po boku.\n- **Reálný čas** — podle TypeSafe se většina požadavků provede přibližně za 100 ms: postačuje to pro průběžné zpracování a rozhraní.\n- **Velká data** — vyhledávání v obrovských korpusech, označování protokolů práce agentů a příznaky pro prognózy.\n- **Kontrola jiných modelů** — požadavky, získávání dat, uvažování a volání nástrojů: obcházení omezení, chyby citací a smyšlené informace.\n- **Vyhledávání a řazení** — relevance dvojice „dotaz — kandidát“, přerankování a výběr kontextu.\n- **Větvení podle záměru** — co uživatel chce a jaký obslužný postup potřebuje: jednoduchou logiku, specializovaný model nebo člověka; téma, složitost a riziko rozhodují, kterému jazykovému modelu požadavek předat.\n- **Ochranné kontroly** — vstup, výstup a volání nástrojů jazykového modelu: vložené instrukce, porušení pravidel a únik osobních údajů.\n- **Podpora** — téma a záměr požadavku, naléhavost, podráždění, riziko odchodu, žádost o vrácení peněz a fronta.\n- **Moderování** — podle pravidel vaší platformy: toxicita, šikana, spam, podvody, nebezpečné rady a osobní údaje; podle závažnosti a jistoty propustit, upozornit, zkontrolovat nebo zablokovat.\n- **Obory** — pojistné události, finanční vyšetřování a KYC, smlouvy a reklama, produktové karty, nábor pracovníků, obchodní kontakty, hry, rizika, prognóza poptávky, znalostní grafy, vědecké přehledy a významové kontroly kódu v CI.\n\n### Charakteristiky\n\n- **`jev-latest`** — alias nejnovější stabilní verze, nyní Jev 1.13; odpovídající verze je v položce `model`, například `jev-1.13.0`. S novou verzí se alias přesouvá na ni a odpovědi se mohou změnit bez vašich úprav — sledujte tuto položku, pokud byly prahy nastaveny pro určitou verzi.\n- **Kontext** — 64K tokenů na požadavek: stav a všechny otázky dohromady; stav s nejdelší otázkou až 32K. Model stav čte jednou a paralelně proti němu ověřuje všechny otázky.\n- **Vstup** — pouze text: řetězec, objekt JSON nebo pole textů. Obrázky, zvuk ani video zatím nejsou podporovány — předem je převeďte na text.\n- **Jazyk** — hlavním jazykem trénování je angličtina a přesnost je v ní nyní nejvyšší. Další jazyky, včetně čínštiny, japonštiny a korejštiny, model přijímá, ale přesnost je nižší — ověřte na vlastních datech.\n- **Ceny a účtování v Ailoot API** — podmínky závisí na zvolené metodě a jsou uvedeny na její kartě.\n- **Nastavení** — Jev se nedotrénovává na datech zákazníka: vlastní materiály do `state`, pravidla oboru do `instructions` a `criteria`.\n- **Data** — TypeSafe uvádí, že Jev není trénován na požadavcích a odpovědích zákazníků.\n\n### Známé slabiny Jev 1.13\n\nTypeSafe otevřeně uvádí slabiny aktuální verze a slibuje mnoho z nich napravit v následujících. Model je rychlý, kalibrovaný a dobře posuzuje se zdravým rozumem, ale:\n\n1. **Čte doslova.** Odpovídá na napsanou otázku, nikoli na zamýšlenou: výhrady, zápory a nevyřčené podmínky chápe doslova. Pište přesnou podmínku a hraniční případy do `criteria`; nevyhnutelnou interpretaci rozdělte do dvou doslovných otázek.\n2. **Není kalkulačka.** Počítání znaků, opakování a položek seznamu není spolehlivé a chyba roste s velikostí — počítejte v kódu, po jedné otázce na kandidáta. Barvám v hex nebo RGB model rozumí hůře než jejich názvům. `score` se hodí pro práh, nikoli pro přesné číslo mezi úrovněmi.\n3. **Data a čas.** Které datum je dřívější, kolik je mezi nimi nebo zda datum spadá do období, je nespolehlivé, zejména při kombinování formátů a relativních dat. Části data získávejte pomocí choice (s možností „není uvedeno“) a porovnávejte v kódu.\n4. **Nepřímost.** Dvojité zápory a otázky na vlastnost vlastnosti snižují přesnost. Pište přímo a části stavu uvádějte názvem.\n5. **Nadbytečný obsah ve stavu.** Nesouvisející text snižuje přesnost. Filtrujte v kódu, a pokud to nelze, odstraňte nerelevantní obsah otázkami noul.\n6. **Nepřátelský text.** Model ve stavu standardně neočekává pasti: vložená instrukce nebo text, který polemizuje o vlastní klasifikaci, mohou ovlivnit odpověď. Pište přesná kritéria a ověřujte hraniční případy před spuštěním.\n7. **Rozpory.** Pokud `instructions` a `criteria` žádají něco jiného, například je u noul „ano“ popsáno jako „ne“, přesnost klesá. Kritéria jsou pokračováním otázky.\n8. **Pořadí možností.** Model někdy tíhne k první možnosti choice. Změňte pořadí možností a ověřte, že se odpověď nemění.\n9. **Generování.** Jev není trénován k psaní textu. Pro získávání dat najděte kandidáty regulárním výrazem nebo generativním modelem a Jev nechte vybrat správného pomocí choice.",
    "alias_of": null,
    "aliases": [],
    "author": "TypeSafe",
    "ctx": 64000,
    "formats": [
      "systemone"
    ],
    "guide": "/docs/api/systemone/",
    "id": "jev-latest",
    "input": [
      "text"
    ],
    "kind": "decision",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Retain every answer by its supplied question ID, probability and legend; confidenceformulausingnrequiresn>1withoutassertinganAPIminchoicesrule.",
            "errors": [
              {
                "code": null,
                "condition": "Neplatná povinná pole, reprezentace podkladů nebo hodnota parametru",
                "http_status": 400,
                "recovery": "Před novým požadavkem na vytvoření opravte uvedená pole.",
                "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": "Uchovejte každou odpověď podle zadaného ID otázky, její pravděpodobnost a legendu; vzorec míry jistoty používající n vyžaduje n>1, aniž by stanovoval pravidlo API pro minimální počet možností.",
              "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: volitelné popisy true/false s možností null; choice: objekt kritérií; score: neprázdné pole kritérií",
                "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": [
            "Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku."
          ],
          "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": "Rozhodovací model od TypeSafe: nepíše text, ale odpovídá na typované otázky o textu nebo JSON — volba možnosti, hodnocení na škále nebo „ano/ne“ s pravděpodobnostmi. Hodí se pro směrování, třídění požadavků, moderování a skórování; všechny otázky jednoho požadavku se vyhodnocují paralelně."
  },
  "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": "Rozhodovací model od TypeSafe: nepíše text, ale odpovídá na typované otázky o textu nebo JSON — volba možnosti, hodnocení na škále nebo „ano/ne“ s pravděpodobnostmi. Hodí se pro směrování, třídění požadavků, moderování a skórování; všechny otázky jednoho požadavku se vyhodnocují paralelně.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "60cc284f25b3bc3018360611da2068c9d17aeeda4042ad08f6ae6cd69a0eeb82",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "d41e8336f07d6a7221d2b72962a9b553a4ac23e4ede01c962136dd902432d516"
}
