Choice — scegliere un’opzione in Jev

Un Choice è uno dei tre tipi di domanda del modello Jev di TypeSafe. Sceglie esattamente un’opzione da un insieme che definisci tu e restituisce la vincitrice, una probabilità per ogni opzione e un valore di confidenza.

Un Choice consegna al modello un insieme di opzioni con un nome e ne riceve indietro esattamente una. I nomi delle opzioni sono tuoi, quindi la risposta è già un valore su cui il tuo codice può fare uno switch — nessuna stringa da normalizzare e nessuna possibilità di un nome che non hai mai definito.

La parte interessante non è la vincitrice ma la distribuzione che la accompagna. Ogni opzione riceve una probabilità, sommano a uno, e la seconda classificata ti dice cosa il modello stava quasi per scegliere.

Una risposta vera

Inviata a jev-1.13.0. I numeri qui sotto sono ciò che è tornato.

Lo state

Il nostro accesso SSO restituisce un 500 dalla release 4.2 di stamattina. Nessuno del team riesce a entrare. Uguale su Chrome e Safari, su due tenant diversi.

La domanda

Quale squadra dovrebbe prendersi in carico questo ticket?

83%
alta
Tecnico al 87%, su 4 opzioni
87% Tecnico

Tecnico vince con l’87%, ma Account tiene il 13% — ed è esattamente il disaccordo giusto, perché un guasto SSO sta davvero al confine fra i due. Un’etichetta nuda lo avrebbe nascosto. Se sbagliare instradamento ha un costo, il 13% è il numero su cui mettere la soglia.

Richiesta e risposta, testuali
Richiesta
{
  "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"
      }
    }
  }
}
Risposta
{
  "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
      }
    }
  }
}

Cosa contiene la risposta

type "choice"
Corrisponde al tipo di domanda.
choice string
L’opzione con la probabilità più alta.
probabilities map<string, number>
Ogni opzione che hai definito, con la sua probabilità. Sommano a 1.
confidence number
Da 0 a 1, calcolata da quanto sono sparse le probabilità. Un picco netto è confidenza alta; una distribuzione piatta è bassa.

Regole e limiti

  • criteria associa ogni opzione a una descrizione, o a null quando il nome parla da sé.
  • Un Choice accetta fino a 255 opzioni. Dai al modello l’elenco completo di squadre o categorie invece di una selezione — ogni opzione costa solo qualche token.
  • Aggiungi un’opzione Other o None of the above quando il tuo elenco potrebbe non coprire ogni input, così il modello ha modo di dire che nessuna va bene.

Scegli un Choice quando

  • Le risposte sono un insieme chiuso che hai già nel codice — code, categorie, stati, azioni successive.
  • Vuoi vedere la seconda classificata, non solo la vincitrice.
  • Stai instradando e il costo di ciascuna destinazione differisce abbastanza da volere una soglia per opzione.

Usa altro quando

  • Le opzioni sono gradini ordinati di una sola scala — basso, medio, alto. Uno Score sa che sono ordinati e può cadere fra di essi; un Choice li tratta come etichette scollegate.
  • Più di un’opzione può essere vera insieme. Poni un Noul per opzione.

Gli altri due

Fai un Choice sul tuo testo

Il parco giochi manda a Jev quello che incolli e disegna ogni risposta. Niente account, niente chiave.

Apri il parco giochi