code: def _process_doc(self, doc):
      def format_example(doc, choices):
          """
          Passage: <passage>
          Question: <question>
          Choices:
          A. <choice1>
          B. <choice2>
          C. <choice3>
          D. <choice4>
          Answer:
          """
          prompt = "Passage: " + doc["context"] + "\n"
          prompt += "Question: " + doc["question"] + "\nChoices:\n"
          for choice, option in zip(choices, doc["options"]):
              prompt += f"{choice.upper()}. {option}\n"
          prompt += "Answer:"
          return prompt
  
      choices = ["a", "b", "c", "d"]
      return {
          "passage": doc["context"],  # Used for decontamination
          "query": format_example(doc, choices),
          "choices": doc["options"],
          "gold": choices.index(doc["label"]),
      }
  
file_path: lm-evaluation-harness/lm_eval/tasks/logiqa.py
imports: import inspect
  import lm_eval.datasets.logiqa.logiqa
  from lm_eval.base import MultipleChoiceTask
label_desc: Use image node_id 7 for calling the LogiQA obj's underlying member method code with example usage: obj._process_doc(doc) and returns: dict, prompt