Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Chatbot development basics in Prompt Engineering / GenAI - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Chatbot Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Intent Recognition in Chatbots

Which of the following best describes the role of intent recognition in a chatbot?

AIt translates user messages into multiple languages.
BIt generates the chatbot's response text based on user input.
CIt stores the conversation history for future reference.
DIt identifies the user's goal or purpose behind their message.
Attempts:
2 left
💡 Hint

Think about what the chatbot needs to understand before replying.

Predict Output
intermediate
2:00remaining
Output of Simple Rule-Based Chatbot Code

What will be the output of the following Python code snippet?

Prompt Engineering / GenAI
def chatbot_response(message):
    if 'hello' in message.lower():
        return 'Hi there! How can I help you?'
    else:
        return 'Sorry, I did not understand.'

print(chatbot_response('Hello, bot!'))
Ahello
BHi there! How can I help you?
CSorry, I did not understand.
DNone
Attempts:
2 left
💡 Hint

Check if the word 'hello' is detected in the input message.

Hyperparameter
advanced
2:00remaining
Choosing Embedding Size for Chatbot NLP Model

When training a chatbot's natural language understanding model, which embedding size is generally best for balancing performance and speed?

A5 dimensions
B5000 dimensions
C50 dimensions
D10000 dimensions
Attempts:
2 left
💡 Hint

Too small loses meaning, too large slows training.

Metrics
advanced
2:00remaining
Evaluating Chatbot Response Quality

Which metric is most appropriate to measure how well a chatbot's responses match expected answers in a classification task?

AAccuracy
BMean Squared Error
CBLEU Score
DRoot Mean Squared Error
Attempts:
2 left
💡 Hint

Think about classification vs. text similarity metrics.

🔧 Debug
expert
2:00remaining
Debugging Chatbot Response Generation Code

What error will this Python code raise when run?

Prompt Engineering / GenAI
def generate_response(user_input):
    responses = {'hi': 'Hello!', 'bye': 'Goodbye!'}
    return responses[user_input]

print(generate_response('hello'))
AKeyError
BTypeError
CSyntaxError
DIndexError
Attempts:
2 left
💡 Hint

Check if the key 'hello' exists in the dictionary.

Practice

(1/5)
1. What is the main purpose of a chatbot in simple terms?
easy
A. To help computers talk with people easily
B. To store large amounts of data
C. To create images from text
D. To run complex math calculations

Solution

  1. Step 1: Understand chatbot function

    A chatbot is designed to communicate with people using text or voice.
  2. Step 2: Match purpose with options

    Only To help computers talk with people easily describes helping computers talk with people easily.
  3. Final Answer:

    To help computers talk with people easily -> Option A
  4. Quick Check:

    Chatbot purpose = talk with people [OK]
Hint: Chatbots are for chatting, not storing or calculating [OK]
Common Mistakes:
  • Confusing chatbots with data storage systems
  • Thinking chatbots create images
  • Assuming chatbots do math calculations
2. Which of the following is the correct way to define a simple chatbot response in Python?
easy
A. response = (hello: 'Hi there!')
B. response = {'hello': 'Hi there!'}
C. response = ['hello' => 'Hi there!']
D. response = 'hello' = 'Hi there!'

Solution

  1. Step 1: Recall Python dictionary syntax

    Python uses curly braces {} with key: value pairs for dictionaries.
  2. Step 2: Check each option

    response = {'hello': 'Hi there!'} uses correct syntax with {'hello': 'Hi there!'}; others use invalid syntax.
  3. Final Answer:

    response = {'hello': 'Hi there!'} -> Option B
  4. Quick Check:

    Python dict = {'key': 'value'} [OK]
Hint: Python dict uses curly braces and colon for key-value [OK]
Common Mistakes:
  • Using => instead of : in Python dictionaries
  • Using parentheses instead of braces
  • Trying to assign string with = inside quotes
3. What will be the output of this Python code snippet for a chatbot?
responses = {'hi': 'Hello!', 'bye': 'Goodbye!'}
user_input = 'hi'
print(responses.get(user_input, 'I do not understand'))
medium
A. Error
B. Goodbye!
C. I do not understand
D. Hello!

Solution

  1. Step 1: Understand dictionary get method

    responses.get(user_input, default) returns value for key or default if key missing.
  2. Step 2: Check user_input key in dictionary

    user_input is 'hi', which exists in responses with value 'Hello!'.
  3. Final Answer:

    Hello! -> Option D
  4. Quick Check:

    Key 'hi' found = 'Hello!' [OK]
Hint: dict.get(key, default) returns value or default if missing [OK]
Common Mistakes:
  • Assuming default message prints even if key exists
  • Confusing keys 'hi' and 'bye'
  • Expecting an error from get method
4. Identify the error in this chatbot code snippet:
responses = {'hello': 'Hi!'}
user_input = input('Say something: ')
print(responses[user_input])
medium
A. print statement is incorrect
B. Syntax error in dictionary definition
C. Missing default response if input not in dictionary
D. input() function is not allowed in chatbot

Solution

  1. Step 1: Analyze dictionary access

    Accessing responses[user_input] causes error if user_input key not found.
  2. Step 2: Check for default handling

    Code lacks default fallback; should use get() or try-except to avoid crash.
  3. Final Answer:

    Missing default response if input not in dictionary -> Option C
  4. Quick Check:

    Direct dict access needs key check [OK]
Hint: Use dict.get() to avoid key errors from unknown input [OK]
Common Mistakes:
  • Thinking input() is disallowed in chatbot
  • Believing dictionary syntax is wrong
  • Assuming print statement is incorrect
5. You want your chatbot to answer "Good morning!" when the user says "morning" or "good morning". Which Python code snippet correctly handles this?
hard
A. responses = {'morning': 'Good morning!', 'good morning': 'Good morning!'}
B. responses = {'morning' or 'good morning': 'Good morning!'}
C. responses = {'morning' & 'good morning': 'Good morning!'}
D. responses = {'morning' + 'good morning': 'Good morning!'}

Solution

  1. Step 1: Understand dictionary keys for multiple inputs

    Each key must be separate to match different user inputs.
  2. Step 2: Evaluate options for correct syntax

    responses = {'morning': 'Good morning!', 'good morning': 'Good morning!'} defines two keys separately; others use invalid Python expressions as keys.
  3. Final Answer:

    responses = {'morning': 'Good morning!', 'good morning': 'Good morning!'} -> Option A
  4. Quick Check:

    Separate keys for inputs = responses = {'morning': 'Good morning!', 'good morning': 'Good morning!'} [OK]
Hint: Use separate keys for each input phrase in dictionary [OK]
Common Mistakes:
  • Trying to combine keys with or/&/+ operators
  • Using invalid syntax for dictionary keys
  • Assuming one key can match multiple phrases