utils.py 1.08 KB
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):
lintangsutawika's avatar
lintangsutawika committed
10
    output = """You are a highly knowledgeable and intelligent artificial intelligence
11
                model answers multiple-choice questions about '{subject}'
lintangsutawika's avatar
lintangsutawika committed
12

13
14
15
16
17
18
19
                Question: '''{question}'''

                Choices:
                        A: ''{choice1}'''
                        B: ''{choice2}'''
                        C: ''{choice3}'''
                        D: ''{choice4}'''
lintangsutawika's avatar
lintangsutawika committed
20

21
                Answer:  """
lintangsutawika's avatar
lintangsutawika committed
22

23
    choices = eval(doc["choices"])
lintangsutawika's avatar
lintangsutawika committed
24
25
26
27
28
29
30
31
    text = output.format(
        subject=doc["subject"],
        question=doc["question"],
        choice1=choices[0],
        choice2=choices[1],
        choice3=choices[2],
        choice4=choices[3],
    )
32
    return text
lintangsutawika's avatar
lintangsutawika committed
33
<<<<<<< HEAD
34
35
36
37
38
39
40


def weighted_f1_score(items):
    unzipped_list = list(zip(*items))
    golds = unzipped_list[0]
    preds = unzipped_list[1]
    fscore = f1_score(golds, preds, average="weighted")
lintangsutawika's avatar
lintangsutawika committed
41
    return fscore
lintangsutawika's avatar
lintangsutawika committed
42
43
=======
>>>>>>> 0571eeb14d4e48aac51956a726c62cd8b382b3d8