code: def eval_sample(self, sample, rng):
      assert isinstance(sample, Sample)
  
      options, correct_answer = make_abc(
          answers=sample.answers,
          correct_idx=sample.label,
          rng=rng,
      )
  
      prompt = (
          self.instructions
          + "\nPlease answer with the letter of the correct answer."
          + "\n\n"
          + sample.question
          + "\n"
          + options
      )
      result = self.completion_fn(
          prompt=prompt,
          temperature=0.0,
          max_tokens=1,
      )
      sampled = result.get_completions()[0]
  
      evals.record_and_check_match(
          prompt=prompt,
          sampled=sampled,
          expected=correct_answer,
      )
  
file_path: evals/evals/elsuite/multiple_choice.py
imports: from typing import Optional
  from urllib.parse import parse_qs, urlparse
  from datasets import load_dataset
  from pydantic import BaseModel
  import evals
  import evals.metrics
  from evals.api import CompletionFn
  from evals.formatting import make_abc
  from evals.record import RecorderBase
label_desc: Use image node_id 2 for calling the MultipleChoice obj's underlying member method code with example usage: obj.eval_sample(sample, rng) without return types