Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Human evaluation frameworks 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 a simple human evaluation metric function that returns the average score.

Prompt Engineering / GenAI
def average_score(scores):
    return sum(scores) / [1]
Drag options to blanks, or click blank then click option'
Alen(scores)
Bsum(scores)
Cmax(scores)
Dmin(scores)
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing by sum(scores) instead of the count.
Using max or min instead of the count.
2fill in blank
medium

Complete the code to calculate the inter-rater agreement using Cohen's kappa formula denominator.

Prompt Engineering / GenAI
def cohen_kappa_denominator(p0, pe):
    return [1] - pe
Drag options to blanks, or click blank then click option'
A1
Bpe
Cp0
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using p0 instead of 1 in the denominator.
Subtracting p0 from pe instead of 1 from pe.
3fill in blank
hard

Fix the error in the code to compute the average human evaluation score from a dictionary of scores.

Prompt Engineering / GenAI
def average_human_score(scores_dict):
    total = sum(scores_dict.values())
    count = len([1])
    return total / count
Drag options to blanks, or click blank then click option'
Ascores_dict.keys()
Bscores_dict
Cscores_dict.items()
Dscores_dict.values()
Attempts:
3 left
💡 Hint
Common Mistakes
Using len(scores_dict.values()) which is valid but redundant here.
Using len(scores_dict.items()) which also works but is less direct.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that filters human evaluation scores above 3.

Prompt Engineering / GenAI
filtered_scores = [1]: score for [2], score in scores.items() if score > 3}
Drag options to blanks, or click blank then click option'
Arater
Bscore
Crater_id
Dscore_value
Attempts:
3 left
💡 Hint
Common Mistakes
Using the score as the key instead of the rater ID.
Mixing variable names inconsistently.
5fill in blank
hard

Fill all three blanks to compute the weighted average human evaluation score.

Prompt Engineering / GenAI
def weighted_average(scores, weights):
    total_weighted = sum(scores[i] * [1] for i in range(len(scores)))
    total_weight = sum([2])
    return total_weighted / [3]
Drag options to blanks, or click blank then click option'
Aweights[i]
Bweights
Ctotal_weight
Dscores[i]
Attempts:
3 left
💡 Hint
Common Mistakes
Using scores[i] instead of weights[i] in multiplication.
Dividing by weights instead of total_weight.

Practice

(1/5)
1. What is the main purpose of human evaluation frameworks in AI?
easy
A. To have people judge AI outputs for quality
B. To replace all automatic scoring methods
C. To train AI models faster
D. To collect data without human input

Solution

  1. Step 1: Understand the role of human evaluation

    Human evaluation frameworks involve people assessing AI outputs to check quality.
  2. Step 2: Compare with other options

    Options B, C, and D do not describe the main purpose correctly; human evaluation does not replace all automatic methods, nor is it for training or data collection without humans.
  3. Final Answer:

    To have people judge AI outputs for quality -> Option A
  4. Quick Check:

    Human evaluation = people judge AI outputs [OK]
Hint: Human evaluation means people check AI output quality [OK]
Common Mistakes:
  • Thinking human evaluation replaces automatic scores
  • Confusing evaluation with training
  • Assuming no human input is involved
2. Which of the following is a common method used in human evaluation frameworks?
easy
A. Simple rating scales
B. Automatic precision scoring
C. Gradient descent optimization
D. Data augmentation

Solution

  1. Step 1: Identify common human evaluation methods

    Simple rating scales are widely used for humans to rate AI outputs.
  2. Step 2: Eliminate unrelated options

    Automatic precision scoring, gradient descent, and data augmentation are technical methods not involving human judgment.
  3. Final Answer:

    Simple rating scales -> Option A
  4. Quick Check:

    Human evaluation uses rating scales [OK]
Hint: Look for methods involving human ratings or comparisons [OK]
Common Mistakes:
  • Choosing automatic or technical AI training methods
  • Confusing human evaluation with model training
  • Ignoring the human aspect in options
3. Consider a human evaluation where 3 raters score AI responses on a scale from 1 to 5. The scores for one response are [4, 5, 3]. What is the average score?
medium
A. 3
B. 5
C. 4
D. 12

Solution

  1. Step 1: Sum the scores given by raters

    4 + 5 + 3 = 12
  2. Step 2: Calculate the average score

    Average = Total sum / Number of raters = 12 / 3 = 4
  3. Final Answer:

    4 -> Option C
  4. Quick Check:

    (4+5+3)/3 = 4 [OK]
Hint: Add scores then divide by number of raters [OK]
Common Mistakes:
  • Adding but forgetting to divide by number of raters
  • Choosing the sum instead of average
  • Mixing up the scale values
4. A human evaluation study uses a comparison method where raters choose the better of two AI outputs. The code below has an error. What is the error?
def compare_outputs(output1, output2, rater_choice):
    if rater_choice == 'output1':
        return output1
    elif rater_choice == 'output2':
        return output2

result = compare_outputs('Answer A', 'Answer B', 'output3')
print(result)
medium
A. The comparison method cannot use strings as choices
B. The function should return both outputs instead of one
C. The print statement is missing parentheses
D. The function does not handle invalid rater choices properly

Solution

  1. Step 1: Trace the code execution for invalid input

    For rater_choice='output3', neither condition matches, so no explicit return; function implicitly returns None.
  2. Step 2: Identify the error

    Returning None for invalid choices is improper handling. Should explicitly manage invalid inputs (e.g., return error message or raise exception).
  3. Final Answer:

    The function does not handle invalid rater choices properly -> Option D
  4. Quick Check:

    Invalid input -> returns None [OK]
Hint: Check how function handles unexpected inputs [OK]
Common Mistakes:
  • Assuming print syntax error in Python 3
  • Thinking function must return both outputs
  • Ignoring the lack of else clause handling
5. You want to design a human evaluation framework to compare two AI chatbots. Which approach best balances simplicity and detailed feedback?
hard
A. Use only open-ended feedback without ratings
B. Use simple rating scales plus side-by-side output comparisons
C. Use automatic BLEU scores without human input
D. Use complex statistical models without human ratings

Solution

  1. Step 1: Consider evaluation goals

    Balancing simplicity and detail means combining easy-to-use ratings with meaningful comparisons.
  2. Step 2: Evaluate options

    Use only open-ended feedback without ratings lacks ratings, making quantitative comparison hard. Use automatic BLEU scores without human input and D exclude human input, missing human judgment. Use simple rating scales plus side-by-side output comparisons combines ratings and comparisons, fitting the goal.
  3. Final Answer:

    Use simple rating scales plus side-by-side output comparisons -> Option B
  4. Quick Check:

    Simple ratings + comparisons = balanced evaluation [OK]
Hint: Combine ratings with comparisons for best feedback [OK]
Common Mistakes:
  • Ignoring human input in evaluation
  • Choosing only open feedback without structure
  • Relying solely on automatic metrics