Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Chatbot development basics in Prompt Engineering / GenAI - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to initialize a chatbot model using a pre-trained transformer.

Prompt Engineering / GenAI
model = [1]('gpt-3.5-turbo')
Drag options to blanks, or click blank then click option'
Ainitialize
BChatbotModel
Ctransformer
Dload_model
Attempts:
3 left
💡 Hint
Common Mistakes
Using a class name instead of a function to load the model.
Using an undefined function like 'initialize'.
2fill in blank
medium

Complete the code to generate a response from the chatbot given a user input.

Prompt Engineering / GenAI
response = model.[1](user_input)
Drag options to blanks, or click blank then click option'
Afit
Btrain
Cgenerate
Dpredict
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'train' or 'fit' which are for model training, not response generation.
Using 'predict' which is common in ML but less typical for text generation.
3fill in blank
hard

Fix the error in the code to correctly preprocess user input by converting it to lowercase.

Prompt Engineering / GenAI
processed_input = user_input.[1]()
Drag options to blanks, or click blank then click option'
Alower
BtoLowerCase
Clowercase
Ddowncase
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'lowercase' which is not a method.
Using JavaScript style 'toLowerCase'.
4fill in blank
hard

Fill both blanks to create a dictionary that maps user intents to responses.

Prompt Engineering / GenAI
responses = { [1]: 'Hello!', [2]: 'Goodbye!'}
Drag options to blanks, or click blank then click option'
A'greeting'
B'farewell'
C'hello'
D'bye'
Attempts:
3 left
💡 Hint
Common Mistakes
Using response words as keys instead of intent names.
Using informal keys like 'hello' or 'bye' which are less clear.
5fill in blank
hard

Fill all three blanks to filter user messages that contain the word 'help' and convert them to lowercase.

Prompt Engineering / GenAI
filtered = [msg.[1]() for msg in messages if '[2]' in msg.[3]()]
Drag options to blanks, or click blank then click option'
Alower
Bhelp
Clowercase
DHelp
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'lowercase' which is not a valid method.
Checking for 'Help' with uppercase H which misses lowercase matches.

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