Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Question answering 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 load a pre-trained question answering model using Hugging Face Transformers.

Prompt Engineering / GenAI
from transformers import pipeline
qa_pipeline = pipeline('[1]')
Drag options to blanks, or click blank then click option'
Atext-generation
Bsentiment-analysis
Cquestion-answering
Dtranslation
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'text-generation' instead of 'question-answering'.
Forgetting to import the pipeline function.
2fill in blank
medium

Complete the code to get the answer from the question answering pipeline.

Prompt Engineering / GenAI
context = "The Eiffel Tower is in Paris."
question = "Where is the Eiffel Tower located?"
result = qa_pipeline({'question': question, 'context': [1])
Drag options to blanks, or click blank then click option'
Aanswer
Bquestion
Cresult
Dcontext
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the question as context.
Passing the result variable instead of context.
3fill in blank
hard

Fix the error in extracting the answer text from the result dictionary.

Prompt Engineering / GenAI
answer_text = result[[1]]
Drag options to blanks, or click blank then click option'
A'answer'
B'text'
C'output'
D'result'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'text' or 'output' instead of 'answer'.
Using a variable name instead of a string key.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that filters answers longer than 5 characters.

Prompt Engineering / GenAI
filtered_answers = {q: a for q, a in answers.items() if len(a) [1] [2]
Drag options to blanks, or click blank then click option'
A>
B5
C<
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>'.
Using '==' which filters only answers of length exactly 5.
5fill in blank
hard

Fill all three blanks to create a function that returns the answer from the QA pipeline given question and context.

Prompt Engineering / GenAI
def get_answer([1], [2]):
    result = qa_pipeline({'question': [1], 'context': [2])
    return result[[3]]
Drag options to blanks, or click blank then click option'
Aquestion
Bcontext
C'answer'
Dresult
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up parameter names.
Returning the whole result instead of the answer string.

Practice

(1/5)
1. What is the main purpose of question answering in AI?
easy
A. To find answers from given text or context
B. To generate random text without context
C. To translate languages automatically
D. To create images from descriptions

Solution

  1. Step 1: Understand the goal of question answering

    Question answering systems are designed to find specific answers from a given text or context.
  2. Step 2: Compare options with the goal

    Only To find answers from given text or context describes finding answers from text, which matches the purpose.
  3. Final Answer:

    To find answers from given text or context -> Option A
  4. Quick Check:

    Question answering = find answers [OK]
Hint: Focus on 'answer from text' meaning [OK]
Common Mistakes:
  • Confusing question answering with translation
  • Thinking it generates random text
  • Mixing it with image generation
2. Which input is essential for a question answering model to work?
easy
A. Only a context without a question
B. Only a question without any context
C. A question and a related context or passage
D. Random text unrelated to the question

Solution

  1. Step 1: Identify inputs needed for question answering

    Question answering requires both a question and some context to find the answer.
  2. Step 2: Match options with required inputs

    Only A question and a related context or passage provides both question and related context, which is necessary.
  3. Final Answer:

    A question and a related context or passage -> Option C
  4. Quick Check:

    Question + context = answer [OK]
Hint: Remember: question needs context to answer [OK]
Common Mistakes:
  • Assuming question alone is enough
  • Ignoring the need for context
  • Choosing unrelated text as input
3. Given this Python code using a question answering model:
from transformers import pipeline
qa = pipeline('question-answering')
context = "The Eiffel Tower is in Paris."
question = "Where is the Eiffel Tower located?"
result = qa(question=question, context=context)
print(result['answer'])
What will be printed?
medium
A. Location unknown
B. Eiffel Tower
C. The Eiffel Tower is in Paris
D. Paris

Solution

  1. Step 1: Understand the code's purpose

    The code uses a question answering pipeline to find the answer to the question from the context.
  2. Step 2: Identify the answer in the context

    The question asks for location; the context says "The Eiffel Tower is in Paris." So the answer is "Paris".
  3. Final Answer:

    Paris -> Option D
  4. Quick Check:

    Answer extracted = Paris [OK]
Hint: Look for direct answer in context matching question [OK]
Common Mistakes:
  • Printing the whole context instead of answer
  • Confusing object with location
  • Assuming no answer found
4. This code snippet tries to answer a question but raises an error:
from transformers import pipeline
qa = pipeline('question-answering')
context = "Python is a programming language."
question = "What is Python?"
result = qa(question, context)
print(result['answer'])
What is the error and how to fix it?
medium
A. Error: question is invalid; fix by changing question text
B. Error: missing keyword arguments; fix by using qa(question=question, context=context)
C. Error: context is empty; fix by adding text to context
D. No error; code runs fine

Solution

  1. Step 1: Identify the function call error

    The pipeline expects keyword arguments question= and context=, but code passes positional arguments.
  2. Step 2: Fix the call with correct keywords

    Change to qa(question=question, context=context) to fix the error.
  3. Final Answer:

    Error: missing keyword arguments; fix by using qa(question=question, context=context) -> Option B
  4. Quick Check:

    Use keywords for qa() args [OK]
Hint: Use keyword arguments for question and context [OK]
Common Mistakes:
  • Passing positional args instead of keywords
  • Assuming empty context causes error
  • Changing question text unnecessarily
5. You want to build a question answering system that can handle multiple paragraphs and find the best answer. Which approach is best?
hard
A. Split text into paragraphs, run QA on each, then pick highest confidence answer
B. Combine all paragraphs into one string and run QA once
C. Only use the first paragraph for QA
D. Ignore paragraphs and guess answer randomly

Solution

  1. Step 1: Understand handling multiple paragraphs

    QA models usually work best on smaller text chunks, so splitting helps.
  2. Step 2: Choose method to find best answer

    Running QA on each paragraph separately and selecting the answer with highest confidence ensures accuracy.
  3. Final Answer:

    Split text into paragraphs, run QA on each, then pick highest confidence answer -> Option A
  4. Quick Check:

    Split + score answers = best result [OK]
Hint: Split text, run QA per part, pick best answer [OK]
Common Mistakes:
  • Running QA on all text at once causing confusion
  • Ignoring paragraphs reduces accuracy
  • Guessing answers without context