Choice — Jev’de tek bir seçeneği seçmek

Choice, TypeSafe’in Jev modelindeki üç soru türünden biridir. Senin tanımladığın bir kümeden tam olarak bir seçenek seçer ve kazananı, her seçeneğin olasılığını ve bir güven değerini döndürür.

Choice, modele adlandırılmış bir seçenek kümesi verir ve bunlardan tam olarak birini geri alır. Seçenek adları senindir, dolayısıyla yanıt kodunun üzerinde dallanabileceği bir değerdir — normalleştirilecek bir dizge yoktur ve hiç tanımlamadığın bir adın çıkma olasılığı yoktur.

İlginç olan kazanan değil, onunla gelen dağılımdır. Her seçenek bir olasılık alır, bunlar bire toplanır ve ikinci sıradaki, modelin neredeyse neyi seçtiğini söyler.

Gerçek bir yanıt

jev-1.13.0’a gönderildi. Aşağıdaki sayılar geri gelenlerdir.

Durum

SSO girişimiz bu sabahki 4.2 sürümünden beri 500 döndürüyor. Ekipten kimse giremiyor. Chrome ve Safari’de aynı, iki farklı kiracıda.

Soru

Bu talebi hangi ekip sahiplenmeli?

%83
yüksek
4 seçenek arasından %87 ile Teknik
%87 Teknik

Teknik %87 ile kazanıyor ama Hesap %13 tutuyor — ve bu doğru anlaşmazlıktır, çünkü bir SSO arızası gerçekten ikisinin sınırında durur. Çıplak bir etiket bunu gizlerdi. Yönlendirmenin yanlış olmasının bir bedeli varsa, eşik koyulacak sayı %13’tür.

İstek ve yanıt, birebir
İstek
{
  "state": "Our SSO login has been throwing a 500 since the 4.2 release this morning. Nobody on the team can get in. Same on Chrome and Safari, two different tenants.",
  "model": "jev-latest",
  "questions": {
    "queue": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "Billing": "Payments, invoices, refunds, plan changes",
        "Technical": "Bugs, outages, API errors, integrations",
        "Account": "Login, permissions, seats, data export",
        "Sales": "Pricing, upgrades, contracts"
      }
    }
  }
}
Yanıt
{
  "model": "jev-1.13.0",
  "answers": {
    "queue": {
      "type": "choice",
      "choice": "Technical",
      "confidence": 0.83,
      "probabilities": {
        "Technical": 0.87,
        "Sales": 0,
        "Account": 0.13,
        "Billing": 0
      }
    }
  }
}

Yanıt neleri içerir

type "choice"
Soru türüyle eşleşir.
choice string
En yüksek olasılıklı seçenek.
probabilities map<string, number>
Tanımladığın her seçenek, olasılığıyla eşleşmiş. Toplamları 1’dir.
confidence number
0 ile 1 arası, olasılıkların ne kadar yayıldığından hesaplanır. Tek net bir tepe yüksek güvendir; düz bir yayılım düşüktür.

Kurallar ve sınırlar

  • criteria her seçeneği bir tanımla ya da ad kendi başına yeterliyse null ile eşler.
  • Bir Choice en fazla 255 seçenek alır. Modele kısaltılmış bir liste yerine ekiplerin ya da kategorilerin tamamını ver — her seçenek yalnızca birkaç jetona mal olur.
  • Listen her girdiyi kapsamayabiliyorsa bir Diğer ya da Hiçbiri seçeneği ekle ki modelin hiçbirinin uymadığını söyleyecek bir yolu olsun.

Şu durumlarda Choice kullan

  • Yanıtlar zaten kodunda bulunan kapalı bir küme — kuyruklar, kategoriler, durumlar, sonraki eylemler.
  • Yalnızca kazananı değil, ikinciyi de görmek istiyorsun.
  • Yönlendirme yapıyorsun ve her hedefin maliyeti, seçenek başına eşik koymak isteyecek kadar farklı.

Şu durumlarda başka bir şey kullan

  • Seçenekler tek bir ölçeğin sıralı basamakları — düşük, orta, yüksek. Score bunların sıralı olduğunu bilir ve aralarına düşebilir; Choice onları ilgisiz etiketler gibi ele alır.
  • Birden fazla seçenek aynı anda doğru olabilir. Bunun yerine seçenek başına bir Noul sor.

Diğer ikisi

Kendi metnine bir Choice sor

Deneme alanı yapıştırdığın her şeyi Jev’e gönderir ve her yanıtı çizer. Hesap yok, anahtar yok.

Deneme alanını aç