haerae.py 1.02 KB
Newer Older
GUIJIN SON's avatar
GUIJIN SON committed
1
2
3
4
5
from lm_eval.base import MultipleChoiceTask


class Haerae(MultipleChoiceTask):
    VERSION = 0
GUIJIN SON's avatar
GUIJIN SON committed
6
    DATASET_PATH = "amphora/haerae_bench"
GUIJIN SON's avatar
GUIJIN SON committed
7
8
9
10
11
12
13
14
15
16
17
18

    def has_training_docs(self):
        return False

    def has_validation_docs(self):
        return False

    def has_test_docs(self):
        return True

    def test_docs(self):
        return map(self._process_doc, self.dataset["test"])
jonabur's avatar
jonabur committed
19

GUIJIN SON's avatar
GUIJIN SON committed
20
21
22
23
24
25
26
    def _process_doc(self, doc):
        choices = [doc["o1"], doc["o2"], doc["o3"], doc["o4"]]
        if doc.get("o5") is not None:
            choices.append(doc["o5"])
        out_doc = {
            "query": doc["query"],
            "choices": choices,
jonabur's avatar
jonabur committed
27
            "gold": int(doc["gold"]) - 1,
GUIJIN SON's avatar
GUIJIN SON committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
        }
        return out_doc

    def doc_to_text(self, doc):
        return doc["query"]


class HI(Haerae):
    DATASET_NAME = "HI"


class KGK(Haerae):
    DATASET_NAME = "KGK"


class LW(Haerae):
    DATASET_NAME = "LW"


class RC(Haerae):
    DATASET_NAME = "RC"


class RW(Haerae):
    DATASET_NAME = "RW"


class SN(Haerae):
    DATASET_NAME = "SN"