dataset_path: Idavidrein/gpqa
tag: gpqa
output_type: generate_until
process_docs: !function utils.process_docs
training_split: train
# Because huggingface dataset only has train split
validation_split: train
test_split: null
doc_to_text: "Answer the following multiple choice question. The final last line of your response should be of the following format: 'Answer: LETTER' where LETTER is one of ABCD. In other words, your response should always end in one of 'Answer: A', 'Answer: B', 'Answer: C', or 'Answer: D'. Think step by step before answering.\n\n{{Question}}\nA) {{choice1}}\nB) {{choice2}}\nC) {{choice3}}\nD) {{choice4}}"
doc_to_target: answer
filter_list:
  - name: get_response
    filter:
      # Filter everything before the last "Answer:"
      - function: "regex"
        regex_pattern: "^(?:[\\s\\S]*(?:Answer:|ANSWER:)\\s*)([\\s\\S]*)$"
      # Filter everything after the first break line
      - function: "regex"
        regex_pattern: "^(.*?)(?=\\n|$)"
      # Remove leading white spaces
      - function: remove_whitespace
      # function to ignore right white spaces or line breaks
      - function: "regex"
        regex_pattern: "^(.*?)\\s*$"
      - function: take_first
generation_kwargs:
  until:
    - "</s>"
    - "<|eot_id|>"
    - "<｜end▁of▁sentence｜>"
  do_sample: false
  temperature: 0.0
num_fewshot: 0
metric_list:
  - metric: exact_match
    aggregation: mean
    higher_is_better: true
    ignore_case: true
    ignore_punctuation: true
metadata:
  version: 1.0
