как запросить у пользователя условные параметры в диалоговом потоке - PullRequest
0 голосов
/ 25 мая 2020

У меня есть следующие объекты:

@menu [Pizza, Coffee, Soup]
@pizza [Pepperoni, Margherita, Farmhouse]
@coffee [Black, Espresso, Americano]
@soup [Tomato, Onion, Corn]

как обрабатывать обучающую фразу вроде «пожалуйста, закажите 2 пиццы пепперони и 1 черный кофе»

для выполнения этого требования мне нужен @menu @qty и menuType, поэтому я сделал параметры @menu и @qty по мере необходимости, но как получить menuType

menuType - это Dynami c, если @menu - это пицца, то menuType будет @pizza, поэтому я не могу сделать menuType по мере необходимости

, но если пользователь предоставляет только @menu и @qty, тогда мой агент дает ответ, не запрашивая menuType, потому что он получает необходимые параметры.

Я хочу, чтобы агент обрабатывал все в четырех приведенных ниже случаях

CASE-1
user: order 2 pepperoni pizza
bot: ok you have ordered 2 pepperoni pizza

CASE-2
user: order 2 pizza
bot: which pizza you want?
user: pepperoni
bot: ok you have ordered 2 pepperoni pizza

CASE-3
user: order pepperoni pizza
bot: what quantity you want to order?
user: 3
bot: ok you have ordered 3 pepperoni pizza

CASE-4
user: order 2 pepperoni pizza and 1 black coffee
bot: ok you have ordered 2 pepperoni pizza and 1 black coffee

есть ли способ добиться этого.

...