o
    5tiU                     @   s0  d dl Z d dlZg dZi ddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&iZi ZeD ]-Zedkr[d'd(d)ee d*ee< qIedkrkd+d,d)ee d*ee< qId-d.d)ee d*ee< qId/d0 Zd1ed2ed3ed4dfd5d6Z	d:d7d8Z
ed9kre
  dS dS );    N)engamhibofrasnalinwolewelugxhokintwizulormyorhausotswar   zThe answer is (\-?[0-9\.\,]+)r   u   መልሱ (\-?[0-9\.\,]+)r   u   Azịza ya bụ (\-?[0-9\.\,]+)r   u   La réponse est(\-?[0-9\.\,]+)r   z'Mhinduro kumubvunzo ndi (\-?[0-9\.\,]+)r   zEyano ezali (\-?[0-9\.\,]+)r   zTontu li (\-?[0-9\.\,]+)r	   u   ŋuɖoɖoae nye (\-?[0-9\.\,]+)r
   zAnsa eri (\-?[0-9\.\,]+)r   zImpendulo ngu (\-?[0-9\.\,]+)r   zIgisubizo ni (\-?[0-9\.\,]+)r   u   Ne nnyiano yɛ (\-?[0-9\.\,]+)r   zImpendulo ithi (\-?[0-9\.\,]+)r   zDeebiin isaa (\-?[0-9\.\,]+)r   u"   Ìdáhùn náà ni (\-?[0-9\.\,]+)r   zAmsar ita ce (\-?[0-9\.\,]+)r   zKarabo ke (\-?[0-9\.\,]+)r   zJibu ni (\-?[0-9\.\,]+)u
   ጥያቄ:u$   በቅደም ተከተል መልስ:zAnswer:)QUESTIONANSWERDIRECTREGEXu   Ìbéèrè:u   Ìdáhùn lẹ́sẹsẹ:z	Question:zStep-by-Step Answer:c                 C   sD   | d u ri S ddd|  dddigdddd	d
dddigdgiS )Nfilter_listzstrict-matchregex)functionregex_patternr   
take_first)namefilterzflexible-extractz(-?[$0-9.,]{2,})|(-?[0-9]+))r   r   group_select )r   r!   r!   P/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/tasks/afrimgsm/utils.pyadd_regex_patternK   s,   r#   
output_dir	overwritemodereturnc                 C   s\  g }t  D ]}zd}i }d}|dkr*t d d }t d d }	d}
d| }d}|d	krDt | d }t | d }	d}
d
| }d}n]|dkrlt | d }t | d }
t | d }	d| }t|
}|dv ridnd}n5|dkrt d d }t d d }
t d d }	d| }n|dkrt d d }t d d }	d}
d| }d}| d}tt | d d }t|  d| |rdndddA}|d tj||| d| d |	 d!| d"d#| d$d%|d&|	d'd(gd)d*i|rd+|ini |d,td-d. W d   n	1 sw   Y  W q t	y   |
| Y qw t|d/kr,t	d0d1| dS )2z
    Generate a yaml file for each language.

    :param output_dir: The directory to output the files to.
    :param overwrite: Whether to overwrite files if they already exist.
    cot_yamlNdirectr   r   r   afrimgsm_direct_direct_yamldirect-nativeafrimgsm_direct_native_direct_native_yaml
native-cotr   r   afrimgsm_native_cot_)zhja en-cotafrimgsm_en_cot_translate-directafrimgsm_translate_direct_translate_direct_yamlz.yaml   /wxutf8)encodingz# Generated by utils.py
z){% if answer is not none %}{{question+"\nz"}}{% else %}{{"z "+question+"\nz"}}{% endif %}z${% if answer is not none %}{{answer[z1:]}}{% else %}{{answer_number|string}}{% endif %})includedataset_nametaskdoc_to_textdoc_to_targetgeneration_kwargsz</s>z
<|im_end|>F)until	do_sampletarget_delimiterTinf)allow_unicodewidthr   zJFiles were not created because they already exist (use --overwrite flag): z, )	LANGUAGESkeysr#   lenopenwriteyamldumpfloatFileExistsErrorappendjoin)r$   r%   r&   errlangyaml_templater   	DELIMITERr   r   r   	task_name	file_nameANSWER_TO_SKIPfr!   r!   r"   gen_lang_yamlsm   s   





r^   c                  C   s`   t  } | jddddd | jdddd	 | jd
dg ddd |  }t|j|j|jd dS )z9Parse CLI args and generate language-specific yaml files.z--overwriteF
store_truez%Overwrite files if they already exist)defaultactionhelpz--output-dir.z Directory to write yaml files to)r`   rb   z--moder/   )r)   r,   r/   r4   r6   zMode of chain-of-thought)r`   choicesrb   )r$   r%   r&   N)argparseArgumentParseradd_argument
parse_argsr^   r$   r%   r&   )parserargsr!   r!   r"   main   s$   rk   __main__)r'   N)re   rP   	languageslanguages_REGEXrK   rW   r#   strboolr^   rk   __name__r!   r!   r!   r"   <module>   s    	
	"
V
