Choice — att välja ett alternativ i Jev

En Choice är en av de tre frågetyperna i TypeSafes Jev-modell. Den väljer exakt ett alternativ ur en mängd du definierar och returnerar vinnaren, en sannolikhet för varje alternativ och ett tillförsiktsvärde.

En Choice ger modellen en namngiven mängd alternativ och får tillbaka exakt ett av dem. Alternativnamnen är dina, så svaret är redan ett värde din kod kan växla på — det finns ingen sträng att normalisera och ingen möjlighet till ett namn du aldrig definierat.

Det intressanta är inte vinnaren utan fördelningen som följer med. Varje alternativ får en sannolikhet, de summerar till ett, och tvåan säger vad modellen nästan valde.

Ett riktigt svar

Skickat till jev-1.13.0. Siffrorna nedan är vad som kom tillbaka.

Tillståndet

Vår SSO-inloggning har gett 500 sedan 4.2-släppet i morse. Ingen i teamet kommer in. Samma i Chrome och Safari, två olika tenanter.

Frågan

Vilket team bör äga det här ärendet?

83 %
hög
Teknik på 87 %, av 4 alternativ
87 % Teknik

Teknik vinner på 87 %, men Konto håller 13 % — och det är rätt oenighet att ha, eftersom ett SSO-fel faktiskt ligger på gränsen mellan de två. En naken etikett hade dolt det. Om din dirigering har en kostnad för att gå fel är 13 % talet att sätta tröskel på.

Förfrågan och svaret, ordagrant
Förfrågan
{
  "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"
      }
    }
  }
}
Svar
{
  "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
      }
    }
  }
}

Vad svaret innehåller

type "choice"
Motsvarar frågetypen.
choice string
Alternativet med högst sannolikhet.
probabilities map<string, number>
Varje alternativ du definierat, kopplat till sin sannolikhet. De summerar till 1.
confidence number
0 till 1, beräknat utifrån hur sannolikheterna är spridda. En tydlig topp är hög tillförsikt; en platt spridning är låg.

Regler och gränser

  • criteria kopplar varje alternativ till en beskrivning, eller till null när namnet talar för sig själv.
  • En Choice tar upp till 255 alternativ. Ge modellen hela listan över team eller kategorier snarare än ett urval — varje alternativ kostar bara några tokens.
  • Lägg till ett Övrigt eller Inget av ovanstående när din lista kanske inte täcker varje indata, så modellen har ett sätt att säga att inget passar.

Ta till en Choice när

  • Svaren är en sluten mängd du redan har i koden — köer, kategorier, statusar, nästa steg.
  • Du vill se tvåan, inte bara vinnaren.
  • Du dirigerar, och kostnaden för varje destination skiljer sig nog för att du ska vilja sätta tröskel per alternativ.

Använd något annat när

  • Alternativen är ordnade steg på en skala — låg, medel, hög. En Score vet att de är ordnade och kan landa emellan; en Choice behandlar dem som orelaterade etiketter.
  • Fler än ett alternativ kan vara sant samtidigt. Ställ en Noul per alternativ i stället.

De andra två

Ställ en Choice om din egen text

Lekplatsen skickar allt du klistrar in till Jev och ritar upp varje svar. Inget konto, ingen nyckel.

Öppna lekplatsen