Bird
0
0

You want to create a custom metric that returns the average length difference between predictions and references. Which code snippet correctly implements this?

hard📝 Application Q8 of 15
LangChain - Evaluation and Testing
You want to create a custom metric that returns the average length difference between predictions and references. Which code snippet correctly implements this?
Aclass LengthDiffMetric(BaseEvalMetric):\n def evaluate(self, predictions, references):\n return len(predictions) - len(references)
Bclass LengthDiffMetric(BaseEvalMetric):\n def evaluate(self, predictions, references):\n diffs = [abs(len(p) - len(r)) for p, r in zip(predictions, references)]\n return sum(diffs) / len(diffs)
Cclass LengthDiffMetric(BaseEvalMetric):\n def evaluate(self, predictions, references):\n return max(len(predictions), len(references))
Dclass LengthDiffMetric(BaseEvalMetric):\n def evaluate(self, predictions, references):\n diffs = [len(p) + len(r) for p, r in zip(predictions, references)]\n return sum(diffs)
Step-by-Step Solution
Solution:
  1. Step 1: Calculate absolute length differences for each pair

    Use list comprehension with abs(len(p) - len(r)) for each prediction-reference pair.
  2. Step 2: Compute average by summing differences and dividing by count

    Sum all differences and divide by number of pairs to get average difference.
  3. Final Answer:

    Code that calculates average absolute length difference per pair -> Option B
  4. Quick Check:

    Average length difference = sum(abs diffs)/count [OK]
Quick Trick: Use abs length difference and average over pairs [OK]
Common Mistakes:
MISTAKES
  • Subtracting list lengths instead of element lengths
  • Using max length instead of difference
  • Adding lengths instead of difference

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More LangChain Quizzes