Kontextové otázky
Někdy uživatelé potřebují trochu pomoci! Mají otázky a čekají, že jim bot poradí.
V tomto cvičení umožníš uživatelům požádat kávového bota o vysvětlení jednotlivých kroků. Jako v předchozím cvičení bude odpověď záviset na tom, kde ve flow se právě nacházejí.
Toto cvičení je součástí kurzu
Building Chatbots in Python
Pokyny k cvičení
- Přidej do
policy_rulesdvě pravidla pro zpracování intentu"ask_explanation"ve stavechINITaCHOOSE_COFFEE. - Uvnitř funkce
send_messages()zavolej funkcisend_message()s argumentystateamsg, aby se definoval nový stavstate. Pak klikni na Submit Answer a podívej se, jak bot odpovídá.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Define the states
INIT=0
CHOOSE_COFFEE=1
ORDERED=2
# Define the policy rules dictionary
policy_rules = {
(____, "____"): (INIT, "I'm a bot to help you order coffee beans"),
(____, "order"): (CHOOSE_COFFEE, "ok, Colombian or Kenyan?"),
(____, "specify_coffee"): (ORDERED, "perfect, the beans are on their way!"),
(____, "____"): (CHOOSE_COFFEE, "We have two kinds of coffee beans - the Kenyan ones make a slightly sweeter coffee, and cost $6. The Brazilian beans make a nutty coffee and cost $5.")
}
# Define send_messages()
def send_messages(messages):
state = INIT
for msg in messages:
state = ____(____)
# Send the messages
send_messages([
"what can you do for me?",
"well then I'd like to order some coffee",
"what do you mean by that?",
"kenyan"
])