Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

RAG architecture overview 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 define the main components of a RAG model.

Prompt Engineering / GenAI
from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration

tokenizer = RagTokenizer.from_pretrained('facebook/rag-token-nq')
retriever = RagRetriever.from_pretrained('facebook/rag-token-nq')
model = RagSequenceForGeneration.from_pretrained('facebook/rag-token-nq', retriever=[1])
Drag options to blanks, or click blank then click option'
Aretriever
BNone
Cmodel
Dtokenizer
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the tokenizer instead of the retriever to the model.
Passing None or forgetting to pass the retriever.
2fill in blank
medium

Complete the code to tokenize the input question for the RAG model.

Prompt Engineering / GenAI
question = "What is RAG architecture?"
inputs = tokenizer(question, return_tensors=[1])
Drag options to blanks, or click blank then click option'
Anp
Btf
Cpt
Dpd
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tf' which returns TensorFlow tensors instead of PyTorch tensors.
Using unsupported return_tensors values like 'np' or 'pd'.
3fill in blank
hard

Fix the error in generating answers with the RAG model.

Prompt Engineering / GenAI
outputs = model.generate(input_ids=inputs['input_ids'], [1]=inputs['attention_mask'])
Drag options to blanks, or click blank then click option'
Ainput_mask
Battention_mask
Cmask
Dattn_mask
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect argument names like 'mask' or 'input_mask' causes errors.
Omitting the attention mask leads to wrong model behavior.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps retrieved document titles to their scores.

Prompt Engineering / GenAI
doc_scores = {doc['title']: doc[1] for doc in retrieved_docs if doc[1] [2] 0.5}
Drag options to blanks, or click blank then click option'
A['score']
B>
C<
D['id']
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong keys like 'id' instead of 'score'.
Using incorrect comparison operators like '<' instead of '>'.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps document IDs to their text if the text length is greater than 100.

Prompt Engineering / GenAI
filtered_docs = {doc[1]: doc[2] for doc in docs if len(doc[3]) > 100}
Drag options to blanks, or click blank then click option'
A['id']
B['text']
D['title']
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong keys like 'title' instead of 'text' or 'id'.
Not using len() to check text length.

Practice

(1/5)
1. What is the main purpose of the retriever component in a RAG architecture?
easy
A. To find relevant documents or information from a large dataset
B. To generate natural language answers from scratch
C. To train the model on labeled data
D. To evaluate the accuracy of the answers

Solution

  1. Step 1: Understand the role of retriever in RAG

    The retriever searches a large collection of documents to find relevant information related to the question.
  2. Step 2: Differentiate retriever from generator

    The generator uses the retrieved information to create a natural language answer, not to find documents.
  3. Final Answer:

    To find relevant documents or information from a large dataset -> Option A
  4. Quick Check:

    Retriever = Find info [OK]
Hint: Retriever searches data; generator writes answers [OK]
Common Mistakes:
  • Confusing retriever with generator
  • Thinking retriever generates answers
  • Assuming retriever evaluates answers
2. Which of the following correctly describes the sequence of operations in a RAG model?
easy
A. Generate answer first, then retrieve documents
B. Retrieve documents first, then generate answer
C. Train model, then retrieve documents
D. Evaluate answer, then generate documents

Solution

  1. Step 1: Recall RAG workflow

    RAG first retrieves relevant documents to provide context for the answer.
  2. Step 2: Understand generation step

    After retrieval, the generator uses the documents to produce a final answer.
  3. Final Answer:

    Retrieve documents first, then generate answer -> Option B
  4. Quick Check:

    Retrieve before generate [OK]
Hint: Retrieve info before writing answer [OK]
Common Mistakes:
  • Thinking generation happens before retrieval
  • Mixing training with retrieval steps
  • Confusing evaluation with generation
3. Consider this simplified Python pseudocode for a RAG-like process:
retrieved_docs = retriever.search(query)
answer = generator.generate(retrieved_docs, query)
print(answer)
What will be printed if the retriever returns an empty list?
medium
A. An answer generated without context, possibly generic or incorrect
B. A runtime error because generator cannot handle empty input
C. The original query string printed
D. An empty string printed

Solution

  1. Step 1: Analyze retriever output

    The retriever returns an empty list, meaning no documents found.
  2. Step 2: Understand generator behavior

    The generator tries to create an answer without context, so it may produce a generic or less accurate answer, but no error occurs.
  3. Final Answer:

    An answer generated without context, possibly generic or incorrect -> Option A
  4. Quick Check:

    Empty retrieval leads to generic answer [OK]
Hint: Empty retrieval means generic answer, not error [OK]
Common Mistakes:
  • Assuming empty retrieval causes error
  • Thinking query is printed directly
  • Expecting empty string output
4. You have a RAG model that always returns irrelevant answers. Which of these is the most likely cause?
medium
A. The model is overfitting on training data
B. Generator is not trained on any data
C. Retriever is returning unrelated documents
D. The evaluation metric is incorrect

Solution

  1. Step 1: Identify cause of irrelevant answers

    If answers are irrelevant, the source documents are likely unrelated to the question.
  2. Step 2: Check retriever role

    The retriever finds documents; if it returns unrelated ones, the generator has poor context to answer.
  3. Final Answer:

    Retriever is returning unrelated documents -> Option C
  4. Quick Check:

    Bad retrieval causes irrelevant answers [OK]
Hint: Check retriever output first for relevance [OK]
Common Mistakes:
  • Blaming generator without checking retrieval
  • Confusing overfitting with retrieval errors
  • Ignoring data quality issues
5. In a RAG system designed for a constantly updated news database, which advantage does RAG provide compared to a standard language model?
hard
A. It generates answers faster by skipping retrieval
B. It always produces shorter answers
C. It requires no training data at all
D. It can access fresh news by retrieving documents without retraining

Solution

  1. Step 1: Understand RAG with dynamic data

    RAG retrieves documents from an external source, so it can use new data without retraining the generator.
  2. Step 2: Compare with standard language models

    Standard models need retraining to learn new info, but RAG updates answers by searching fresh documents.
  3. Final Answer:

    It can access fresh news by retrieving documents without retraining -> Option D
  4. Quick Check:

    RAG updates answers via retrieval [OK]
Hint: RAG uses retrieval to handle new data easily [OK]
Common Mistakes:
  • Thinking RAG skips retrieval
  • Assuming no training data needed
  • Believing RAG limits answer length