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 dd
lmZ e
eZG dd deZdS )    )Any)ModelConfig)ChatCompletionMessageParamConversationMessageparse_chat_messagesparse_chat_messages_async)init_logger)TokenizerLike   )
DictPrompt)parse_dec_only_prompt)
ChatParams)BaseRendererc                       s   e Zd Zedddeeef ddfddZdeddf fd	d
Z	e
dedB fddZde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  ZS )TerratorchRendererconfigr   tokenizer_kwargsreturnr   c                 C   s   | |S N )clsr   r   r   r   O/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/renderers/terratorch.pyfrom_config   s   zTerratorchRenderer.from_configNc                    s   t  | |jstdd S )Nz7Terratorch renderer requires `skip_tokenizer_init=True`)super__init__skip_tokenizer_init
ValueError)selfr   	__class__r   r   r       s   zTerratorchRenderer.__init__c                 C   s   d S r   r   r   r   r   r   	tokenizer&   s   zTerratorchRenderer.tokenizerc                 C   s   t d)Nz/Tokenizer not available for Terratorch renderer)r   r   r   r   r   get_tokenizer*   s   z TerratorchRenderer.get_tokenizermessagesparamsc                 C   sL   | j }t||dd\}}}tdg}|d ur||d< |d ur"||d< ||fS Nstring)content_formatr
   multi_modal_datamulti_modal_uuids)r   r   r   r   r"   r#   model_configconversationmm_datamm_uuidspromptr   r   r   render_messages-   s   
z"TerratorchRenderer.render_messagesc                    sT   | j }t||d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   render_messages_asyncB   s   
z(TerratorchRenderer.render_messages_async)__name__
__module____qualname__classmethoddictstrr   r   r   r   propertyr	   r    r!   listr   r   tupler   r   r/   r0   __classcell__r   r   r   r   r      s6    

r   N)typingr   vllm.configr   vllm.entrypoints.chat_utilsr   r   r   r   vllm.loggerr   vllm.tokenizersr	   inputsr   inputs.preprocessr   r#   r   protocolr   r1   loggerr   r   r   r   r   <module>   s   