o
    0jy	                     @   s>   d dl Z d dlmZ ddgZdeee  fddZdd ZdS )    N)Listconvert_to_dict_messagefn_args_to_dictconversationc                 C   s   g }t | D ]U\}}dt|  krdksJ d J dt|d trX|d|d d t|dkrGt|d trG|d|d d q|t| d krWtd| d	qtd
|S )zEConvert the list of chat messages to a role dictionary chat messages.      z8Each Rounds in conversation should have 1 or 2 elements.r   user)ZrolecontentZ	assistantzRound z has error roundz#Each round in list should be string)	enumeratelen
isinstancestrappend
ValueError)r   Zconversationsindexitem r   p/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/inference/models/common/tokenizer/utils.pyr      s    c                 O   s   t | \}}}}}}}tt||}|r#tt|t| d |ni }	t|	 D ]}
|
|v r6|	|
 q+|	| ||	 |S )z
    Inspect function `func` and its arguments for running, and extract a
    dict mapping between argument names and keys.
    N)	inspectgetfullargspecdictzipr   listkeyspopupdate)funcargskwargsZ	spec_argsZspec_varargsZ
spec_varkwZspec_defaults_	init_dictZkwargs_dictkr   r   r   r   -   s   


)r   typingr   __all__r   r   r   r   r   r   r   <module>   s   