Choice — вибір одного варіанта в Jev
Choice — один із трьох типів запитань у моделі Jev від TypeSafe. Він обирає рівно один варіант із заданого вами набору й повертає переможця, ймовірність для кожного варіанта та значення впевненості.
Choice передає моделі іменований набір варіантів і отримує назад рівно один із них. Імена варіантів ваші, тож відповідь — уже значення, за яким ваш код може розгалужуватися: немає рядка, який треба нормалізувати, і немає можливості отримати ім’я, якого ви не задавали.
Цікавий не переможець, а розподіл, що приходить разом із ним. Кожен варіант отримує ймовірність, у сумі вони дають одиницю, а друге місце каже, що модель ледь не обрала.
Справжня відповідь
Надіслано до jev-1.13.0. Числа нижче — це те, що повернулося.
Наш вхід через SSO віддає 500 після ранкового релізу 4.2. Ніхто в команді не може увійти. Те саме в Chrome і Safari, на двох різних тенантах.
Яка команда має взяти цей тикет?
Технічна перемагає з 87%, але Обліковий запис тримає 13% — і це саме та незгода, яка й має бути, бо збій SSO справді лежить на межі між ними. Гола мітка це сховала б. Якщо помилка маршрутизації чогось коштує, поріг треба ставити саме на цих 13%.
Запит і відповідь дослівно
{
"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"
}
}
}
}{
"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
}
}
}
}Що містить відповідь
- type "choice"
- Збігається з типом запитання.
- choice string
- Варіант із найбільшою ймовірністю.
- probabilities map<string, number>
- Кожен заданий вами варіант із його ймовірністю. У сумі — 1.
- confidence number
- Від 0 до 1, обчислюється з того, наскільки розмазані ймовірності. Один ясний пік — висока впевненість; рівний розподіл — низька.
Правила та обмеження
-
criteriaзіставляє кожному варіанту опис абоnull, якщо ім’я говорить саме за себе. - Choice приймає до 255 варіантів. Дайте моделі весь список команд або категорій, а не витяжку: кожен варіант коштує лише кілька токенів.
- Додайте варіант
OtherабоNone of the above, якщо ваш список може покрити не кожен вхід, щоб у моделі була змога сказати, що не підходить нічого.
Беріть Choice, коли
- Відповіді — замкнений набір, який у вас уже є в коді: черги, категорії, статуси, наступні дії.
- Вам потрібно бачити друге місце, а не лише переможця.
- Ви маршрутизуєте, і вартість різних напрямів різниться настільки, що хочеться поріг на кожен варіант.
Візьміть інше, коли
- Варіанти — упорядковані щаблі однієї шкали: низький, середній, високий. Score знає, що вони впорядковані, і вміє потрапляти між ними; Choice вважає їх непов’язаними мітками.
- Одночасно може бути правдивим не один варіант. Тоді поставте по Noul на варіант.
Два інші
Noul
Noul — один із трьох типів запитань у моделі Jev від TypeSafe. Він ставить одне запитання «так/ні» і відповідає ймовірністю того, що відповідь — «так», числом від 0 до 1.
Score
Score — один із трьох типів запитань у моделі Jev від TypeSafe. Він оцінює вхід за впорядкованими рівнями, які пишете ви, і повертає зважене за ймовірностями значення, здатне потрапити між двома рівнями.
Поставте Choice власному тексту
Майданчик надсилає до Jev усе, що ви вставите, і малює кожну відповідь. Без облікового запису й без ключа.
Відкрити майданчик