ComenzarEmpieza gratis

Asking contextual questions

Sometimes your users need some help! They will have questions and expect the bot to help them.

In this exercise, you'll allow users to ask the coffee bot to explain the steps to them. As in the previous exercise, the answer they get will depend on where they are in the flow.

Este ejercicio forma parte del curso

Building Chatbots in Python

Ver curso

Instrucciones del ejercicio

  • Add two rules to your policy_rules to handle the intent "ask_explanation" when in the states INIT or CHOOSE_COFFEE.
  • Inside the send_messages() function, call the send_message() function with state and msg as arguments to define the new state. Then, hit 'Submit Answer' to send the messages and see the bot's responses.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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"
])
Editar y ejecutar código