code: def combine_prompt(
      prompt_path, dataset_name, load_explanation=True, chat_mode=False
  ):
      demostrations = []
      demostration_en = (
          "Here are the answers for the problems in the exam."
      )
      demostration_zh = "以下是考试中各个问题的答案。"
  
      if (
          dataset_name in english_qa_datasets
          or dataset_name in english_cloze_datasets
      ):
          demostrations.append(demostration_en)
      elif (
          dataset_name in chinese_qa_datasets
          or dataset_name in chinese_cloze_datasets
      ):
          demostrations.append(demostration_zh)
  
      skip_passage = False
      if dataset_name == "sat-en-without-passage":
          skip_passage = True
          dataset_name = "sat-en"
  
      # read the prompts by context and explanation
      context_row = [0, 1, 3, 5, 7, 9]
      explanation_row = [0, 2, 4, 6, 8, 10]
      raw_prompts_context = pd.read_csv(
          prompt_path,
          header=0,
          skiprows=lambda x: x not in context_row,
          keep_default_na=False,
      )
      raw_prompts_explanation = pd.read_csv(
          prompt_path,
          header=0,
          skiprows=lambda x: x not in explanation_row,
          keep_default_na=False,
      ).replace(r"\n\n", "\n", regex=True)
      contexts = []
      for line in list(raw_prompts_context[dataset_name]):
          if line:
              # print(line)
              contexts.append(ast.literal_eval(line))
      explanations = [
          exp for exp in raw_prompts_explanation[dataset_name] if exp
      ]
  
      for idx, (con, exp) in enumerate(zip(contexts, explanations)):
          passage = (
              con["passage"]
              if con["passage"] is not None and not skip_passage
              else ""
          )
          question = con["question"]
          options = con["options"] if con["options"] is not None else ""
          label = con["label"] if con["label"] is not None else ""
          answer = (
              con["answer"]
              if "answer" in con and con["answer"] is not None
              else ""
          )
  
          if dataset_name in english_qa_datasets:
              question_input = (
                  "Question: "
                  + passage
                  + " "
                  + question
                  + "\n"
                  + "Choose from the following options: "
                  + " ".join(options)
                  + "\n"
                  + "Answer: {}".format(label)
              )
          elif dataset_name in chinese_qa_datasets:
              question_input = (
                  "问题："
                  + passage
                  + " "
                  + question
                  + "\n"
                  + "从以下选项中选择："
                  + " ".join(options)
                  + "\n"
                  + "答案：{}".format(label)
              )
          elif dataset_name in english_cloze_datasets:
              question_input = (
                  "Question: ".format(idx + 1)
                  + question
                  + "\n"
                  + "Answer: {}".format(answer)
              )
          elif dataset_name in chinese_cloze_datasets:
              question_input = (
                  "问题：" + question + "\n" + "答案：{}".format(answer)
              )
          else:
              raise ValueError(
                  f"During loading few-sot examples, found unknown dataset: {dataset_name}"
              )
  
          if chat_mode:
              demostrations.append((question_input,))
          else:
              demostrations.append(question_input)
  
      return demostrations
  
file_path: ColossalAI/applications/ColossalEval/colossal_eval/dataset/agieval.py
imports: import ast
  import glob
  import os
  from copy import deepcopy
  from typing import Dict, List
  import pandas
  from colossal_eval.utils import get_json_list
  from colossalai.logging import DistributedLogger
  from .base import BaseDataset
label_desc: Use image node_id 2 for calling a global function with example usage: combine_prompt(prompt_path, dataset_name, load_explanation, chat_mode) and returns: demostrations