Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Translation 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 the translation model using Hugging Face Transformers.

Prompt Engineering / GenAI
from transformers import MarianMTModel, MarianTokenizer
model_name = 'Helsinki-NLP/opus-mt-en-de'
tokenizer = MarianTokenizer.from_pretrained([1])
Drag options to blanks, or click blank then click option'
A'en-de'
B'Helsinki-NLP/opus-mt-en-de'
Cmodel_name
DMarianTokenizer
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the model name as a string literal instead of using the variable.
Passing the class name instead of the model name.
2fill in blank
medium

Complete the code to tokenize the input text for translation.

Prompt Engineering / GenAI
text = 'Hello, how are you?'
inputs = tokenizer([1], return_tensors='pt', padding=True)
Drag options to blanks, or click blank then click option'
Atext
B'text'
C['Hello']
D['Hello, how are you?']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the string 'text' instead of the variable text.
Passing a list when a string is expected.
3fill in blank
hard

Fix the error in generating the translated tokens from the model output.

Prompt Engineering / GenAI
translated_tokens = model.generate([1])
Drag options to blanks, or click blank then click option'
Ainputs['input_ids']
Binputs['attention_mask']
Cinputs
Dinputs['token_type_ids']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the whole inputs dictionary instead of just the input IDs.
Passing attention mask or token type IDs instead of input IDs.
4fill in blank
hard

Fill both blanks to decode the translated tokens into a readable string.

Prompt Engineering / GenAI
translated_text = tokenizer.decode([1][0], skip_special_tokens=[2])
Drag options to blanks, or click blank then click option'
Atranslated_tokens
BTrue
CFalse
Dinputs
Attempts:
3 left
💡 Hint
Common Mistakes
Using the inputs variable instead of translated tokens.
Setting skip_special_tokens to False causing special tokens to appear.
5fill in blank
hard

Fill all three blanks to create a function that translates English text to German.

Prompt Engineering / GenAI
def translate_en_to_de(text):
    tokenizer = MarianTokenizer.from_pretrained([1])
    model = MarianMTModel.from_pretrained([2])
    inputs = tokenizer(text, return_tensors=[3], padding=True)
    translated_tokens = model.generate(inputs['input_ids'])
    return tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
Drag options to blanks, or click blank then click option'
A'Helsinki-NLP/opus-mt-en-de'
C'pt'
D'tf'
Attempts:
3 left
💡 Hint
Common Mistakes
Using different model names for tokenizer and model.
Using 'tf' instead of 'pt' for return_tensors causing errors.

Practice

(1/5)
1. What is the main purpose of a translation model in AI?
easy
A. To change text from one language to another automatically
B. To generate images from text descriptions
C. To recognize faces in photos
D. To sort numbers in a list

Solution

  1. Step 1: Understand the function of translation models

    Translation models convert text from one language to another automatically.
  2. Step 2: Compare with other AI tasks

    Other options describe different AI tasks like image generation or face recognition, not translation.
  3. Final Answer:

    To change text from one language to another automatically -> Option A
  4. Quick Check:

    Translation = language conversion [OK]
Hint: Translation means changing languages automatically [OK]
Common Mistakes:
  • Confusing translation with image generation
  • Thinking translation sorts data
  • Mixing translation with face recognition
2. Which of the following is the correct way to call a pre-trained translation model in Python using a library like Hugging Face Transformers?
easy
A. model = pipeline('image-classification')
B. model = pipeline('speech-recognition')
C. model = pipeline('text-generation')
D. model = pipeline('translation_en_to_fr')

Solution

  1. Step 1: Identify the pipeline for translation

    The correct pipeline for English to French translation is 'translation_en_to_fr'.
  2. Step 2: Check other pipeline types

    Other options are for different tasks like image classification, text generation, or speech recognition, not translation.
  3. Final Answer:

    model = pipeline('translation_en_to_fr') -> Option D
  4. Quick Check:

    Translation pipeline = 'translation_en_to_fr' [OK]
Hint: Use 'translation_en_to_fr' for English to French translation [OK]
Common Mistakes:
  • Using wrong pipeline name
  • Confusing translation with image tasks
  • Calling text generation instead of translation
3. Given the following Python code using a translation model, what will be the output?
from transformers import pipeline
translator = pipeline('translation_en_to_de')
result = translator('Hello, how are you?')
print(result[0]['translation_text'])
medium
A. Ciao, come stai?
B. Bonjour, comment ça va?
C. Hallo, wie geht es dir?
D. Hola, ¿cómo estás?

Solution

  1. Step 1: Identify the translation direction

    The pipeline is 'translation_en_to_de', which means English to German translation.
  2. Step 2: Translate the input text

    'Hello, how are you?' translates to 'Hallo, wie geht es dir?' in German.
  3. Final Answer:

    Hallo, wie geht es dir? -> Option C
  4. Quick Check:

    English to German translation = Hallo, wie geht es dir? [OK]
Hint: Check language codes: en_to_de means English to German [OK]
Common Mistakes:
  • Choosing French or Spanish output
  • Ignoring language direction
  • Assuming output is same as input
4. You wrote this code to translate English to Spanish but get an error:
from transformers import pipeline
translator = pipeline('translation_en_to_es')
result = translator('Good morning')
print(result['translation_text'])
What is the error and how to fix it?
medium
A. Accessing result as dict instead of list; use result[0]['translation_text']
B. Wrong pipeline name; should be 'translation_en_to_fr'
C. Missing model download; add download=True parameter
D. print statement syntax error; use print result['translation_text']

Solution

  1. Step 1: Understand the output format of pipeline

    The pipeline returns a list of dicts, so result is a list, not a dict.
  2. Step 2: Correct the access to translation text

    Access the first element with result[0], then get 'translation_text' key.
  3. Final Answer:

    Accessing result as dict instead of list; use result[0]['translation_text'] -> Option A
  4. Quick Check:

    Pipeline output is list of dicts [OK]
Hint: Pipeline returns list; access first item before keys [OK]
Common Mistakes:
  • Treating output as dict directly
  • Using wrong pipeline name
  • Incorrect print syntax
5. You want to build a program that translates a list of English sentences to French and then back to English to check accuracy. Which approach is best?
hard
A. Translate sentences manually without AI models
B. Use two pipelines: 'translation_en_to_fr' then 'translation_fr_to_en' on each sentence
C. Use 'translation_en_to_de' pipeline followed by 'translation_de_to_en'
D. Use only 'translation_en_to_fr' pipeline twice on each sentence

Solution

  1. Step 1: Identify correct translation directions

    To translate English to French and back, use 'translation_en_to_fr' then 'translation_fr_to_en'.
  2. Step 2: Avoid wrong language pairs

    Using German pipelines or repeating the same pipeline won't give correct back translation.
  3. Step 3: Manual translation is inefficient and error-prone

    AI pipelines automate and improve accuracy checking.
  4. Final Answer:

    Use two pipelines: 'translation_en_to_fr' then 'translation_fr_to_en' on each sentence -> Option B
  5. Quick Check:

    Back translation needs correct language pairs [OK]
Hint: Use matching forward and backward pipelines for accuracy check [OK]
Common Mistakes:
  • Using wrong language pairs
  • Repeating same pipeline twice
  • Ignoring AI automation