Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Context window and token limits 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
🎖️
Context Window Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding context window size
If a language model has a context window of 2048 tokens, what happens when you input a text longer than 2048 tokens?
AThe model processes only the last 2048 tokens, ignoring the earlier ones.
BThe model processes all tokens by splitting them into multiple windows automatically.
CThe model raises an error and refuses to process the input.
DThe model processes only the first 2048 tokens and ignores the rest.
Attempts:
2 left
💡 Hint
Think about how models handle inputs that exceed their maximum token capacity.
Predict Output
intermediate
2:00remaining
Token count calculation
Given the following Python code using the Hugging Face tokenizer, what is the output of the print statement?
Prompt Engineering / GenAI
from transformers import GPT2Tokenizer

tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
text = 'Hello world! This is a test.'
tokens = tokenizer.encode(text)
print(len(tokens))
A5
B8
C6
D7
Attempts:
2 left
💡 Hint
Count how the tokenizer splits the sentence into tokens.
Hyperparameter
advanced
2:00remaining
Choosing context window size for training
When training a transformer model, increasing the context window size from 512 to 2048 tokens will most likely:
AIncrease memory usage and training time significantly.
BDecrease the model's ability to understand long texts.
CReduce the number of model parameters.
DMake the model train faster due to fewer batches.
Attempts:
2 left
💡 Hint
Think about how longer sequences affect computation in transformers.
Metrics
advanced
2:00remaining
Effect of token limits on model evaluation
If a model's context window is 1024 tokens but the evaluation dataset contains samples of 1500 tokens, what is the likely effect on the evaluation metrics?
AMetrics improve because longer inputs provide more information.
BMetrics may be worse because the model cannot see the full input context.
CMetrics remain unchanged as the model truncates inputs automatically without impact.
DMetrics become invalid because the model crashes on long inputs.
Attempts:
2 left
💡 Hint
Consider how truncating input affects model understanding.
🔧 Debug
expert
3:00remaining
Diagnosing token limit errors in generation
You use a language model with a 2048 token limit. Your code generates text by appending new tokens to the input prompt repeatedly. After some iterations, generation fails with a token limit error. What is the best way to fix this?
AIncrease the model's token limit by changing a parameter in the code.
BRestart generation from scratch every time to avoid token buildup.
CTruncate the oldest tokens from the prompt to keep total tokens under 2048.
DIgnore the error and continue generating tokens beyond the limit.
Attempts:
2 left
💡 Hint
Think about how to keep the input size manageable during generation.

Practice

(1/5)
1. What does the context window in a language model refer to?
easy
A. The speed at which the model generates text
B. The maximum amount of text the model can process at once
C. The number of layers in the model
D. The size of the model's vocabulary

Solution

  1. Step 1: Understand the term 'context window'

    The context window is the chunk of text the model reads at one time.
  2. Step 2: Relate to model processing limits

    The model cannot process more text than this window size at once.
  3. Final Answer:

    The maximum amount of text the model can process at once -> Option B
  4. Quick Check:

    Context window = max text processed [OK]
Hint: Context window means max text input size [OK]
Common Mistakes:
  • Confusing context window with model layers
  • Thinking it relates to speed
  • Mixing it with vocabulary size
2. Which of the following is the correct way to check if input text fits within a model's token limit in Python?
easy
A. if len(tokenizer.encode(text)) <= token_limit:
B. if len(text) <= token_limit:
C. if len(text.split()) <= token_limit:
D. if text.length <= token_limit:

Solution

  1. Step 1: Understand token counting

    Tokens are pieces of text, not just characters or words, so we must use the tokenizer.
  2. Step 2: Use tokenizer to encode text

    Using tokenizer.encode(text) gives the token list; its length is token count.
  3. Final Answer:

    if len(tokenizer.encode(text)) <= token_limit: -> Option A
  4. Quick Check:

    Use tokenizer.encode() to count tokens [OK]
Hint: Use tokenizer.encode() to count tokens, not len(text) [OK]
Common Mistakes:
  • Counting characters instead of tokens
  • Counting words by splitting text
  • Using incorrect syntax like text.length
3. Given a model with a token limit of 10, what will be the output of this Python code snippet?
text = "Hello world! This is AI."
tokens = tokenizer.encode(text)
print(len(tokens) <= 10)
medium
A. Error: tokenizer not defined
B. False
C. True
D. 10

Solution

  1. Step 1: Check for defined variables

    The code uses tokenizer.encode(text), but tokenizer is not defined or imported.
  2. Step 2: Trace execution

    Execution stops at tokens = tokenizer.encode(text) with NameError: name 'tokenizer' is not defined. No output is printed.
  3. Final Answer:

    Error: tokenizer not defined -> Option A
  4. Quick Check:

    Undefined tokenizer causes NameError [OK]
Hint: Check for undefined variables like tokenizer [OK]
Common Mistakes:
  • Assuming tokens equal words
  • Ignoring tokenizer definition
  • Confusing output with token count
4. You have a model with a 50-token limit. This code throws an error. What is the likely cause?
input_text = "A very long text..."  # over 100 tokens
tokens = tokenizer.encode(input_text)
if len(tokens) > 50:
model.generate(tokens)
medium
A. The input tokens exceed the model's token limit
B. The tokenizer.encode() function is missing parentheses
C. The if condition should be len(tokens) < 50
D. The model.generate() function cannot accept tokens directly

Solution

  1. Step 1: Trace code execution flow

    Input exceeds 100 tokens, so len(tokens) > 50 is True and model.generate(tokens) executes.
  2. Step 2: Check model.generate() input type

    Usually, model.generate() expects input_ids as a tensor, not raw token list from encode(), causing TypeError.
  3. Final Answer:

    The model.generate() function cannot accept tokens directly -> Option D
  4. Quick Check:

    model.generate() needs tensor input_ids, not list [OK]
Hint: model.generate() expects text, not token list [OK]
Common Mistakes:
  • Assuming generate accepts tokens directly
  • Ignoring correct token limit check
  • Misreading if condition logic
5. You want to send a long document to a language model with a 1000-token limit. Which approach best ensures the model processes the entire document without errors?
hard
A. Only send the first 100 tokens to reduce load
B. Send the whole document at once and hope the model truncates it correctly
C. Split the document into chunks of 1000 tokens or less and process each separately
D. Increase the model's token limit by changing its architecture

Solution

  1. Step 1: Understand token limit constraints

    The model cannot process more than 1000 tokens at once, so input must fit this limit.
  2. Step 2: Choose a method to handle long text

    Splitting the document into chunks under 1000 tokens ensures all parts are processed without errors.
  3. Step 3: Evaluate other options

    Sending all at once risks truncation; sending only 100 tokens loses data; changing architecture is not feasible.
  4. Final Answer:

    Split the document into chunks of 1000 tokens or less and process each separately -> Option C
  5. Quick Check:

    Chunking long text fits token limits [OK]
Hint: Split long text into token-sized chunks [OK]
Common Mistakes:
  • Sending too long text at once
  • Ignoring most of the document
  • Thinking token limit can be changed easily