Choice, Score, dan Noul

Bandingkan Choice, Score, dan Noul sebelum menulis permintaan.

Setiap panggilan Jev merupakan peta pertanyaan bertipe terhadap satu state. Choice memilih dari kumpulan yang ditentukan hingga 255 opsi. Score menempatkan state pada 2 hingga 10 tingkat berurutan dan dapat berada di antara dua tingkat. Noul mengembalikan P(ya) sebagai noul dalam [0, 1] tanpa field keyakinan terpisah. Pilih Primitives yang sesuai dengan keputusan, lalu tangani aritmetika, tanggal, dan pembuatan konten dengan alat lain.

Cara memilih Primitives

Gunakan Choice jika jawabannya berupa satu opsi bernama: antrean, keahlian, label kelas, atau tautan berikutnya. Pertanyaan yang ditampilkan TypeSafe adalah "Manakah dari opsi berikut?" Hasilnya mencakup pilihan, probabilitas, dan keyakinan. Kriteria berupa peta yang memuat hingga 255 opsi. Jika Anda memiliki ratusan tautan Wikipedia, semuanya tidak dapat dimasukkan ke dalam satu Choice; demo Wikiracing menilai terlebih dahulu, lalu memilih dari daftar pendek.

Gunakan Score jika jawabannya berupa derajat pada legenda pendek yang berurutan: tenang / frustrasi / sangat frustrasi, atau tingkat keparahan 1-5. Nilai kembaliannya adalah skor, legenda, probabilitas, dan keyakinan. Kriterianya berupa larik berurutan berisi 2 hingga 10 tingkat. Jangan menginterpolasikan skor menjadi besaran persis. Tingkat milik Jev 1.13 kurang cocok untuk merekonstruksi angka di antara dua jenjang; gunakan nilai harapan hanya untuk memeriksa ambang.

Gunakan Noul jika pertanyaannya hanya memiliki jawaban ya atau tidak: "Apakah ini benar?" Menghasilkan noul dari 0 hingga 1. Kriteria dapat secara opsional menjelaskan kondisi benar dan salah. Tidak ada field confidence. Noul yang mendekati 0.5 menunjukkan ketidakpastian, bukan intensitas sedang. Jangan menganggap Noul sama dengan Choice berisi dua opsi, dan jangan menerapkan ambang yang disetel untuk salah satunya kepada yang lain. Halaman jaggedness milik TypeSafe menampilkan Noul pengembalian dana sebesar 0.22 di samping Choice ya sebesar 0.01 pada tiket yang sama.

Choice, Score, and Noul primitives with return fields and limits
Choice, Score, dan Noul beserta field nilai kembali dan batasannya.

Choice

Kolom jenis
choice
question
Mana dari opsi berikut?
returns
pilihan, probabilitas, keyakinan
criteria
peta berisi hingga 255 opsi
Jumlah opsi maksimum
255

Score

Kolom jenis
score
question
Tingkat mana?
returns
skor, legenda, probabilitas, keyakinan
criteria
larik berurutan berisi 2 hingga 10 tingkat
Tingkat minimum
2
tingkatMaksimum
10

Noul

Kolom jenis
noul
question
Apakah ini benar?
returns
noul (0 hingga 1)
memilikiKeyakinan
false
criteria
deskripsi benar/salah opsional

Bidang kembalian bersama

ID permintaan
Pengenal panggilan yang digunakan untuk menautkan jejak dan percobaan ulang dalam log Anda.
timestamp
Waktu server yang dilampirkan pada pembungkus respons, bukan alasan untuk mengajukan ulang pertanyaan.
latency
Durasi yang diukur untuk evaluasi ini. TypeSafe menyebut 70ms-500ms dari awal hingga akhir untuk Jev.
metadata
Payload tambahan opsional di samping jawaban bertipe. Simpan fakta produk dalam state, bukan di sini.

Pertanyaan paralel dan ID

Pertanyaan dalam satu permintaan memakai state yang sama, berjalan sendiri-sendiri secara paralel, dan penambahannya hampir tidak mengubah latensi. Campurkan Choice, Score, dan Noul dalam peta yang sama. Kunci ditentukan oleh Anda: urgensi, departemen, frustrasi. Jawaban yang sesuai dikembalikan di bawah kunci yang sama. Kunci tidak dikirim ke model dasar dan tidak digunakan dalam inferensi.

Aturan ID tersebut penting saat Anda membuat key dalam loop. Contoh penghitungan di halaman jaggedness mengajukan satu Noul untuk setiap item daftar (item_0, item_1, …), lalu menjumlahkan jawabannya dalam Python. Jev tidak pernah melihat nama-nama tersebut sebagai token. Pertahankan nama yang konsisten dalam log agar percobaan ulang dapat dipasangkan dengan peta aslinya.

Metadata nilai kembali bersama pada setiap respons Primitives mencakup requestId, timestamp, latency, dan metadata. Gunakan requestId untuk menautkan jejak. Perlakukan timestamp dan latency sebagai fakta transportasi, bukan alasan untuk bertanya ulang. Metadata adalah konten opsional yang dilampirkan pada payload inti. Bandingkan ketiga Primitives terlebih dahulu, lalu baca field bersama tersebut sebagai pembungkus jawaban bertipe.

Batas dalam praktik

Batas 255 opsi Choice bersifat mutlak, bukan sekadar saran. Wikiracing melampauinya dengan daftar pendek Score, lalu Choice. Jika taksonomi Anda memiliki 400 label, gunakan pola dua tahap yang sama atau hierarki Choices. Jangan berharap API menerima 256.

2 hingga 10 tingkat milik Score ditujukan bagi legenda pendek yang dapat dibacakan manusia. Skala kualitas 100 poin menggunakan Primitives yang keliru; pecah menjadi Score atomik dan jumlahkan dalam kode. Skor antartingkat seperti 1.4 memang wajar. Namun, skor pecahan tersebut tidak cocok untuk merekonstruksi nilai uang.

Noul tidak memiliki field confidence, sehingga gerbang Anda adalah nilai noul beserta pertanyaan kedua apa pun yang ditambahkan. Pasangan yang umum ialah Noul untuk "apakah ini termasuk cakupan" dan Choice untuk "masuk kelompok mana" hanya saat noul tinggi. Catatan invarian jaggedness memperingatkan agar kedua angka tersebut tidak diperlakukan sebagai statistik yang sama.

Permintaan yang mencampur ketiga Primitives terhadap satu tiket adalah bentuk normal, bukan trik tingkat lanjut. Urgensi sebagai Noul, departemen sebagai Choice, frustrasi sebagai Score, lalu kode. Ini peta yang sama dengan contoh curl dalam panduan mulai cepat. Perbandingan di halaman ini membantu Anda memilih tipe sebelum menulis JSON.

Field pembungkus bersama bukan Primitives keempat. requestId, timestamp, latency, dan metadata menyertai setiap jawaban agar panggilan dapat dilacak. Fakta produk harus berada dalam state. Jika Anda memasukkan kebijakan ke metadata, pindahkan kebijakan itu ke objek yang benar-benar dibaca Jev.

Tulis kriteria seolah-olah rekan baru akan membacanya besok. Nama opsi pada Choice dan nama tingkat pada Score merupakan bagian dari pertanyaan. Label yang samar menyebabkan penafsiran harfiah muncul di produksi.

Noul adalah nama khusus. Pertahankan ejaannya meskipun bagian lain permintaan berupa prosa bahasa Inggris.

Sumber