Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Why LLMs understand and generate text in Prompt Engineering / GenAI - Test Your Understanding

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 language model using the transformers library.

Prompt Engineering / GenAI
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('[1]')
Drag options to blanks, or click blank then click option'
Atensorflow
Bgpt2
Csklearn
Dpytorch-lightning
Attempts:
3 left
💡 Hint
Common Mistakes
Using library names instead of model names.
Confusing framework names with model identifiers.
2fill in blank
medium

Complete the code to tokenize input text for the language model.

Prompt Engineering / GenAI
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('gpt2')
inputs = tokenizer('[1]', return_tensors='pt')
Drag options to blanks, or click blank then click option'
AHello, how are you?
Bmodel
Ctokenizer
Dtransformers
Attempts:
3 left
💡 Hint
Common Mistakes
Passing model or tokenizer objects instead of text.
Passing library names as input text.
3fill in blank
hard

Fix the error in the code to generate text from the model output.

Prompt Engineering / GenAI
outputs = model.generate(inputs['input_ids'], max_length=[1])
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Drag options to blanks, or click blank then click option'
A'max_length'
B5
C50
Dinput_ids
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of an integer.
Using too small a number limiting output length.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps words to their lengths for words longer than 3 characters.

Prompt Engineering / GenAI
{word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B<=
C>
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as value instead of length.
Using wrong comparison operator like <= instead of >.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase words to their lengths for words with length greater than 4.

Prompt Engineering / GenAI
{ [1]: [2] for word in words if len(word) [3] 4 }
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
C>
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using original word as key instead of uppercase.
Using wrong comparison operator or value.

Practice

(1/5)
1. Why do Large Language Models (LLMs) understand and generate text?
easy
A. Because they memorize every sentence they read
B. Because they use fixed rules written by humans
C. Because they learn patterns from large amounts of text data
D. Because they translate text into images first

Solution

  1. Step 1: Understand how LLMs learn

    LLMs learn by analyzing many examples of text to find patterns and relationships between words.
  2. Step 2: Recognize pattern learning enables text generation

    By learning these patterns, LLMs can predict and generate new text that makes sense.
  3. Final Answer:

    Because they learn patterns from large amounts of text data -> Option C
  4. Quick Check:

    Pattern learning = B [OK]
Hint: LLMs predict text based on learned patterns [OK]
Common Mistakes:
  • Thinking LLMs memorize all text exactly
  • Believing LLMs use fixed human rules
  • Assuming LLMs convert text to images first
2. Which of the following is the correct way to describe how LLMs generate text?
easy
A. They randomly pick words without context
B. They predict the next word based on previous words
C. They translate text into numbers and back without patterns
D. They only repeat the first sentence they learned

Solution

  1. Step 1: Identify the text generation method

    LLMs generate text by predicting the next word using the context of previous words.
  2. Step 2: Eliminate incorrect options

    Random picking ignores context, translating without patterns is wrong, and repeating only the first sentence is false.
  3. Final Answer:

    They predict the next word based on previous words -> Option B
  4. Quick Check:

    Next word prediction = D [OK]
Hint: LLMs guess next words using context [OK]
Common Mistakes:
  • Thinking words are chosen randomly
  • Believing LLMs do not use context
  • Assuming LLMs only repeat learned sentences
3. Consider this simplified code snippet simulating LLM text generation:
context = ['I', 'love']
next_word = 'cats'
output = ' '.join(context + [next_word])
print(output)
What will be printed?
medium
A. I love cats
B. cats I love
C. I love
D. love cats

Solution

  1. Step 1: Understand the code concatenation

    The code joins the list ['I', 'love'] with ['cats'] to form ['I', 'love', 'cats'].
  2. Step 2: Join list elements into a string

    Using ' '.join(...) creates the string 'I love cats'.
  3. Final Answer:

    I love cats -> Option A
  4. Quick Check:

    Joining words = C [OK]
Hint: Join words in order to form sentence [OK]
Common Mistakes:
  • Mixing word order in output
  • Forgetting to join all words
  • Printing only part of the list
4. This code tries to generate text but has an error:
context = ['Hello', 'world']
next_word = 123
output = ' '.join(context + [next_word])
print(output)
What is the error and how to fix it?
medium
A. TypeError because next_word is int; fix by converting to string
B. SyntaxError because of missing colon; fix by adding colon
C. IndexError because list is empty; fix by adding words
D. No error; code runs fine

Solution

  1. Step 1: Identify the error type

    Joining strings with an integer causes a TypeError because join expects strings.
  2. Step 2: Fix the error by converting integer to string

    Convert next_word to string using str(next_word) before joining.
  3. Final Answer:

    TypeError because next_word is int; fix by converting to string -> Option A
  4. Quick Check:

    TypeError fix = A [OK]
Hint: Join needs all strings; convert numbers to string first [OK]
Common Mistakes:
  • Thinking it's a syntax error
  • Ignoring type mismatch in join
  • Assuming code runs without error
5. You want an LLM to summarize a long article. Which approach helps the model understand and generate a good summary?
hard
A. Feed unrelated text and ask for a summary
B. Feed only the first sentence and ask for a summary
C. Feed random sentences from the article without order
D. Feed the entire article as input and ask for a summary

Solution

  1. Step 1: Understand input relevance for summarization

    Providing the full article gives the LLM enough context to understand main points.
  2. Step 2: Recognize why other options fail

    Using only the first sentence, random sentences, or unrelated text lacks context, leading to poor summaries.
  3. Final Answer:

    Feed the entire article as input and ask for a summary -> Option D
  4. Quick Check:

    Full context input = A [OK]
Hint: More context means better summaries [OK]
Common Mistakes:
  • Using partial or random text as input
  • Ignoring importance of full context
  • Expecting summary from unrelated text