o
    6tiV                     @   s   d dl mZ d dlmZ defddZdefddZdee fdd	Zd
edefddZd
edefddZ	d
edefddZ
d
edefddZd
edefddZd
edefddZd
edefddZd
edefddZdS )    )List)Datasetreturnc                 C   s   | d }| d }| d }|r-d| d| d|d  d|d	  d
|d  d|d  d}|S d| d|d  d|d	  d
|d  d|d  d}|S )N	paragraphquestionchoicesu   주어진 맥락을 천천히 읽고, 질문에 대한 적절한 정답을 A, B, C, D 중에 골라 알파벳 하나로 답하시오.

맥락: u	   
질문: u   
보기:
A:r   z, B:    z, C:    z, D:    u   
정답:u~   주어진 질문을 천천히 읽고, 적절한 정답을 A, B, C, D 중에 골라 알파벳 하나로 답하시오.

질문:  )docctxqoptresr   r   W/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/tasks/click/click_cul/utils.pyget_context   s   :4r   c                 C   s@   | d }d| d v rg d| d  | S g d| d  | S )NanswerCSATidABCDEr   r   r   r   r   )index)r   ansr   r   r   
get_target   s   r   c                 C   s   d| d v r
g dS g dS )Nr   r   r   r   r   )r   r   r   r   get_choices   s   r    datasetc                 C      |  dd S )Nc                 S      d| d   v S )Neconomyr   lowerexampler   r   r   <lambda>        z!extract_economy.<locals>.<lambda>filterr!   r   r   r   extract_economy      r.   c                 C   r"   )Nc                 S   r#   )N	geographyr   r%   r'   r   r   r   r)   $   r*   z#extract_geography.<locals>.<lambda>r+   r-   r   r   r   extract_geography#   r/   r1   c                 C   r"   )Nc                 S   s   d| d v pd| d   v S )NKHBr   historyr%   r'   r   r   r   r)   )       z!extract_history.<locals>.<lambda>r+   r-   r   r   r   extract_history'      r5   c                 C   r"   )Nc                 S   s   d| d   v pd| d v S )Nlawr   PSATr%   r'   r   r   r   r)   /   r4   zextract_law.<locals>.<lambda>r+   r-   r   r   r   extract_law-   r6   r9   c                 C   r"   )Nc                 S   r#   )Npoliticsr   r%   r'   r   r   r   r)   4   r*   z"extract_politics.<locals>.<lambda>r+   r-   r   r   r   extract_politics3   r/   r;   c                 C   r"   )Nc                 S   r#   )Npopularr   r%   r'   r   r   r   r)   8   r*   zextract_kpop.<locals>.<lambda>r+   r-   r   r   r   extract_kpop7   r/   r=   c                 C   r"   )Nc                 S   r#   )Nsocietyr   r%   r'   r   r   r   r)   <   r*   z!extract_society.<locals>.<lambda>r+   r-   r   r   r   extract_society;   r/   r?   c                 C   r"   )Nc                 S   r#   )N	traditionr   r%   r'   r   r   r   r)   @   r*   z#extract_tradition.<locals>.<lambda>r+   r-   r   r   r   extract_tradition?   r/   rA   N)typingr   datasetsr   strr   r   r    r.   r1   r5   r9   r;   r=   r?   rA   r   r   r   r   <module>   s    