{
  "aboutHtml": "<p>Jev ialah model utama TypeSafe dan model pertama dalam kelas baharu <strong>System One</strong>. Ia tidak menulis teks, sebaliknya membuat keputusan pantas yang boleh terus digunakan oleh program: anda menghantar <strong>keadaan</strong> (<code>state</code>) — teks atau JSON — dan satu set <strong>soalan</strong>, lalu menerima nilai berjenis berserta kebarangkalian yang ditentukur.</p><p>Model bahasa menulis perkataan untuk manusia, manakala menurut TypeSafe, Jev lebih hampir kepada kod: jawapan terus dalam bentuk yang diperlukan oleh kod, kelajuan tinggi dan tiada nilai di luar pilihan yang ditetapkan. Model direka untuk memberikan jawapan yang stabil apabila permintaan diulang.</p><h4>Perbezaan System One dengan model bahasa</h4><ul><li><strong>Tidak menjana.</strong> Jev tidak menulis jawapan kepada pengguna, tidak menulis kod dan tidak menerangkan proses penaakulan. Anda menetapkan jawapan yang mungkin melalui satu daripada tiga jenis soalan.</li><li><strong>Dilatih untuk keputusan yang ditentukur.</strong> TypeSafe melatih model menggunakan RLCD (Reinforcement Learning for Calibrated Decisions): kebarangkalian diselaraskan dengan hasil sebenar dan mencerminkan ketidakpastian. Daripada banyak jawapan dengan kebarangkalian 0,8, kira-kira 80% sepatutnya betul. Penentukuran ialah sifat sampel yang besar, bukan jaminan bahawa setiap jawapan itu betul.</li><li><strong>Matlamat latihan yang berbeza.</strong> Model sembang dilatih untuk disukai manusia (RLHF), dan menurut pemerhatian TypeSafe, ini menggalakkan sikap mengampu serta kesilapan yang kedengaran yakin. Seorang pengarang bersama RLHF, Diogo Almeida, ialah pengasas bersama TypeSafe.</li></ul><p>Nama ini merujuk kepada “Sistem 1” dalam buku Daniel Kahneman “Thinking, Fast and Slow”: pertimbangan intuitif yang pantas berbanding pemikiran perlahan dan teliti “Sistem 2”. Jev direka untuk pertimbangan khusus yang pantas.</p><h4>Tiga jenis soalan</h4><p>Satu soalan ialah satu pertimbangan tentang keadaan; jawapannya ialah nilai yang dibandingkan oleh kod dengan ambang, diisih atau dihantar seterusnya.</p><ol><li><strong>Choice — pemilihan pilihan.</strong> Jabatan untuk pertanyaan, kategori produk, bahasa sesuatu petikan kod. Pilihan berupa kamus “pilihan → penerangan”, sehingga 255 pilihan. Jawapan mengandungi <code>choice</code> yang dipilih, <code>probabilities</code> bagi semua pilihan (jumlahnya 1) dan keyakinan <code>confidence</code>. Jika senarai mungkin tidak merangkumi semua kes, tambahkan “lain-lain” atau “tiada yang disenaraikan”.</li><li><strong>Score — penilaian pada skala.</strong> Kedudukan pada skala tersusun yang anda terangkan: keterukan ralat, kejengkelan pelanggan, tahap kemahiran. Daripada 2 hingga 10 tahap, daripada terendah kepada tertinggi; model menilai setiap tahap secara berasingan tanpa melihat nombornya atau tahap bersebelahan. Jawapan mengandungi <code>score</code> (jumlah nombor tahap yang didarab dengan kebarangkalian masing-masing, maka nilainya boleh berada antara tahap), <code>legend</code> dengan penerangan tahap, <code>probabilities</code> dan <code>confidence</code>.</li><li><strong>Noul — ya atau tidak.</strong> Sama ada sesuatu pernyataan benar. Jawapan <code>noul</code> ialah kebarangkalian “ya” daripada 0 hingga 1: hampir 1 bermakna “ya” dengan yakin, hampir 0 bermakna “tidak” dengan yakin, hampir 0,5 bermakna model tidak pasti. Tiada <code>confidence</code> berasingan: satu nombor menerangkan jawapan sepenuhnya. <code>criteria</code> pilihan memperincikan perkara yang dikira sebagai “ya” dan “tidak”.</li></ol><p>Cara memilih: pilihan yang diketahui tanpa susunan — choice; tahap dalam spektrum — score; “ya/tidak” tulen dengan kebarangkalian itu sendiri penting — noul. Noul 0,5 bermaksud peluang “ya” dan “tidak” yang sama, bukannya “tahap sederhana”: darjah diukur oleh score. Jika dua jenis sesuai, pilih jenis yang membolehkan kod bertindak terus: choice untuk cabang, score untuk ambang, noul untuk <code>if</code>.</p><p>Jenis boleh dicampurkan dalam satu permintaan. Jawapan sentiasa terhad kepada pilihan anda dan tidak bergantung pada soalan lain: soalan boleh ditambah atau dibuang tanpa mengubah jawapan yang lain.</p><h4>Keadaan</h4><p>Keadaan ialah perkara yang dinilai oleh model: mesej pelanggan, petikan dokumen, rekod pangkalan data atau keadaan aplikasi anda.</p><ul><li><strong>Rentetan</strong> — untuk satu teks: mesej, artikel, petikan.</li><li><strong>Objek</strong> — medan bernama, rekod berkaitan, keadaan aplikasi. TypeSafe menyarankan objek untuk kebanyakan permintaan: setiap bahagian mempunyai nama yang jelas.</li><li><strong>Tatasusunan</strong> — urutan mesej atau rekod.</li></ul><p>Sediakannya seperti bahan untuk pakar: letakkan perbualan, pesanan dan peraturan pemulangan bersama-sama jika keputusan memerlukan perbandingannya. Letakkan kandungan dalam keadaan dan pertimbangan dalam soalan. Jika soalan menyentuh satu bahagian keadaan, nyatakan laluannya dalam soalan dengan tanda backtick, contohnya <code>ticket.messages[0].text</code>.</p><h4>Cara mengemukakan soalan</h4><ul><li><strong>Satu pertimbangan pantas bagi setiap soalan.</strong> Soalan yang baik boleh dijawab dalam satu saat oleh orang yang berpengetahuan dengan konteks yang diperlukan: “Adakah mesej ini menunjukkan kesegeraan?”. “Analisis mesej dan tentukan tindakan” memerlukan penaakulan perlahan dan perlu dipecahkan kepada soalan mudah.</li><li><strong>Soalan penuh dalam <code>instructions</code>.</strong> Kunci soalan, contohnya <code>refund_requested</code>, hanya diperlukan oleh kod anda dan tidak dihantar kepada model.</li><li><strong>Semua soalan tentang keadaan yang sama dalam satu permintaan.</strong> Model menilainya secara selari: menurut TypeSafe, soalan tambahan hampir tidak memanjangkan masa jawapan dan hanya mengenakan kos tokennya sendiri. Soalan “untuk berjaga-jaga” hampir percuma — kod sendiri menentukan jawapan yang diperlukan.</li><li><strong>Pertimbangan rumit dipecahkan kepada bahagian.</strong> Daripada “nilai permohonan syarikat pemula”, tanya secara berasingan tentang saiz pasaran, kebolehlaksanaan teknikal dan perbezaan daripada pesaing, kemudian hitung keputusan dalam kod dengan pemberat. Jika keutamaan berubah, ubah pemberat tanpa menulis semula soalan.</li><li><strong>Soalan bergantung dalam permintaan kedua.</strong> Jawapan dalam satu permintaan tidak menjadi konteks sesama sendiri. Permintaan kedua hanya diperlukan jika ia tidak dapat dibentuk tanpa jawapan pertama: data perlu dimuatkan atau pilihan soalan seterusnya perlu ditentukan.</li><li><strong>Soalan panjang sebagai objek.</strong> <code>instructions</code> dan <code>criteria</code> biasanya rentetan, tetapi boleh berupa objek atau tatasusunan: soalan dalam satu medan, data dalam medan lain. Ini memudahkan semakan resume dengan rekod pangkalan data menggunakan satu soalan.</li></ul><h4>Keyakinan</h4><p>Bagi choice dan score, <code>confidence</code> daripada 0 hingga 1 menunjukkan sejauh mana kebarangkalian tertumpu pada satu jawapan: 1 bermakna semuanya pada satu pilihan, 0 bermakna dibahagi sama rata antara semua pilihan. Bagi score, tahap bersebelahan mengurangkan keyakinan kurang daripada tahap yang jauh. Bagi noul, keyakinan ditunjukkan oleh nilainya sendiri: semakin jauh daripada 0,5, semakin tegas jawapannya.</p><p>TypeSafe menyarankan tiga julat:</p><ol><li><strong>Keyakinan tinggi</strong> — bertindak secara automatik.</li><li><strong>Sederhana</strong> — bertindak dengan berhati-hati, contohnya meminta pengesahan pengguna.</li><li><strong>Rendah</strong> — serahkan kes kepada manusia, perjelas permintaan atau gunakan laluan sandaran, contohnya model penaakulan yang lebih berkuasa.</li></ol><p>Semakin tinggi kos kesilapan, semakin ketat ambangnya: tindakan yang tidak boleh dipulihkan memerlukan ambang lebih tinggi daripada pembacaan. Jawapan memberitahu pilihan, manakala keyakinan memberitahu sama ada wajar bertindak. Tentukan ambang menggunakan data anda sendiri dengan membandingkan keyakinan dan ketepatan.</p><h4>Membina sistem berasaskan Jev</h4><p>Jev direka untuk program yang prosesnya dikawal oleh kod dan modelnya menjawab soalan makna yang khusus, bukannya ejen yang memilih sendiri langkah seterusnya dan boleh tersasar pada setiap kitaran. Lapan langkah reka bentuk menurut TypeSafe:</p><ol><li>Lakukan segala yang boleh dilakukan oleh kod dengan kod — boleh diharap dan murah.</li><li>Masukkan hanya perkara yang diperlukan oleh soalan semasa ke dalam keadaan; fakta terkini perlu datang daripada pangkalan pengetahuan sendiri, bukan ingatan model.</li><li>Struktur dalam keadaan: JSON bersarang, dengan laluan ke medan yang diperlukan dalam tanda backtick dalam soalan jika ini mengurangkan kekaburan.</li><li>Soalan yang paling khusus dan jelas — menurut TypeSafe, ini mungkin peraturan terpenting: soalan luas menyembunyikan beberapa pertimbangan di sebalik satu jawapan.</li><li>Struktur dalam soalan: soalan itu sendiri ringkas; penjelasan, contoh dan nilai daripada pangkalan data anda berada dalam medan bersebelahan pada objek <code>instructions</code> atau <code>criteria</code>, bukannya satu rentetan panjang.</li><li>Banyak soalan bebas tentang keadaan yang sama dalam satu permintaan — lebih banyak manfaat bagi setiap dolar.</li><li>Kod menggabungkan jawapan: melalui peraturan, jumlah berpemberat atau sebagai ciri untuk model pembelajaran mesin klasik.</li><li>Percabangan berdasarkan keyakinan: kes yang tidak pasti diserahkan kepada manusia atau model penaakulan.</li></ol><p>Jev bukan sembang atau model pelengkapan kod, dan tidak boleh menggantikan model bahasa dalam ejen pengaturcaraan. Namun, ejen boleh menulis kod untuk anda yang memanggil Jev apabila jawapan yang pantas dan ditentukur diperlukan.</p><h4>Kegunaan</h4><ul><li><strong>Automasi latar belakang</strong> — keputusan yang dijalankan sejuta kali tanpa manusia di sisi.</li><li><strong>Masa nyata</strong> — menurut TypeSafe, kebanyakan permintaan dilaksanakan dalam kira-kira 100 ms: mencukupi untuk pemprosesan serta-merta dan antara muka.</li><li><strong>Data besar</strong> — carian dalam korpus besar, pelabelan log operasi ejen, ciri untuk ramalan.</li><li><strong>Semakan model lain</strong> — permintaan, pengekstrakan, penaakulan, panggilan alat: pemintasan had, kesilapan petikan, rekaan fakta.</li><li><strong>Carian dan pemeringkatan</strong> — kerelevanan pasangan “pertanyaan — calon”, pemeringkatan semula, pemilihan konteks.</li><li><strong>Percabangan mengikut niat</strong> — kehendak pengguna dan pengendali yang diperlukan: logik mudah, model khusus atau manusia; topik, kerumitan dan risiko menentukan model bahasa yang menerima permintaan.</li><li><strong>Semakan perlindungan</strong> — input, output dan panggilan alat model bahasa: suntikan arahan, pelanggaran peraturan, kebocoran data peribadi.</li><li><strong>Sokongan</strong> — topik dan niat pertanyaan, kesegeraan, kejengkelan, risiko pelanggan berhenti, permintaan bayaran balik, barisan giliran.</li><li><strong>Moderasi</strong> — mengikut peraturan platform anda: ketoksikan, buli, spam, penipuan, nasihat berbahaya, data peribadi; mengikut keterukan dan keyakinan — benarkan, beri amaran, semak atau sekat.</li><li><strong>Industri</strong> — tuntutan insurans, penyiasatan kewangan dan KYC, kontrak dan pengiklanan, kad produk, pengambilan pekerja, prospek, permainan, risiko, ramalan permintaan, graf pengetahuan, tinjauan saintifik, semakan makna kod dalam CI.</li></ul><h4>Ciri-ciri</h4><ul><li><strong><code>jev-latest</code></strong> — alias versi stabil terkini, kini Jev 1.13; versi yang menjawab berada dalam medan <code>model</code>, contohnya <code>jev-1.13.0</code>. Apabila versi baharu muncul, alias beralih kepadanya dan jawapan boleh berubah tanpa perubahan daripada pihak anda — pantau medan ini jika ambang disesuaikan dengan versi tertentu.</li><li><strong>Konteks</strong> — 64K token bagi setiap permintaan: keadaan dan semua soalan bersama-sama; keadaan dengan soalan terpanjang sehingga 32K. Model membaca keadaan sekali dan menilai semua soalan terhadapnya secara selari.</li><li><strong>Input</strong> — teks sahaja: rentetan, objek JSON atau tatasusunan teks. Imej, audio dan video belum disokong — tukarkannya kepada teks terlebih dahulu.</li><li><strong>Bahasa</strong> — bahasa latihan utama ialah bahasa Inggeris dan ketepatannya kini paling tinggi dalam bahasa tersebut. Model menerima bahasa lain, termasuk bahasa Cina, Jepun dan Korea, tetapi ketepatannya lebih rendah — uji menggunakan data anda sendiri.</li><li><strong>Harga dan pengebilan dalam Ailoot API</strong> — syarat bergantung pada kaedah yang dipilih dan dinyatakan pada kad kaedah tersebut.</li><li><strong>Penyesuaian</strong> — Jev tidak dilatih lanjut menggunakan data pelanggan: bahan anda diletakkan dalam <code>state</code>, peraturan bidang dalam <code>instructions</code> dan <code>criteria</code>.</li><li><strong>Data</strong> — TypeSafe menyatakan bahawa Jev tidak dilatih menggunakan permintaan dan jawapan pelanggan.</li></ul><h4>Kelemahan diketahui Jev 1.13</h4><p>TypeSafe menyenaraikan kelemahan versi semasa secara terbuka dan berjanji untuk membaiki banyak daripadanya dalam versi akan datang. Model ini pantas, ditentukur dan membuat pertimbangan akal sihat dengan baik, tetapi:</p><ol><li><strong>Membaca secara literal.</strong> Menjawab soalan yang ditulis, bukan yang tersirat: syarat tambahan, penafian dan syarat tidak nyata difahami secara harfiah. Tulis syarat tepat dan kes sempadan dalam <code>criteria</code>; pecahkan tafsiran yang tidak dapat dielakkan kepada dua soalan literal.</li><li><strong>Bukan kalkulator.</strong> Pengiraan aksara, pengulangan dan unsur senarai tidak boleh diharap, dan ralat bertambah mengikut saiz — kira dalam kod, dengan satu soalan bagi setiap calon. Model memahami warna dalam hex atau RGB dengan kurang baik berbanding nama warna. <code>score</code> sesuai untuk ambang, tetapi bukan untuk nombor tepat antara tahap.</li><li><strong>Tarikh dan masa.</strong> Menentukan tarikh yang lebih awal, tempoh antara tarikh atau sama ada tarikh berada dalam suatu tempoh tidak boleh diharap, khususnya apabila format bercampur dan tarikh relatif digunakan. Ekstrak bahagian tarikh melalui choice (dengan pilihan “tidak dinyatakan”), kemudian bandingkan dalam kod.</li><li><strong>Soalan tidak langsung.</strong> Penafian berganda dan soalan tentang sifat sesuatu sifat mengurangkan ketepatan. Tulis secara langsung dan namakan bahagian keadaan.</li><li><strong>Kandungan berlebihan dalam keadaan.</strong> Teks yang tidak berkaitan mengurangkan ketepatan. Tapis dalam kod; jika tidak boleh, singkirkan yang tidak relevan dengan soalan noul.</li><li><strong>Teks berniat jahat.</strong> Secara lalai, model tidak menjangka muslihat dalam keadaan: suntikan arahan atau teks yang mempertikaikan pengelasannya sendiri boleh mengubah jawapan. Tulis kriteria tepat dan uji kes sempadan sebelum pelancaran.</li><li><strong>Percanggahan.</strong> Jika <code>instructions</code> dan <code>criteria</code> meminta perkara berbeza — contohnya bagi noul, “ya” diterangkan sebagai “tidak” — ketepatan menurun. Kriteria ialah sambungan kepada soalan.</li><li><strong>Susunan pilihan.</strong> Kadangkala model cenderung kepada pilihan pertama dalam choice. Susun semula pilihan dan pastikan jawapan tidak berubah.</li><li><strong>Penjanaan.</strong> Jev tidak dilatih untuk menulis teks. Untuk pengekstrakan data, cari calon menggunakan ungkapan nalar atau model generatif, kemudian biarkan Jev memilih yang betul melalui choice.</li></ol>",
  "aboutText": "Jev ialah model utama TypeSafe dan model pertama dalam kelas baharu **System One**. Ia tidak menulis teks, sebaliknya membuat keputusan pantas yang boleh terus digunakan oleh program: anda menghantar **keadaan** (`state`) — teks atau JSON — dan satu set **soalan**, lalu menerima nilai berjenis berserta kebarangkalian yang ditentukur.\n\nModel bahasa menulis perkataan untuk manusia, manakala menurut TypeSafe, Jev lebih hampir kepada kod: jawapan terus dalam bentuk yang diperlukan oleh kod, kelajuan tinggi dan tiada nilai di luar pilihan yang ditetapkan. Model direka untuk memberikan jawapan yang stabil apabila permintaan diulang.\n\n### Perbezaan System One dengan model bahasa\n\n- **Tidak menjana.** Jev tidak menulis jawapan kepada pengguna, tidak menulis kod dan tidak menerangkan proses penaakulan. Anda menetapkan jawapan yang mungkin melalui satu daripada tiga jenis soalan.\n- **Dilatih untuk keputusan yang ditentukur.** TypeSafe melatih model menggunakan RLCD (Reinforcement Learning for Calibrated Decisions): kebarangkalian diselaraskan dengan hasil sebenar dan mencerminkan ketidakpastian. Daripada banyak jawapan dengan kebarangkalian 0,8, kira-kira 80% sepatutnya betul. Penentukuran ialah sifat sampel yang besar, bukan jaminan bahawa setiap jawapan itu betul.\n- **Matlamat latihan yang berbeza.** Model sembang dilatih untuk disukai manusia (RLHF), dan menurut pemerhatian TypeSafe, ini menggalakkan sikap mengampu serta kesilapan yang kedengaran yakin. Seorang pengarang bersama RLHF, Diogo Almeida, ialah pengasas bersama TypeSafe.\n\nNama ini merujuk kepada “Sistem 1” dalam buku Daniel Kahneman “Thinking, Fast and Slow”: pertimbangan intuitif yang pantas berbanding pemikiran perlahan dan teliti “Sistem 2”. Jev direka untuk pertimbangan khusus yang pantas.\n\n### Tiga jenis soalan\n\nSatu soalan ialah satu pertimbangan tentang keadaan; jawapannya ialah nilai yang dibandingkan oleh kod dengan ambang, diisih atau dihantar seterusnya.\n\n1. **Choice — pemilihan pilihan.** Jabatan untuk pertanyaan, kategori produk, bahasa sesuatu petikan kod. Pilihan berupa kamus “pilihan → penerangan”, sehingga 255 pilihan. Jawapan mengandungi `choice` yang dipilih, `probabilities` bagi semua pilihan (jumlahnya 1) dan keyakinan `confidence`. Jika senarai mungkin tidak merangkumi semua kes, tambahkan “lain-lain” atau “tiada yang disenaraikan”.\n2. **Score — penilaian pada skala.** Kedudukan pada skala tersusun yang anda terangkan: keterukan ralat, kejengkelan pelanggan, tahap kemahiran. Daripada 2 hingga 10 tahap, daripada terendah kepada tertinggi; model menilai setiap tahap secara berasingan tanpa melihat nombornya atau tahap bersebelahan. Jawapan mengandungi `score` (jumlah nombor tahap yang didarab dengan kebarangkalian masing-masing, maka nilainya boleh berada antara tahap), `legend` dengan penerangan tahap, `probabilities` dan `confidence`.\n3. **Noul — ya atau tidak.** Sama ada sesuatu pernyataan benar. Jawapan `noul` ialah kebarangkalian “ya” daripada 0 hingga 1: hampir 1 bermakna “ya” dengan yakin, hampir 0 bermakna “tidak” dengan yakin, hampir 0,5 bermakna model tidak pasti. Tiada `confidence` berasingan: satu nombor menerangkan jawapan sepenuhnya. `criteria` pilihan memperincikan perkara yang dikira sebagai “ya” dan “tidak”.\n\nCara memilih: pilihan yang diketahui tanpa susunan — choice; tahap dalam spektrum — score; “ya/tidak” tulen dengan kebarangkalian itu sendiri penting — noul. Noul 0,5 bermaksud peluang “ya” dan “tidak” yang sama, bukannya “tahap sederhana”: darjah diukur oleh score. Jika dua jenis sesuai, pilih jenis yang membolehkan kod bertindak terus: choice untuk cabang, score untuk ambang, noul untuk `if`.\n\nJenis boleh dicampurkan dalam satu permintaan. Jawapan sentiasa terhad kepada pilihan anda dan tidak bergantung pada soalan lain: soalan boleh ditambah atau dibuang tanpa mengubah jawapan yang lain.\n\n### Keadaan\n\nKeadaan ialah perkara yang dinilai oleh model: mesej pelanggan, petikan dokumen, rekod pangkalan data atau keadaan aplikasi anda.\n\n- **Rentetan** — untuk satu teks: mesej, artikel, petikan.\n- **Objek** — medan bernama, rekod berkaitan, keadaan aplikasi. TypeSafe menyarankan objek untuk kebanyakan permintaan: setiap bahagian mempunyai nama yang jelas.\n- **Tatasusunan** — urutan mesej atau rekod.\n\nSediakannya seperti bahan untuk pakar: letakkan perbualan, pesanan dan peraturan pemulangan bersama-sama jika keputusan memerlukan perbandingannya. Letakkan kandungan dalam keadaan dan pertimbangan dalam soalan. Jika soalan menyentuh satu bahagian keadaan, nyatakan laluannya dalam soalan dengan tanda backtick, contohnya `ticket.messages[0].text`.\n\n### Cara mengemukakan soalan\n\n- **Satu pertimbangan pantas bagi setiap soalan.** Soalan yang baik boleh dijawab dalam satu saat oleh orang yang berpengetahuan dengan konteks yang diperlukan: “Adakah mesej ini menunjukkan kesegeraan?”. “Analisis mesej dan tentukan tindakan” memerlukan penaakulan perlahan dan perlu dipecahkan kepada soalan mudah.\n- **Soalan penuh dalam `instructions`.** Kunci soalan, contohnya `refund_requested`, hanya diperlukan oleh kod anda dan tidak dihantar kepada model.\n- **Semua soalan tentang keadaan yang sama dalam satu permintaan.** Model menilainya secara selari: menurut TypeSafe, soalan tambahan hampir tidak memanjangkan masa jawapan dan hanya mengenakan kos tokennya sendiri. Soalan “untuk berjaga-jaga” hampir percuma — kod sendiri menentukan jawapan yang diperlukan.\n- **Pertimbangan rumit dipecahkan kepada bahagian.** Daripada “nilai permohonan syarikat pemula”, tanya secara berasingan tentang saiz pasaran, kebolehlaksanaan teknikal dan perbezaan daripada pesaing, kemudian hitung keputusan dalam kod dengan pemberat. Jika keutamaan berubah, ubah pemberat tanpa menulis semula soalan.\n- **Soalan bergantung dalam permintaan kedua.** Jawapan dalam satu permintaan tidak menjadi konteks sesama sendiri. Permintaan kedua hanya diperlukan jika ia tidak dapat dibentuk tanpa jawapan pertama: data perlu dimuatkan atau pilihan soalan seterusnya perlu ditentukan.\n- **Soalan panjang sebagai objek.** `instructions` dan `criteria` biasanya rentetan, tetapi boleh berupa objek atau tatasusunan: soalan dalam satu medan, data dalam medan lain. Ini memudahkan semakan resume dengan rekod pangkalan data menggunakan satu soalan.\n\n### Keyakinan\n\nBagi choice dan score, `confidence` daripada 0 hingga 1 menunjukkan sejauh mana kebarangkalian tertumpu pada satu jawapan: 1 bermakna semuanya pada satu pilihan, 0 bermakna dibahagi sama rata antara semua pilihan. Bagi score, tahap bersebelahan mengurangkan keyakinan kurang daripada tahap yang jauh. Bagi noul, keyakinan ditunjukkan oleh nilainya sendiri: semakin jauh daripada 0,5, semakin tegas jawapannya.\n\nTypeSafe menyarankan tiga julat:\n\n1. **Keyakinan tinggi** — bertindak secara automatik.\n2. **Sederhana** — bertindak dengan berhati-hati, contohnya meminta pengesahan pengguna.\n3. **Rendah** — serahkan kes kepada manusia, perjelas permintaan atau gunakan laluan sandaran, contohnya model penaakulan yang lebih berkuasa.\n\nSemakin tinggi kos kesilapan, semakin ketat ambangnya: tindakan yang tidak boleh dipulihkan memerlukan ambang lebih tinggi daripada pembacaan. Jawapan memberitahu pilihan, manakala keyakinan memberitahu sama ada wajar bertindak. Tentukan ambang menggunakan data anda sendiri dengan membandingkan keyakinan dan ketepatan.\n\n### Membina sistem berasaskan Jev\n\nJev direka untuk program yang prosesnya dikawal oleh kod dan modelnya menjawab soalan makna yang khusus, bukannya ejen yang memilih sendiri langkah seterusnya dan boleh tersasar pada setiap kitaran. Lapan langkah reka bentuk menurut TypeSafe:\n\n1. Lakukan segala yang boleh dilakukan oleh kod dengan kod — boleh diharap dan murah.\n2. Masukkan hanya perkara yang diperlukan oleh soalan semasa ke dalam keadaan; fakta terkini perlu datang daripada pangkalan pengetahuan sendiri, bukan ingatan model.\n3. Struktur dalam keadaan: JSON bersarang, dengan laluan ke medan yang diperlukan dalam tanda backtick dalam soalan jika ini mengurangkan kekaburan.\n4. Soalan yang paling khusus dan jelas — menurut TypeSafe, ini mungkin peraturan terpenting: soalan luas menyembunyikan beberapa pertimbangan di sebalik satu jawapan.\n5. Struktur dalam soalan: soalan itu sendiri ringkas; penjelasan, contoh dan nilai daripada pangkalan data anda berada dalam medan bersebelahan pada objek `instructions` atau `criteria`, bukannya satu rentetan panjang.\n6. Banyak soalan bebas tentang keadaan yang sama dalam satu permintaan — lebih banyak manfaat bagi setiap dolar.\n7. Kod menggabungkan jawapan: melalui peraturan, jumlah berpemberat atau sebagai ciri untuk model pembelajaran mesin klasik.\n8. Percabangan berdasarkan keyakinan: kes yang tidak pasti diserahkan kepada manusia atau model penaakulan.\n\nJev bukan sembang atau model pelengkapan kod, dan tidak boleh menggantikan model bahasa dalam ejen pengaturcaraan. Namun, ejen boleh menulis kod untuk anda yang memanggil Jev apabila jawapan yang pantas dan ditentukur diperlukan.\n\n### Kegunaan\n\n- **Automasi latar belakang** — keputusan yang dijalankan sejuta kali tanpa manusia di sisi.\n- **Masa nyata** — menurut TypeSafe, kebanyakan permintaan dilaksanakan dalam kira-kira 100 ms: mencukupi untuk pemprosesan serta-merta dan antara muka.\n- **Data besar** — carian dalam korpus besar, pelabelan log operasi ejen, ciri untuk ramalan.\n- **Semakan model lain** — permintaan, pengekstrakan, penaakulan, panggilan alat: pemintasan had, kesilapan petikan, rekaan fakta.\n- **Carian dan pemeringkatan** — kerelevanan pasangan “pertanyaan — calon”, pemeringkatan semula, pemilihan konteks.\n- **Percabangan mengikut niat** — kehendak pengguna dan pengendali yang diperlukan: logik mudah, model khusus atau manusia; topik, kerumitan dan risiko menentukan model bahasa yang menerima permintaan.\n- **Semakan perlindungan** — input, output dan panggilan alat model bahasa: suntikan arahan, pelanggaran peraturan, kebocoran data peribadi.\n- **Sokongan** — topik dan niat pertanyaan, kesegeraan, kejengkelan, risiko pelanggan berhenti, permintaan bayaran balik, barisan giliran.\n- **Moderasi** — mengikut peraturan platform anda: ketoksikan, buli, spam, penipuan, nasihat berbahaya, data peribadi; mengikut keterukan dan keyakinan — benarkan, beri amaran, semak atau sekat.\n- **Industri** — tuntutan insurans, penyiasatan kewangan dan KYC, kontrak dan pengiklanan, kad produk, pengambilan pekerja, prospek, permainan, risiko, ramalan permintaan, graf pengetahuan, tinjauan saintifik, semakan makna kod dalam CI.\n\n### Ciri-ciri\n\n- **`jev-latest`** — alias versi stabil terkini, kini Jev 1.13; versi yang menjawab berada dalam medan `model`, contohnya `jev-1.13.0`. Apabila versi baharu muncul, alias beralih kepadanya dan jawapan boleh berubah tanpa perubahan daripada pihak anda — pantau medan ini jika ambang disesuaikan dengan versi tertentu.\n- **Konteks** — 64K token bagi setiap permintaan: keadaan dan semua soalan bersama-sama; keadaan dengan soalan terpanjang sehingga 32K. Model membaca keadaan sekali dan menilai semua soalan terhadapnya secara selari.\n- **Input** — teks sahaja: rentetan, objek JSON atau tatasusunan teks. Imej, audio dan video belum disokong — tukarkannya kepada teks terlebih dahulu.\n- **Bahasa** — bahasa latihan utama ialah bahasa Inggeris dan ketepatannya kini paling tinggi dalam bahasa tersebut. Model menerima bahasa lain, termasuk bahasa Cina, Jepun dan Korea, tetapi ketepatannya lebih rendah — uji menggunakan data anda sendiri.\n- **Harga dan pengebilan dalam Ailoot API** — syarat bergantung pada kaedah yang dipilih dan dinyatakan pada kad kaedah tersebut.\n- **Penyesuaian** — Jev tidak dilatih lanjut menggunakan data pelanggan: bahan anda diletakkan dalam `state`, peraturan bidang dalam `instructions` dan `criteria`.\n- **Data** — TypeSafe menyatakan bahawa Jev tidak dilatih menggunakan permintaan dan jawapan pelanggan.\n\n### Kelemahan diketahui Jev 1.13\n\nTypeSafe menyenaraikan kelemahan versi semasa secara terbuka dan berjanji untuk membaiki banyak daripadanya dalam versi akan datang. Model ini pantas, ditentukur dan membuat pertimbangan akal sihat dengan baik, tetapi:\n\n1. **Membaca secara literal.** Menjawab soalan yang ditulis, bukan yang tersirat: syarat tambahan, penafian dan syarat tidak nyata difahami secara harfiah. Tulis syarat tepat dan kes sempadan dalam `criteria`; pecahkan tafsiran yang tidak dapat dielakkan kepada dua soalan literal.\n2. **Bukan kalkulator.** Pengiraan aksara, pengulangan dan unsur senarai tidak boleh diharap, dan ralat bertambah mengikut saiz — kira dalam kod, dengan satu soalan bagi setiap calon. Model memahami warna dalam hex atau RGB dengan kurang baik berbanding nama warna. `score` sesuai untuk ambang, tetapi bukan untuk nombor tepat antara tahap.\n3. **Tarikh dan masa.** Menentukan tarikh yang lebih awal, tempoh antara tarikh atau sama ada tarikh berada dalam suatu tempoh tidak boleh diharap, khususnya apabila format bercampur dan tarikh relatif digunakan. Ekstrak bahagian tarikh melalui choice (dengan pilihan “tidak dinyatakan”), kemudian bandingkan dalam kod.\n4. **Soalan tidak langsung.** Penafian berganda dan soalan tentang sifat sesuatu sifat mengurangkan ketepatan. Tulis secara langsung dan namakan bahagian keadaan.\n5. **Kandungan berlebihan dalam keadaan.** Teks yang tidak berkaitan mengurangkan ketepatan. Tapis dalam kod; jika tidak boleh, singkirkan yang tidak relevan dengan soalan noul.\n6. **Teks berniat jahat.** Secara lalai, model tidak menjangka muslihat dalam keadaan: suntikan arahan atau teks yang mempertikaikan pengelasannya sendiri boleh mengubah jawapan. Tulis kriteria tepat dan uji kes sempadan sebelum pelancaran.\n7. **Percanggahan.** Jika `instructions` dan `criteria` meminta perkara berbeza — contohnya bagi noul, “ya” diterangkan sebagai “tidak” — ketepatan menurun. Kriteria ialah sambungan kepada soalan.\n8. **Susunan pilihan.** Kadangkala model cenderung kepada pilihan pertama dalam choice. Susun semula pilihan dan pastikan jawapan tidak berubah.\n9. **Penjanaan.** Jev tidak dilatih untuk menulis teks. Untuk pengekstrakan data, cari calon menggunakan ungkapan nalar atau model generatif, kemudian biarkan Jev memilih yang betul melalui choice.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0e697c319e5fce4e7c2dae5b730e1c932aa91fa072437360cfd39b8f92354309",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ms",
  "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=\"Tutup\">×</button></div><div class=\"idline\"><span>TypeSafe /</span><code>jev-latest</code><button type=\"button\" id=\"copy-id\">Salin ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Bahagian kad model\"><button type=\"button\" data-card-jump=\"overview\">Pengenalan</button><button type=\"button\" data-card-jump=\"methods\">Input &amp; kaedah</button><button type=\"button\" data-card-jump=\"pricing\">Pelan harga</button><button type=\"button\" data-card-jump=\"examples\">Contoh</button><button type=\"button\" data-card-jump=\"results\">Hasil</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Kaedah 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\">Pengenalan</h3><p class=\"mdesc-full\">Model keputusan TypeSafe: ia tidak menulis teks, sebaliknya menjawab soalan berjenis tentang teks atau JSON — pemilihan pilihan, penilaian pada skala atau “ya/tidak” berserta kebarangkalian. Sesuai untuk penghalaan, pengisihan pertanyaan, moderasi dan pemarkahan; semua soalan dalam satu permintaan dinilai secara selari.</p><dl class=\"card-io\" data-card-io><div><dt>Input yang diterima</dt><dd>Teks</dd></div><div><dt>Hasil</dt><dd>structured</dd></div></dl><details class=\"card-about\"><summary>Tentang model</summary><p class=\"note-s\" data-model-method-boundary>Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.</p><div class=\"mabout\" id=\"m-about\"><p>Jev ialah model utama TypeSafe dan model pertama dalam kelas baharu <strong>System One</strong>. Ia tidak menulis teks, sebaliknya membuat keputusan pantas yang boleh terus digunakan oleh program: anda menghantar <strong>keadaan</strong> (<code>state</code>) — teks atau JSON — dan satu set <strong>soalan</strong>, lalu menerima nilai berjenis berserta kebarangkalian yang ditentukur.</p><p>Model bahasa menulis perkataan untuk manusia, manakala menurut TypeSafe, Jev lebih hampir kepada kod: jawapan terus dalam bentuk yang diperlukan oleh kod, kelajuan tinggi dan tiada nilai di luar pilihan yang ditetapkan. Model direka untuk memberikan jawapan yang stabil apabila permintaan diulang.</p><h4>Perbezaan System One dengan model bahasa</h4><ul><li><strong>Tidak menjana.</strong> Jev tidak menulis jawapan kepada pengguna, tidak menulis kod dan tidak menerangkan proses penaakulan. Anda menetapkan jawapan yang mungkin melalui satu daripada tiga jenis soalan.</li><li><strong>Dilatih untuk keputusan yang ditentukur.</strong> TypeSafe melatih model menggunakan RLCD (Reinforcement Learning for Calibrated Decisions): kebarangkalian diselaraskan dengan hasil sebenar dan mencerminkan ketidakpastian. Daripada banyak jawapan dengan kebarangkalian 0,8, kira-kira 80% sepatutnya betul. Penentukuran ialah sifat sampel yang besar, bukan jaminan bahawa setiap jawapan itu betul.</li><li><strong>Matlamat latihan yang berbeza.</strong> Model sembang dilatih untuk disukai manusia (RLHF), dan menurut pemerhatian TypeSafe, ini menggalakkan sikap mengampu serta kesilapan yang kedengaran yakin. Seorang pengarang bersama RLHF, Diogo Almeida, ialah pengasas bersama TypeSafe.</li></ul><p>Nama ini merujuk kepada “Sistem 1” dalam buku Daniel Kahneman “Thinking, Fast and Slow”: pertimbangan intuitif yang pantas berbanding pemikiran perlahan dan teliti “Sistem 2”. Jev direka untuk pertimbangan khusus yang pantas.</p><h4>Tiga jenis soalan</h4><p>Satu soalan ialah satu pertimbangan tentang keadaan; jawapannya ialah nilai yang dibandingkan oleh kod dengan ambang, diisih atau dihantar seterusnya.</p><ol><li><strong>Choice — pemilihan pilihan.</strong> Jabatan untuk pertanyaan, kategori produk, bahasa sesuatu petikan kod. Pilihan berupa kamus “pilihan → penerangan”, sehingga 255 pilihan. Jawapan mengandungi <code>choice</code> yang dipilih, <code>probabilities</code> bagi semua pilihan (jumlahnya 1) dan keyakinan <code>confidence</code>. Jika senarai mungkin tidak merangkumi semua kes, tambahkan “lain-lain” atau “tiada yang disenaraikan”.</li><li><strong>Score — penilaian pada skala.</strong> Kedudukan pada skala tersusun yang anda terangkan: keterukan ralat, kejengkelan pelanggan, tahap kemahiran. Daripada 2 hingga 10 tahap, daripada terendah kepada tertinggi; model menilai setiap tahap secara berasingan tanpa melihat nombornya atau tahap bersebelahan. Jawapan mengandungi <code>score</code> (jumlah nombor tahap yang didarab dengan kebarangkalian masing-masing, maka nilainya boleh berada antara tahap), <code>legend</code> dengan penerangan tahap, <code>probabilities</code> dan <code>confidence</code>.</li><li><strong>Noul — ya atau tidak.</strong> Sama ada sesuatu pernyataan benar. Jawapan <code>noul</code> ialah kebarangkalian “ya” daripada 0 hingga 1: hampir 1 bermakna “ya” dengan yakin, hampir 0 bermakna “tidak” dengan yakin, hampir 0,5 bermakna model tidak pasti. Tiada <code>confidence</code> berasingan: satu nombor menerangkan jawapan sepenuhnya. <code>criteria</code> pilihan memperincikan perkara yang dikira sebagai “ya” dan “tidak”.</li></ol><p>Cara memilih: pilihan yang diketahui tanpa susunan — choice; tahap dalam spektrum — score; “ya/tidak” tulen dengan kebarangkalian itu sendiri penting — noul. Noul 0,5 bermaksud peluang “ya” dan “tidak” yang sama, bukannya “tahap sederhana”: darjah diukur oleh score. Jika dua jenis sesuai, pilih jenis yang membolehkan kod bertindak terus: choice untuk cabang, score untuk ambang, noul untuk <code>if</code>.</p><p>Jenis boleh dicampurkan dalam satu permintaan. Jawapan sentiasa terhad kepada pilihan anda dan tidak bergantung pada soalan lain: soalan boleh ditambah atau dibuang tanpa mengubah jawapan yang lain.</p><h4>Keadaan</h4><p>Keadaan ialah perkara yang dinilai oleh model: mesej pelanggan, petikan dokumen, rekod pangkalan data atau keadaan aplikasi anda.</p><ul><li><strong>Rentetan</strong> — untuk satu teks: mesej, artikel, petikan.</li><li><strong>Objek</strong> — medan bernama, rekod berkaitan, keadaan aplikasi. TypeSafe menyarankan objek untuk kebanyakan permintaan: setiap bahagian mempunyai nama yang jelas.</li><li><strong>Tatasusunan</strong> — urutan mesej atau rekod.</li></ul><p>Sediakannya seperti bahan untuk pakar: letakkan perbualan, pesanan dan peraturan pemulangan bersama-sama jika keputusan memerlukan perbandingannya. Letakkan kandungan dalam keadaan dan pertimbangan dalam soalan. Jika soalan menyentuh satu bahagian keadaan, nyatakan laluannya dalam soalan dengan tanda backtick, contohnya <code>ticket.messages[0].text</code>.</p><h4>Cara mengemukakan soalan</h4><ul><li><strong>Satu pertimbangan pantas bagi setiap soalan.</strong> Soalan yang baik boleh dijawab dalam satu saat oleh orang yang berpengetahuan dengan konteks yang diperlukan: “Adakah mesej ini menunjukkan kesegeraan?”. “Analisis mesej dan tentukan tindakan” memerlukan penaakulan perlahan dan perlu dipecahkan kepada soalan mudah.</li><li><strong>Soalan penuh dalam <code>instructions</code>.</strong> Kunci soalan, contohnya <code>refund_requested</code>, hanya diperlukan oleh kod anda dan tidak dihantar kepada model.</li><li><strong>Semua soalan tentang keadaan yang sama dalam satu permintaan.</strong> Model menilainya secara selari: menurut TypeSafe, soalan tambahan hampir tidak memanjangkan masa jawapan dan hanya mengenakan kos tokennya sendiri. Soalan “untuk berjaga-jaga” hampir percuma — kod sendiri menentukan jawapan yang diperlukan.</li><li><strong>Pertimbangan rumit dipecahkan kepada bahagian.</strong> Daripada “nilai permohonan syarikat pemula”, tanya secara berasingan tentang saiz pasaran, kebolehlaksanaan teknikal dan perbezaan daripada pesaing, kemudian hitung keputusan dalam kod dengan pemberat. Jika keutamaan berubah, ubah pemberat tanpa menulis semula soalan.</li><li><strong>Soalan bergantung dalam permintaan kedua.</strong> Jawapan dalam satu permintaan tidak menjadi konteks sesama sendiri. Permintaan kedua hanya diperlukan jika ia tidak dapat dibentuk tanpa jawapan pertama: data perlu dimuatkan atau pilihan soalan seterusnya perlu ditentukan.</li><li><strong>Soalan panjang sebagai objek.</strong> <code>instructions</code> dan <code>criteria</code> biasanya rentetan, tetapi boleh berupa objek atau tatasusunan: soalan dalam satu medan, data dalam medan lain. Ini memudahkan semakan resume dengan rekod pangkalan data menggunakan satu soalan.</li></ul><h4>Keyakinan</h4><p>Bagi choice dan score, <code>confidence</code> daripada 0 hingga 1 menunjukkan sejauh mana kebarangkalian tertumpu pada satu jawapan: 1 bermakna semuanya pada satu pilihan, 0 bermakna dibahagi sama rata antara semua pilihan. Bagi score, tahap bersebelahan mengurangkan keyakinan kurang daripada tahap yang jauh. Bagi noul, keyakinan ditunjukkan oleh nilainya sendiri: semakin jauh daripada 0,5, semakin tegas jawapannya.</p><p>TypeSafe menyarankan tiga julat:</p><ol><li><strong>Keyakinan tinggi</strong> — bertindak secara automatik.</li><li><strong>Sederhana</strong> — bertindak dengan berhati-hati, contohnya meminta pengesahan pengguna.</li><li><strong>Rendah</strong> — serahkan kes kepada manusia, perjelas permintaan atau gunakan laluan sandaran, contohnya model penaakulan yang lebih berkuasa.</li></ol><p>Semakin tinggi kos kesilapan, semakin ketat ambangnya: tindakan yang tidak boleh dipulihkan memerlukan ambang lebih tinggi daripada pembacaan. Jawapan memberitahu pilihan, manakala keyakinan memberitahu sama ada wajar bertindak. Tentukan ambang menggunakan data anda sendiri dengan membandingkan keyakinan dan ketepatan.</p><h4>Membina sistem berasaskan Jev</h4><p>Jev direka untuk program yang prosesnya dikawal oleh kod dan modelnya menjawab soalan makna yang khusus, bukannya ejen yang memilih sendiri langkah seterusnya dan boleh tersasar pada setiap kitaran. Lapan langkah reka bentuk menurut TypeSafe:</p><ol><li>Lakukan segala yang boleh dilakukan oleh kod dengan kod — boleh diharap dan murah.</li><li>Masukkan hanya perkara yang diperlukan oleh soalan semasa ke dalam keadaan; fakta terkini perlu datang daripada pangkalan pengetahuan sendiri, bukan ingatan model.</li><li>Struktur dalam keadaan: JSON bersarang, dengan laluan ke medan yang diperlukan dalam tanda backtick dalam soalan jika ini mengurangkan kekaburan.</li><li>Soalan yang paling khusus dan jelas — menurut TypeSafe, ini mungkin peraturan terpenting: soalan luas menyembunyikan beberapa pertimbangan di sebalik satu jawapan.</li><li>Struktur dalam soalan: soalan itu sendiri ringkas; penjelasan, contoh dan nilai daripada pangkalan data anda berada dalam medan bersebelahan pada objek <code>instructions</code> atau <code>criteria</code>, bukannya satu rentetan panjang.</li><li>Banyak soalan bebas tentang keadaan yang sama dalam satu permintaan — lebih banyak manfaat bagi setiap dolar.</li><li>Kod menggabungkan jawapan: melalui peraturan, jumlah berpemberat atau sebagai ciri untuk model pembelajaran mesin klasik.</li><li>Percabangan berdasarkan keyakinan: kes yang tidak pasti diserahkan kepada manusia atau model penaakulan.</li></ol><p>Jev bukan sembang atau model pelengkapan kod, dan tidak boleh menggantikan model bahasa dalam ejen pengaturcaraan. Namun, ejen boleh menulis kod untuk anda yang memanggil Jev apabila jawapan yang pantas dan ditentukur diperlukan.</p><h4>Kegunaan</h4><ul><li><strong>Automasi latar belakang</strong> — keputusan yang dijalankan sejuta kali tanpa manusia di sisi.</li><li><strong>Masa nyata</strong> — menurut TypeSafe, kebanyakan permintaan dilaksanakan dalam kira-kira 100 ms: mencukupi untuk pemprosesan serta-merta dan antara muka.</li><li><strong>Data besar</strong> — carian dalam korpus besar, pelabelan log operasi ejen, ciri untuk ramalan.</li><li><strong>Semakan model lain</strong> — permintaan, pengekstrakan, penaakulan, panggilan alat: pemintasan had, kesilapan petikan, rekaan fakta.</li><li><strong>Carian dan pemeringkatan</strong> — kerelevanan pasangan “pertanyaan — calon”, pemeringkatan semula, pemilihan konteks.</li><li><strong>Percabangan mengikut niat</strong> — kehendak pengguna dan pengendali yang diperlukan: logik mudah, model khusus atau manusia; topik, kerumitan dan risiko menentukan model bahasa yang menerima permintaan.</li><li><strong>Semakan perlindungan</strong> — input, output dan panggilan alat model bahasa: suntikan arahan, pelanggaran peraturan, kebocoran data peribadi.</li><li><strong>Sokongan</strong> — topik dan niat pertanyaan, kesegeraan, kejengkelan, risiko pelanggan berhenti, permintaan bayaran balik, barisan giliran.</li><li><strong>Moderasi</strong> — mengikut peraturan platform anda: ketoksikan, buli, spam, penipuan, nasihat berbahaya, data peribadi; mengikut keterukan dan keyakinan — benarkan, beri amaran, semak atau sekat.</li><li><strong>Industri</strong> — tuntutan insurans, penyiasatan kewangan dan KYC, kontrak dan pengiklanan, kad produk, pengambilan pekerja, prospek, permainan, risiko, ramalan permintaan, graf pengetahuan, tinjauan saintifik, semakan makna kod dalam CI.</li></ul><h4>Ciri-ciri</h4><ul><li><strong><code>jev-latest</code></strong> — alias versi stabil terkini, kini Jev 1.13; versi yang menjawab berada dalam medan <code>model</code>, contohnya <code>jev-1.13.0</code>. Apabila versi baharu muncul, alias beralih kepadanya dan jawapan boleh berubah tanpa perubahan daripada pihak anda — pantau medan ini jika ambang disesuaikan dengan versi tertentu.</li><li><strong>Konteks</strong> — 64K token bagi setiap permintaan: keadaan dan semua soalan bersama-sama; keadaan dengan soalan terpanjang sehingga 32K. Model membaca keadaan sekali dan menilai semua soalan terhadapnya secara selari.</li><li><strong>Input</strong> — teks sahaja: rentetan, objek JSON atau tatasusunan teks. Imej, audio dan video belum disokong — tukarkannya kepada teks terlebih dahulu.</li><li><strong>Bahasa</strong> — bahasa latihan utama ialah bahasa Inggeris dan ketepatannya kini paling tinggi dalam bahasa tersebut. Model menerima bahasa lain, termasuk bahasa Cina, Jepun dan Korea, tetapi ketepatannya lebih rendah — uji menggunakan data anda sendiri.</li><li><strong>Harga dan pengebilan dalam Ailoot API</strong> — syarat bergantung pada kaedah yang dipilih dan dinyatakan pada kad kaedah tersebut.</li><li><strong>Penyesuaian</strong> — Jev tidak dilatih lanjut menggunakan data pelanggan: bahan anda diletakkan dalam <code>state</code>, peraturan bidang dalam <code>instructions</code> dan <code>criteria</code>.</li><li><strong>Data</strong> — TypeSafe menyatakan bahawa Jev tidak dilatih menggunakan permintaan dan jawapan pelanggan.</li></ul><h4>Kelemahan diketahui Jev 1.13</h4><p>TypeSafe menyenaraikan kelemahan versi semasa secara terbuka dan berjanji untuk membaiki banyak daripadanya dalam versi akan datang. Model ini pantas, ditentukur dan membuat pertimbangan akal sihat dengan baik, tetapi:</p><ol><li><strong>Membaca secara literal.</strong> Menjawab soalan yang ditulis, bukan yang tersirat: syarat tambahan, penafian dan syarat tidak nyata difahami secara harfiah. Tulis syarat tepat dan kes sempadan dalam <code>criteria</code>; pecahkan tafsiran yang tidak dapat dielakkan kepada dua soalan literal.</li><li><strong>Bukan kalkulator.</strong> Pengiraan aksara, pengulangan dan unsur senarai tidak boleh diharap, dan ralat bertambah mengikut saiz — kira dalam kod, dengan satu soalan bagi setiap calon. Model memahami warna dalam hex atau RGB dengan kurang baik berbanding nama warna. <code>score</code> sesuai untuk ambang, tetapi bukan untuk nombor tepat antara tahap.</li><li><strong>Tarikh dan masa.</strong> Menentukan tarikh yang lebih awal, tempoh antara tarikh atau sama ada tarikh berada dalam suatu tempoh tidak boleh diharap, khususnya apabila format bercampur dan tarikh relatif digunakan. Ekstrak bahagian tarikh melalui choice (dengan pilihan “tidak dinyatakan”), kemudian bandingkan dalam kod.</li><li><strong>Soalan tidak langsung.</strong> Penafian berganda dan soalan tentang sifat sesuatu sifat mengurangkan ketepatan. Tulis secara langsung dan namakan bahagian keadaan.</li><li><strong>Kandungan berlebihan dalam keadaan.</strong> Teks yang tidak berkaitan mengurangkan ketepatan. Tapis dalam kod; jika tidak boleh, singkirkan yang tidak relevan dengan soalan noul.</li><li><strong>Teks berniat jahat.</strong> Secara lalai, model tidak menjangka muslihat dalam keadaan: suntikan arahan atau teks yang mempertikaikan pengelasannya sendiri boleh mengubah jawapan. Tulis kriteria tepat dan uji kes sempadan sebelum pelancaran.</li><li><strong>Percanggahan.</strong> Jika <code>instructions</code> dan <code>criteria</code> meminta perkara berbeza — contohnya bagi noul, “ya” diterangkan sebagai “tidak” — ketepatan menurun. Kriteria ialah sambungan kepada soalan.</li><li><strong>Susunan pilihan.</strong> Kadangkala model cenderung kepada pilihan pertama dalam choice. Susun semula pilihan dan pastikan jawapan tidak berubah.</li><li><strong>Penjanaan.</strong> Jev tidak dilatih untuk menulis teks. Untuk pengekstrakan data, cari calon menggunakan ungkapan nalar atau model generatif, kemudian biarkan Jev memilih yang betul melalui choice.</li></ol></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tersedia di Ailoot · input &amp; kaedah</h3><details class=\"card-method\" open><summary><b>Ailoot · System One</b> <code>POST /v1/systemone</code></summary><dl class=\"method-capabilities\"><div><dt>Input</dt><dd><code>text</code></dd></div><div><dt>Output</dt><dd><code>structured</code></dd></div><div><dt>Konteks</dt><dd>64,000 tokens</dd></div><div><dt>Format output</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Medan</th><th>Jenis</th><th>Keperluan</th><th>Nilai &amp; had</th><th>Lalai</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>jev-latest</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string|object|array</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">questions</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>object</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>Medan objek minimum: 1</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>noul, choice, score</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string|object|array|null</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Pilihan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>object|array|null</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Pilihan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>Syarat: noul: huraian true/false pilihan yang boleh bernilai null; choice: objek kriteria; score: tatasusunan kriteria yang tidak kosong</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>boolean|null</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Pilihan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>false, null</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Gabungan bahan input</summary><p class=\"note-s\"><b>noul</b> · Diperlukan: state, questions.&lt;id&gt;.type=noul</p><p class=\"note-s\"><b>choice</b> · Diperlukan: state, questions.&lt;id&gt;.type=choice, criteria object</p><p class=\"note-s\"><b>score</b> · Diperlukan: state, questions.&lt;id&gt;.type=score, nonemptycriteriaarray</p></details><details class=\"note-s\" data-method-contract><summary>Parameter kaedah dan kitar hayat</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrak</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>model, state, questions</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional_controls</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>null</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>application/json</td></tr></tbody></table></div><p>Kitar hayat: <code>exact retained published method</code></p><p class=\"note-s\">Struktur kaedah dan ID adalah tepat; keupayaan pembekal berasingan daripada penerimaan permintaan.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Pelan harga</h3><h4>Kadar kaedah 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>Input</dt><dd>≈USD 0.000084 <em>/ 1K</em></dd></div><div><dt>Output</dt><dd>USD 0.00 <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. <a href=\"/docs/ms/billing/reserve/\">Cara rizab dan penyelesaian caj berfungsi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Contoh permintaan</h3><h4>Ailoot · System One</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kod\"><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\">Contoh pengelasan</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-665-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-665-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;jev-latest&quot;, &quot;state&quot;: &quot;&quot;, &quot;questions&quot;: {&quot;is_urgent&quot;: {&quot;type&quot;: &quot;noul&quot;, &quot;instructions&quot;: &quot;Does the supplied customer message express urgency?&quot;}}}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;state&quot;]=text\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Terima dan simpan hasil</h3><h4>Ailoot · System One</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Simpan semua hasil yang selesai</h5><p class=\"note-s\">Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.</p><p class=\"note-s\">Simpan setiap jawapan mengikut ID soalan yang diberikan, kebarangkalian dan petunjuk; formula keyakinan yang menggunakan n memerlukan n&gt;1 tanpa menetapkan peraturan bilangan pilihan minimum API.</p></div><details class=\"card-about\" data-output-fields><summary>Medan respons</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Medan</th><th>Jenis</th></tr></thead><tbody><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>string</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>number</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>string</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>number</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>number</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>object</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>object</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Ralat dan langkah seterusnya</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respons</th><th>Syarat</th><th>Langkah seterusnya</th></tr></thead><tbody><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Medan wajib, perwakilan bahan atau nilai parameter tidak sah</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Betulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias model</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>Alias laluan kaedah</h4><p class=\"note-s\">Gunakan laluan kaedah yang dipaparkan di atas.</p><h4>ID pemanggil berkaitan</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": "Medan wajib, perwakilan bahan atau nilai parameter tidak sah",
                "http_status": 400,
                "recovery": "Betulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu.",
                "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": "Simpan setiap jawapan mengikut ID soalan yang diberikan, kebarangkalian dan petunjuk; formula keyakinan yang menggunakan n memerlukan n>1 tanpa menetapkan peraturan bilangan pilihan minimum API.",
              "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: huraian true/false pilihan yang boleh bernilai null; choice: objek kriteria; score: tatasusunan kriteria yang tidak kosong",
                "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": [
            "Struktur kaedah dan ID adalah tepat; keupayaan pembekal berasingan daripada penerimaan permintaan."
          ],
          "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": "cbdd6bf75a5cfd51290af197f41f2883a7cc1cadf32f851dc22ed14751cd0745",
    "input_html_sha256": "7dd598bb2e99396542f749ec2ecb558369e0daf36eb82981a42ee9610a38abf5",
    "private_audit_sha256": "7ea91e36c63c40b2fb70324922621fc508cae8dd55eb49517581c008df4382eb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ms/jev-latest/",
    "description": "Model keputusan TypeSafe: ia tidak menulis teks, sebaliknya menjawab soalan berjenis tentang teks atau JSON — pemilihan pilihan, penilaian pada skala atau “ya/tidak” berserta kebarangkalian. Sesuai untuk penghalaan, pengisihan pertanyaan, moderasi dan pemarkahan; semua soalan dalam satu permintaan dinilai secara selari.",
    "locale": "ms",
    "md_url": "https://ailoot.ai/models/ms/jev-latest/index.md",
    "title": "jev-latest — Ailoot",
    "url": "https://ailoot.ai/models/ms/jev-latest/"
  },
  "rawModel": {
    "about": "Jev ialah model utama TypeSafe dan model pertama dalam kelas baharu **System One**. Ia tidak menulis teks, sebaliknya membuat keputusan pantas yang boleh terus digunakan oleh program: anda menghantar **keadaan** (`state`) — teks atau JSON — dan satu set **soalan**, lalu menerima nilai berjenis berserta kebarangkalian yang ditentukur.\n\nModel bahasa menulis perkataan untuk manusia, manakala menurut TypeSafe, Jev lebih hampir kepada kod: jawapan terus dalam bentuk yang diperlukan oleh kod, kelajuan tinggi dan tiada nilai di luar pilihan yang ditetapkan. Model direka untuk memberikan jawapan yang stabil apabila permintaan diulang.\n\n### Perbezaan System One dengan model bahasa\n\n- **Tidak menjana.** Jev tidak menulis jawapan kepada pengguna, tidak menulis kod dan tidak menerangkan proses penaakulan. Anda menetapkan jawapan yang mungkin melalui satu daripada tiga jenis soalan.\n- **Dilatih untuk keputusan yang ditentukur.** TypeSafe melatih model menggunakan RLCD (Reinforcement Learning for Calibrated Decisions): kebarangkalian diselaraskan dengan hasil sebenar dan mencerminkan ketidakpastian. Daripada banyak jawapan dengan kebarangkalian 0,8, kira-kira 80% sepatutnya betul. Penentukuran ialah sifat sampel yang besar, bukan jaminan bahawa setiap jawapan itu betul.\n- **Matlamat latihan yang berbeza.** Model sembang dilatih untuk disukai manusia (RLHF), dan menurut pemerhatian TypeSafe, ini menggalakkan sikap mengampu serta kesilapan yang kedengaran yakin. Seorang pengarang bersama RLHF, Diogo Almeida, ialah pengasas bersama TypeSafe.\n\nNama ini merujuk kepada “Sistem 1” dalam buku Daniel Kahneman “Thinking, Fast and Slow”: pertimbangan intuitif yang pantas berbanding pemikiran perlahan dan teliti “Sistem 2”. Jev direka untuk pertimbangan khusus yang pantas.\n\n### Tiga jenis soalan\n\nSatu soalan ialah satu pertimbangan tentang keadaan; jawapannya ialah nilai yang dibandingkan oleh kod dengan ambang, diisih atau dihantar seterusnya.\n\n1. **Choice — pemilihan pilihan.** Jabatan untuk pertanyaan, kategori produk, bahasa sesuatu petikan kod. Pilihan berupa kamus “pilihan → penerangan”, sehingga 255 pilihan. Jawapan mengandungi `choice` yang dipilih, `probabilities` bagi semua pilihan (jumlahnya 1) dan keyakinan `confidence`. Jika senarai mungkin tidak merangkumi semua kes, tambahkan “lain-lain” atau “tiada yang disenaraikan”.\n2. **Score — penilaian pada skala.** Kedudukan pada skala tersusun yang anda terangkan: keterukan ralat, kejengkelan pelanggan, tahap kemahiran. Daripada 2 hingga 10 tahap, daripada terendah kepada tertinggi; model menilai setiap tahap secara berasingan tanpa melihat nombornya atau tahap bersebelahan. Jawapan mengandungi `score` (jumlah nombor tahap yang didarab dengan kebarangkalian masing-masing, maka nilainya boleh berada antara tahap), `legend` dengan penerangan tahap, `probabilities` dan `confidence`.\n3. **Noul — ya atau tidak.** Sama ada sesuatu pernyataan benar. Jawapan `noul` ialah kebarangkalian “ya” daripada 0 hingga 1: hampir 1 bermakna “ya” dengan yakin, hampir 0 bermakna “tidak” dengan yakin, hampir 0,5 bermakna model tidak pasti. Tiada `confidence` berasingan: satu nombor menerangkan jawapan sepenuhnya. `criteria` pilihan memperincikan perkara yang dikira sebagai “ya” dan “tidak”.\n\nCara memilih: pilihan yang diketahui tanpa susunan — choice; tahap dalam spektrum — score; “ya/tidak” tulen dengan kebarangkalian itu sendiri penting — noul. Noul 0,5 bermaksud peluang “ya” dan “tidak” yang sama, bukannya “tahap sederhana”: darjah diukur oleh score. Jika dua jenis sesuai, pilih jenis yang membolehkan kod bertindak terus: choice untuk cabang, score untuk ambang, noul untuk `if`.\n\nJenis boleh dicampurkan dalam satu permintaan. Jawapan sentiasa terhad kepada pilihan anda dan tidak bergantung pada soalan lain: soalan boleh ditambah atau dibuang tanpa mengubah jawapan yang lain.\n\n### Keadaan\n\nKeadaan ialah perkara yang dinilai oleh model: mesej pelanggan, petikan dokumen, rekod pangkalan data atau keadaan aplikasi anda.\n\n- **Rentetan** — untuk satu teks: mesej, artikel, petikan.\n- **Objek** — medan bernama, rekod berkaitan, keadaan aplikasi. TypeSafe menyarankan objek untuk kebanyakan permintaan: setiap bahagian mempunyai nama yang jelas.\n- **Tatasusunan** — urutan mesej atau rekod.\n\nSediakannya seperti bahan untuk pakar: letakkan perbualan, pesanan dan peraturan pemulangan bersama-sama jika keputusan memerlukan perbandingannya. Letakkan kandungan dalam keadaan dan pertimbangan dalam soalan. Jika soalan menyentuh satu bahagian keadaan, nyatakan laluannya dalam soalan dengan tanda backtick, contohnya `ticket.messages[0].text`.\n\n### Cara mengemukakan soalan\n\n- **Satu pertimbangan pantas bagi setiap soalan.** Soalan yang baik boleh dijawab dalam satu saat oleh orang yang berpengetahuan dengan konteks yang diperlukan: “Adakah mesej ini menunjukkan kesegeraan?”. “Analisis mesej dan tentukan tindakan” memerlukan penaakulan perlahan dan perlu dipecahkan kepada soalan mudah.\n- **Soalan penuh dalam `instructions`.** Kunci soalan, contohnya `refund_requested`, hanya diperlukan oleh kod anda dan tidak dihantar kepada model.\n- **Semua soalan tentang keadaan yang sama dalam satu permintaan.** Model menilainya secara selari: menurut TypeSafe, soalan tambahan hampir tidak memanjangkan masa jawapan dan hanya mengenakan kos tokennya sendiri. Soalan “untuk berjaga-jaga” hampir percuma — kod sendiri menentukan jawapan yang diperlukan.\n- **Pertimbangan rumit dipecahkan kepada bahagian.** Daripada “nilai permohonan syarikat pemula”, tanya secara berasingan tentang saiz pasaran, kebolehlaksanaan teknikal dan perbezaan daripada pesaing, kemudian hitung keputusan dalam kod dengan pemberat. Jika keutamaan berubah, ubah pemberat tanpa menulis semula soalan.\n- **Soalan bergantung dalam permintaan kedua.** Jawapan dalam satu permintaan tidak menjadi konteks sesama sendiri. Permintaan kedua hanya diperlukan jika ia tidak dapat dibentuk tanpa jawapan pertama: data perlu dimuatkan atau pilihan soalan seterusnya perlu ditentukan.\n- **Soalan panjang sebagai objek.** `instructions` dan `criteria` biasanya rentetan, tetapi boleh berupa objek atau tatasusunan: soalan dalam satu medan, data dalam medan lain. Ini memudahkan semakan resume dengan rekod pangkalan data menggunakan satu soalan.\n\n### Keyakinan\n\nBagi choice dan score, `confidence` daripada 0 hingga 1 menunjukkan sejauh mana kebarangkalian tertumpu pada satu jawapan: 1 bermakna semuanya pada satu pilihan, 0 bermakna dibahagi sama rata antara semua pilihan. Bagi score, tahap bersebelahan mengurangkan keyakinan kurang daripada tahap yang jauh. Bagi noul, keyakinan ditunjukkan oleh nilainya sendiri: semakin jauh daripada 0,5, semakin tegas jawapannya.\n\nTypeSafe menyarankan tiga julat:\n\n1. **Keyakinan tinggi** — bertindak secara automatik.\n2. **Sederhana** — bertindak dengan berhati-hati, contohnya meminta pengesahan pengguna.\n3. **Rendah** — serahkan kes kepada manusia, perjelas permintaan atau gunakan laluan sandaran, contohnya model penaakulan yang lebih berkuasa.\n\nSemakin tinggi kos kesilapan, semakin ketat ambangnya: tindakan yang tidak boleh dipulihkan memerlukan ambang lebih tinggi daripada pembacaan. Jawapan memberitahu pilihan, manakala keyakinan memberitahu sama ada wajar bertindak. Tentukan ambang menggunakan data anda sendiri dengan membandingkan keyakinan dan ketepatan.\n\n### Membina sistem berasaskan Jev\n\nJev direka untuk program yang prosesnya dikawal oleh kod dan modelnya menjawab soalan makna yang khusus, bukannya ejen yang memilih sendiri langkah seterusnya dan boleh tersasar pada setiap kitaran. Lapan langkah reka bentuk menurut TypeSafe:\n\n1. Lakukan segala yang boleh dilakukan oleh kod dengan kod — boleh diharap dan murah.\n2. Masukkan hanya perkara yang diperlukan oleh soalan semasa ke dalam keadaan; fakta terkini perlu datang daripada pangkalan pengetahuan sendiri, bukan ingatan model.\n3. Struktur dalam keadaan: JSON bersarang, dengan laluan ke medan yang diperlukan dalam tanda backtick dalam soalan jika ini mengurangkan kekaburan.\n4. Soalan yang paling khusus dan jelas — menurut TypeSafe, ini mungkin peraturan terpenting: soalan luas menyembunyikan beberapa pertimbangan di sebalik satu jawapan.\n5. Struktur dalam soalan: soalan itu sendiri ringkas; penjelasan, contoh dan nilai daripada pangkalan data anda berada dalam medan bersebelahan pada objek `instructions` atau `criteria`, bukannya satu rentetan panjang.\n6. Banyak soalan bebas tentang keadaan yang sama dalam satu permintaan — lebih banyak manfaat bagi setiap dolar.\n7. Kod menggabungkan jawapan: melalui peraturan, jumlah berpemberat atau sebagai ciri untuk model pembelajaran mesin klasik.\n8. Percabangan berdasarkan keyakinan: kes yang tidak pasti diserahkan kepada manusia atau model penaakulan.\n\nJev bukan sembang atau model pelengkapan kod, dan tidak boleh menggantikan model bahasa dalam ejen pengaturcaraan. Namun, ejen boleh menulis kod untuk anda yang memanggil Jev apabila jawapan yang pantas dan ditentukur diperlukan.\n\n### Kegunaan\n\n- **Automasi latar belakang** — keputusan yang dijalankan sejuta kali tanpa manusia di sisi.\n- **Masa nyata** — menurut TypeSafe, kebanyakan permintaan dilaksanakan dalam kira-kira 100 ms: mencukupi untuk pemprosesan serta-merta dan antara muka.\n- **Data besar** — carian dalam korpus besar, pelabelan log operasi ejen, ciri untuk ramalan.\n- **Semakan model lain** — permintaan, pengekstrakan, penaakulan, panggilan alat: pemintasan had, kesilapan petikan, rekaan fakta.\n- **Carian dan pemeringkatan** — kerelevanan pasangan “pertanyaan — calon”, pemeringkatan semula, pemilihan konteks.\n- **Percabangan mengikut niat** — kehendak pengguna dan pengendali yang diperlukan: logik mudah, model khusus atau manusia; topik, kerumitan dan risiko menentukan model bahasa yang menerima permintaan.\n- **Semakan perlindungan** — input, output dan panggilan alat model bahasa: suntikan arahan, pelanggaran peraturan, kebocoran data peribadi.\n- **Sokongan** — topik dan niat pertanyaan, kesegeraan, kejengkelan, risiko pelanggan berhenti, permintaan bayaran balik, barisan giliran.\n- **Moderasi** — mengikut peraturan platform anda: ketoksikan, buli, spam, penipuan, nasihat berbahaya, data peribadi; mengikut keterukan dan keyakinan — benarkan, beri amaran, semak atau sekat.\n- **Industri** — tuntutan insurans, penyiasatan kewangan dan KYC, kontrak dan pengiklanan, kad produk, pengambilan pekerja, prospek, permainan, risiko, ramalan permintaan, graf pengetahuan, tinjauan saintifik, semakan makna kod dalam CI.\n\n### Ciri-ciri\n\n- **`jev-latest`** — alias versi stabil terkini, kini Jev 1.13; versi yang menjawab berada dalam medan `model`, contohnya `jev-1.13.0`. Apabila versi baharu muncul, alias beralih kepadanya dan jawapan boleh berubah tanpa perubahan daripada pihak anda — pantau medan ini jika ambang disesuaikan dengan versi tertentu.\n- **Konteks** — 64K token bagi setiap permintaan: keadaan dan semua soalan bersama-sama; keadaan dengan soalan terpanjang sehingga 32K. Model membaca keadaan sekali dan menilai semua soalan terhadapnya secara selari.\n- **Input** — teks sahaja: rentetan, objek JSON atau tatasusunan teks. Imej, audio dan video belum disokong — tukarkannya kepada teks terlebih dahulu.\n- **Bahasa** — bahasa latihan utama ialah bahasa Inggeris dan ketepatannya kini paling tinggi dalam bahasa tersebut. Model menerima bahasa lain, termasuk bahasa Cina, Jepun dan Korea, tetapi ketepatannya lebih rendah — uji menggunakan data anda sendiri.\n- **Harga dan pengebilan dalam Ailoot API** — syarat bergantung pada kaedah yang dipilih dan dinyatakan pada kad kaedah tersebut.\n- **Penyesuaian** — Jev tidak dilatih lanjut menggunakan data pelanggan: bahan anda diletakkan dalam `state`, peraturan bidang dalam `instructions` dan `criteria`.\n- **Data** — TypeSafe menyatakan bahawa Jev tidak dilatih menggunakan permintaan dan jawapan pelanggan.\n\n### Kelemahan diketahui Jev 1.13\n\nTypeSafe menyenaraikan kelemahan versi semasa secara terbuka dan berjanji untuk membaiki banyak daripadanya dalam versi akan datang. Model ini pantas, ditentukur dan membuat pertimbangan akal sihat dengan baik, tetapi:\n\n1. **Membaca secara literal.** Menjawab soalan yang ditulis, bukan yang tersirat: syarat tambahan, penafian dan syarat tidak nyata difahami secara harfiah. Tulis syarat tepat dan kes sempadan dalam `criteria`; pecahkan tafsiran yang tidak dapat dielakkan kepada dua soalan literal.\n2. **Bukan kalkulator.** Pengiraan aksara, pengulangan dan unsur senarai tidak boleh diharap, dan ralat bertambah mengikut saiz — kira dalam kod, dengan satu soalan bagi setiap calon. Model memahami warna dalam hex atau RGB dengan kurang baik berbanding nama warna. `score` sesuai untuk ambang, tetapi bukan untuk nombor tepat antara tahap.\n3. **Tarikh dan masa.** Menentukan tarikh yang lebih awal, tempoh antara tarikh atau sama ada tarikh berada dalam suatu tempoh tidak boleh diharap, khususnya apabila format bercampur dan tarikh relatif digunakan. Ekstrak bahagian tarikh melalui choice (dengan pilihan “tidak dinyatakan”), kemudian bandingkan dalam kod.\n4. **Soalan tidak langsung.** Penafian berganda dan soalan tentang sifat sesuatu sifat mengurangkan ketepatan. Tulis secara langsung dan namakan bahagian keadaan.\n5. **Kandungan berlebihan dalam keadaan.** Teks yang tidak berkaitan mengurangkan ketepatan. Tapis dalam kod; jika tidak boleh, singkirkan yang tidak relevan dengan soalan noul.\n6. **Teks berniat jahat.** Secara lalai, model tidak menjangka muslihat dalam keadaan: suntikan arahan atau teks yang mempertikaikan pengelasannya sendiri boleh mengubah jawapan. Tulis kriteria tepat dan uji kes sempadan sebelum pelancaran.\n7. **Percanggahan.** Jika `instructions` dan `criteria` meminta perkara berbeza — contohnya bagi noul, “ya” diterangkan sebagai “tidak” — ketepatan menurun. Kriteria ialah sambungan kepada soalan.\n8. **Susunan pilihan.** Kadangkala model cenderung kepada pilihan pertama dalam choice. Susun semula pilihan dan pastikan jawapan tidak berubah.\n9. **Penjanaan.** Jev tidak dilatih untuk menulis teks. Untuk pengekstrakan data, cari calon menggunakan ungkapan nalar atau model generatif, kemudian biarkan Jev memilih yang betul melalui 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": "Medan wajib, perwakilan bahan atau nilai parameter tidak sah",
                "http_status": 400,
                "recovery": "Betulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu.",
                "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": "Simpan setiap jawapan mengikut ID soalan yang diberikan, kebarangkalian dan petunjuk; formula keyakinan yang menggunakan n memerlukan n>1 tanpa menetapkan peraturan bilangan pilihan minimum API.",
              "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: huraian true/false pilihan yang boleh bernilai null; choice: objek kriteria; score: tatasusunan kriteria yang tidak kosong",
                "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": [
            "Struktur kaedah dan ID adalah tepat; keupayaan pembekal berasingan daripada penerimaan permintaan."
          ],
          "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": "Model keputusan TypeSafe: ia tidak menulis teks, sebaliknya menjawab soalan berjenis tentang teks atau JSON — pemilihan pilihan, penilaian pada skala atau “ya/tidak” berserta kebarangkalian. Sesuai untuk penghalaan, pengisihan pertanyaan, moderasi dan pemarkahan; semua soalan dalam satu permintaan dinilai secara selari."
  },
  "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": "Model keputusan TypeSafe: ia tidak menulis teks, sebaliknya menjawab soalan berjenis tentang teks atau JSON — pemilihan pilihan, penilaian pada skala atau “ya/tidak” berserta kebarangkalian. Sesuai untuk penghalaan, pengisihan pertanyaan, moderasi dan pemarkahan; semua soalan dalam satu permintaan dinilai secara selari.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d4b6b3335ce44546213a84898b9f6642959886704587fb64a967a413099ffb13",
    "renderer_sha256": "1dab5ba62521e9568c8b7c82005622cabbf330a075df7cce1f83274a04009460"
  },
  "sourceRevision": "387365bb83c254110d6934cb29a577b6842e2e3e527fd1db2dea8fe203a424cf"
}
