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
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)
TextPromptTokensPrompt)init_logger)TokenizerLike   )RendererLikec                       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ee eeB f fddZdee deee eeB f fddZ  ZS )TerratorchRendererconfigr   tokenizer_kwargsreturnr   c                 C   s   | |S N )clsr   r   r   r   V/home/ubuntu/veenaModal/venv/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__r   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messagesc                 K   sN   | j }t||dd\}}}tdgd}|d ur||d< |d ur#||d< ||fS Nstring)content_formatr   )prompt_token_idsmulti_modal_datamulti_modal_uuids)r   r   r	   r   r!   kwargsmodel_configconversationmm_datamm_uuidspromptr   r   r   render_messages-   s   z"TerratorchRenderer.render_messagesc                    sV   | j }t||ddI d H \}}}tdgd}|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   tupler   r   r	   r/   r0   __classcell__r   r   r   r   r      s.    

r   N)typingr   vllm.configr   vllm.entrypoints.chat_utilsr   r   r   r   vllm.inputsr   r	   vllm.loggerr
   vllm.tokenizersr   protocolr   r1   loggerr   r   r   r   r   <module>   s   