Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Hierarchical chunking 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 create a hierarchical chunk from a list of tokens.

Prompt Engineering / GenAI
chunks = [tokens[i:i+[1]] for i in range(0, len(tokens), [1])]
Drag options to blanks, or click blank then click option'
A5
B3
C10
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 creates chunks of single tokens, which is not hierarchical.
Using 10 might create too large chunks losing detail.
2fill in blank
medium

Complete the code to flatten a list of hierarchical chunks back into tokens.

Prompt Engineering / GenAI
flat_tokens = [token for chunk in chunks for token in [1]]
Drag options to blanks, or click blank then click option'
Achunk
Bchunks
Ctokens
Dflat_tokens
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'chunks' instead of 'chunk' causes an error because 'chunks' is the outer list.
Using 'tokens' is incorrect because it is the original list, not the chunk variable.
3fill in blank
hard

Fix the error in the code to create nested hierarchical chunks.

Prompt Engineering / GenAI
nested_chunks = [[chunk[i:i+[1]] for i in range(0, len(chunk), [1])] for chunk in chunks]
Drag options to blanks, or click blank then click option'
A2
B0
C-1
Dlen(chunk)
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 or negative numbers causes runtime errors.
Using len(chunk) creates sub-chunks equal to the whole chunk, no nesting.
4fill in blank
hard

Fill both blanks to create a dictionary mapping chunk indices to their sizes.

Prompt Engineering / GenAI
chunk_sizes = {i: len([1]) for i, [2] in enumerate(chunks)}
Drag options to blanks, or click blank then click option'
Achunk
Bchunks
Cchunk_size
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'chunks' inside len() causes an error because it's the whole list.
Using different variable names inconsistently causes confusion.
5fill in blank
hard

Fill all three blanks to filter chunks with size greater than 2 and create a summary dictionary.

Prompt Engineering / GenAI
summary = {i: len([1]) for i, [2] in enumerate(chunks) if len([3]) > 2}
Drag options to blanks, or click blank then click option'
Achunk
Dchunks
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'chunks' inside len() causes errors because it's the whole list.
Using inconsistent variable names causes syntax errors.

Practice

(1/5)
1. What is the main purpose of hierarchical chunking in AI?
easy
A. To break large data into smaller, organized parts
B. To increase the size of data chunks randomly
C. To remove all data except the first part
D. To combine all data into one big chunk

Solution

  1. Step 1: Understand hierarchical chunking

    Hierarchical chunking means splitting big data into smaller, meaningful parts.
  2. Step 2: Identify the purpose

    This helps AI handle complex information better by organizing it clearly.
  3. Final Answer:

    To break large data into smaller, organized parts -> Option A
  4. Quick Check:

    Hierarchical chunking = breaking data into parts [OK]
Hint: Think 'big to small organized parts' for hierarchical chunking [OK]
Common Mistakes:
  • Confusing chunking with random splitting
  • Thinking it removes data instead of organizing
  • Believing it merges all data into one
2. Which of the following is the correct way to represent hierarchical chunking in code?
easy
A. chunks = [chunk for chunk in data if len(chunk) > 0]
B. chunks = data.split()
C. chunks = [[subchunk for subchunk in chunk] for chunk in data]
D. chunks = data + data

Solution

  1. Step 1: Understand hierarchical chunking code

    Hierarchical chunking means splitting data into chunks, then subchunks inside each chunk.
  2. Step 2: Identify correct nested list comprehension

    chunks = [[subchunk for subchunk in chunk] for chunk in data] shows nested comprehension, matching hierarchical chunking structure.
  3. Final Answer:

    chunks = [[subchunk for subchunk in chunk] for chunk in data] -> Option C
  4. Quick Check:

    Nested lists = hierarchical chunks [OK]
Hint: Look for nested loops to represent hierarchy [OK]
Common Mistakes:
  • Using single-level split instead of nested
  • Concatenating data instead of chunking
  • Filtering chunks without hierarchy
3. Given the code below, what is the output?
data = [["a", "b"], ["c", "d"]]
chunks = [[item.upper() for item in chunk] for chunk in data]
print(chunks)
medium
A. [["A", "B"], ["C", "D"]]
B. ["a", "b", "c", "d"]
C. [["a", "b"], ["c", "d"]]
D. ["A", "B", "C", "D"]

Solution

  1. Step 1: Analyze the nested list comprehension

    Each chunk is a list; for each item, .upper() converts letters to uppercase.
  2. Step 2: Apply transformation to each item

    "a" -> "A", "b" -> "B", "c" -> "C", "d" -> "D"; structure remains nested.
  3. Final Answer:

    [["A", "B"], ["C", "D"]] -> Option A
  4. Quick Check:

    Nested uppercase conversion = [["A", "B"], ["C", "D"]] [OK]
Hint: Uppercase inside nested loops keeps structure [OK]
Common Mistakes:
  • Flattening list instead of keeping nested
  • Not applying .upper() to each item
  • Confusing output with original data
4. Find the error in this hierarchical chunking code:
data = [[1, 2], [3, 4]]
chunks = [item * 2 for chunk in data]
print(chunks)
medium
A. Using wrong operator for multiplication
B. print statement syntax error
C. Data should be a flat list, not nested
D. Missing inner loop to access items inside chunks

Solution

  1. Step 1: Check list comprehension structure

    The code loops over 'chunk' but uses 'item' without defining it inside the loop.
  2. Step 2: Identify missing inner loop

    To access items inside each chunk, an inner loop is needed to multiply each item.
  3. Final Answer:

    Missing inner loop to access items inside chunks -> Option D
  4. Quick Check:

    Nested data needs nested loops [OK]
Hint: Remember: nested data needs nested loops [OK]
Common Mistakes:
  • Using undefined variable 'item'
  • Assuming flat list instead of nested
  • Ignoring indentation or syntax errors
5. You have a long document split into paragraphs, sentences, and words. How would hierarchical chunking help an AI model process this document?
hard
A. By merging all words into one long string to simplify processing
B. By organizing the document into paragraphs, then sentences, then words for better understanding
C. By ignoring sentence boundaries and treating paragraphs as single units
D. By randomly splitting words without structure

Solution

  1. Step 1: Understand document structure

    The document has layers: paragraphs contain sentences, sentences contain words.
  2. Step 2: Apply hierarchical chunking concept

    Hierarchical chunking breaks data into layers matching this structure for clearer AI processing.
  3. Step 3: Identify correct approach

    Organizing by paragraphs, sentences, then words helps AI understand context and meaning better.
  4. Final Answer:

    By organizing the document into paragraphs, then sentences, then words for better understanding -> Option B
  5. Quick Check:

    Hierarchical chunking = layered data organization [OK]
Hint: Match chunking layers to document layers [OK]
Common Mistakes:
  • Flattening all words into one string
  • Ignoring sentence boundaries
  • Random splitting without order