utils.py 672 Bytes
Newer Older
1
from lm_eval.utils import weighted_f1_score
2
3
4
5
6
7
8
9


def doc_to_choice(doc):
    choices = eval(doc["choices"])
    return choices


def doc_to_text(doc):
10
11
12
13
14
15
16
17
18
    output = """Given your proficiency in {subject}, please answer the subsequent multiple-choice question with 'A', 'B', 'C', or 'D'.

Question: {question}
Choices:
        A: {choice1}
        B: {choice2}
        C: {choice3}
        D: {choice4}
Answer: """
Lintang Sutawika's avatar
Lintang Sutawika committed
19

20
    choices = eval(doc["choices"])
Lintang Sutawika's avatar
Lintang Sutawika committed
21
22
23
24
25
26
27
28
    text = output.format(
        subject=doc["subject"],
        question=doc["question"],
        choice1=choices[0],
        choice2=choices[1],
        choice3=choices[2],
        choice4=choices[3],
    )
29
    return text