o
    7tir                     @   s   d dl Z d dlmZ d dlmZ ee jjd Zej	ddZ
e e
ZW d   n1 s0w   Y  dedefd	d
Zdd Zdd Ze  dS )    N)partial)Pathzsubjects.jsonzutf-8)encodingnamereturnc                 C   s>   t | ts| S dD ]}| |}|dkr| d|   S q	| S )z
    Some MMMLU configs embed CSV filenames in the Subject column (e.g.
    `college_mathematics_test.csv_sw-KE.csv`). Strip the `_test.csv` suffix and
    anything that follows so we always compare against the canonical subject id.
    )z	_test.csvz_test-N)
isinstancestrfind)r   markeridx r   \/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/tasks/openai-mmmlu/default/utils.py_normalize_subject_name
   s   

r   c                 C   s   |}|fdd}|  |S )Nc                 S   s   t | d }||kS )NSubject)r   )rowtargetrow_subjectr   r   r   
_predicate   s   z#_filter_subject.<locals>._predicate)filter)datasetsubject
normalizedr   r   r   r   _filter_subject   s   
r   c                  C   s&   t D ]} tt| dt d|  < qd S )Nr   process_)SUBJECTSr   r   globalsr   r   r   r   _register_subject_filters#   s   r   )json	functoolsr   pathlibr   __file__resolveparentSUBJECTS_PATHopenfloadr   r	   r   r   r   r   r   r   r   <module>   s    

