o
    5ti$                     @   sB   d dl mZmZ d dlmZmZmZ ed ZeG dd dZdS )    )	dataclassfield)LiteralOptionalTuple)loglikelihoodloglikelihood_rollinggenerate_untilmultiple_choicec                   @   s   e Zd ZU eed< eed< eed< eed< edd dZ	e
ee ee ee f ed< eedZeed	< eedZeed
< dZee ed< dZee ed< dZee ed< dddZedd ZdS )Instancerequest_typedoc	argumentsidxc                   C   s   dS )N)NNN r   r   r   H/home/ubuntu/.local/lib/python3.10/site-packages/lm_eval/api/instance.py<lambda>   s    zInstance.<lambda>)default_factorymetadatarespsfiltered_respsN	task_namedoc_idrepeatsreturnc                 C   s   | j \| _| _| _d S )N)r   r   r   r   selfr   r   r   __post_init__   s   zInstance.__post_init__c                 C   s   t | jtr	| jS | jfS )z`
        Returns (string,) where `string` is the string to calculate loglikelihood over
        )
isinstancer   tupler   r   r   r   args   s   zInstance.args)r   N)__name__
__module____qualname__
OutputType__annotations__dictr   intr   r   r   r   strlistr   r   r   r   r   r   propertyr    r   r   r   r   r   
   s    
 $
r   N)	dataclassesr   r   typingr   r   r   r$   r   r   r   r   r   <module>   s    