def get_answer_type_text()

in src/lighteval/tasks/extended/olympiade_bench/main.py [0:0]


def get_answer_type_text(answer_type, is_chinese, multiple_answer):
    if (
        ("Need_human_evaluate" in answer_type) or ("Tuple" in answer_type)
    ):  # 'Tuple' has various meanings in different context, such as position or values of a series of variable, so it may lead to confusion to directly use 'tuple' in the prompt.
        full_answer_text = ""
    else:
        if not multiple_answer:
            answer_text = get_single_answer_type_text(answer_type, is_chinese)
            if is_chinese:
                full_answer_text = f",答案类型为{answer_text}"
            else:
                full_answer_text = f"The answer of The problem should be {answer_text}. "
        else:
            if "," not in answer_type:  # Same answer type for all answers
                answer_text = get_single_answer_type_text(answer_type, is_chinese)
                if is_chinese:
                    full_answer_text = f",题目有多个答案,答案类型均为{answer_text}"
                else:
                    full_answer_text = f"The problem has multiple answers, each of them should be {answer_text}. "
            else:
                answer_types = answer_type.split(",")
                answer_types = [get_single_answer_type_text(t, is_chinese) for t in answer_types]
                if len(set(answer_types)) == 1:
                    answer_text = answer_types[0]
                    if is_chinese:
                        full_answer_text = f",题目有多个答案,答案类型均为{answer_text}"
                    else:
                        full_answer_text = f"The problem has multiple answers, each of them should be {answer_text}. "
                else:
                    if is_chinese:
                        answer_text = "、".join(answer_types)
                        full_answer_text = f",题目有多个答案,答案类型分别为{answer_text}"
                    else:
                        answer_text = ", ".join(answer_types)
                        full_answer_text = (
                            f"The problem has multiple answers, with the answers in order being {answer_text}. "
                        )
    return full_answer_text