
    {-j	                     v    d Z ddlmZmZmZ ddlmZ dededefdZ		 dd
edee
         dedeeef         fdZdS )z'Shared utilities for DocVLM predictors.    )AnyDictList   )MODEL_GROUP
model_name
group_namereturnc                 H    | t          j        |t                                v S )z5Check if model_name belongs to the given model group.)r   getset)r   r	   s     f/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/inference/models/doc_vlm/utils.pyis_in_groupr      s    SUU;;;;    Tmodel_predssrc_dataadd_input_pathc                    t          | t                    s| g} t          |t                    s|g}g }|D ]X}t          |          }|r0|                    dd          }t          |t                    r||d<   |                    |           Yt          |           t          |          k    r0t          dt          |            dt          |           d          d |d                                         D             }g |d	<   t          ||           D ]X\  }}|                                D ]#}	||	                             ||	                    $|d	                             |           Y|S )
aZ  Format model predictions and source data into a result dict.

    Args:
        model_preds: Model predictions (single or list).
        src_data: Source data list.
        add_input_path: If True, add input_path from image when image is a path string.

    Returns:
        Dict with keys from src_data plus "result" containing predictions.
    imageN
input_pathzModel predicts z results while src data has z	 samples.c                     i | ]}|g S  r   ).0ks     r   
<dictcomp>z.format_doc_vlm_result_dict.<locals>.<dictcomp>;   s    ;;;q";;;r   r   result)

isinstancelistdictr   strappendlen
ValueErrorkeyszip)
r   r   r   
input_infodatar   rst_format_dictdata_sample
model_predr   s
             r   format_doc_vlm_result_dictr+      s    k4(( $"mh%% :J    Dzz 	+HHWd++E%%% +%*\"$
;3z??**fc+..ffCPZOOfff
 
 	
 <;jm&8&8&:&:;;;O "OH#&z;#?#? 5 5Z!!## 	6 	6AA%%k!n5555!((4444r   N)T)__doc__typingr   r   r   	constantsr   r    boolr   r   r+   r   r   r   <module>r0      s    . - " " " " " " " " " " " " " " " "<C <S <T < < < < DH( (( $T
(<@(	#t)_( ( ( ( ( (r   