o
    :/i	                     @   s   d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 ddlmZ ddlmZ ddlmZ dd	lmZ e
eZG d
d deZdS )    )Any)
VllmConfig)ChatCompletionMessageParamConversationMessageparse_chat_messagesparse_chat_messages_async)init_logger   )BaseRenderer)
DictPrompt)parse_dec_only_prompt)
ChatParamsc                   @   sz   e Zd Zededeeef dd fddZde	e
 dedee	e ef fdd	Zde	e
 dedee	e ef fd
dZdS )TerratorchRendererconfigtokenizer_kwargsreturnc                 C   s   |j }|js
td| |d S )Nz7Terratorch renderer requires `skip_tokenizer_init=True`)model_configskip_tokenizer_init
ValueError)clsr   r   r    r   f/lsinfo/ai/hellotax_ai/llm_service/venv_vllm/lib/python3.10/site-packages/vllm/renderers/terratorch.pyfrom_config   s   
zTerratorchRenderer.from_configmessagesparamsc                 C   sT   | j }t||d|j|jd\}}}tdg}|d ur||d< |d ur&||d< ||fS Nstring)content_formatmedia_io_kwargsmm_processor_kwargsr	   multi_modal_datamulti_modal_uuids)r   r   r   r   r   selfr   r   r   conversationmm_datamm_uuidspromptr   r   r   render_messages#   s   
z"TerratorchRenderer.render_messagesc                    s\   | j }t||d|j|jdI d H \}}}tdg}|d ur"||d< |d ur*||d< ||fS r   )r   r   r   r   r   r"   r   r   r   render_messages_async:   s   
z(TerratorchRenderer.render_messages_asyncN)__name__
__module____qualname__classmethodr   dictstrr   r   listr   r   tupler   r   r(   r)   r   r   r   r   r      s.    

r   N)typingr   vllm.configr   vllm.entrypoints.chat_utilsr   r   r   r   vllm.loggerr   baser
   inputsr   inputs.preprocessr   r   r   r*   loggerr   r   r   r   r   <module>   s   