
    .`i                         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 dd	lmZ  ee          Z G d
 de          ZdS )    )Any)ModelConfig)ChatCompletionMessageParamConversationMessageparse_chat_messagesparse_chat_messages_async)
TextPromptTokensPrompt)init_logger)cached_get_tokenizer)Grok2Tokenizer   )RendererLikec                       e Zd Zededeeef         ddfd            Zdedeeef         ddf fdZ	e
dedz  fd            Zdefd	Zd
ee         deee         eez  f         fdZd
ee         deee         eez  f         fdZ xZS )Grok2Rendererconfigtokenizer_kwargsreturnr   c                      | ||          S N )clsr   r   s      h/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/renderers/grok2.pyfrom_configzGrok2Renderer.from_config   s     s6+,,,    Nc                     t                                                       || _        |j        rd }nt	          ddt
          i|}|| _        d S )Ntokenizer_clsr   )super__init__r   skip_tokenizer_initr   r   
_tokenizer)selfr   r   	tokenizer	__class__s       r   r   zGrok2Renderer.__init__   se    
 	% 	II,  ," I
 $r   c                     | j         S r   )r!   )r"   s    r   r#   zGrok2Renderer.tokenizer2   s
    r   c                 6    | j         }|t          d          |S )Nz7Tokenizer not available when `skip_tokenizer_init=True`)r#   
ValueError)r"   r#   s     r   get_tokenizerzGrok2Renderer.get_tokenizer6   s$    N	VWWWr   messagesc                    |                                  }t          || j        d          \  }}} |j        d||d|}t	          |t
                    rt          |          nt          |          }|||d<   |||d<   ||fS 	Nstring)content_format)conversationr)   )prompt)prompt_token_idsmulti_modal_datamulti_modal_uuidsr   )r(   r   r   apply_chat_template
isinstancestrr	   r
   	r"   r)   kwargsr#   r.   mm_datamm_uuids
prompt_rawr/   s	            r   render_messageszGrok2Renderer.render_messages=   s    
 &&((	*=K#+
 +
 +
'gx 3Y2 
%
 
 
 

 *c**;Jj))))z::: 	
 )0F%&*2F&'V##r   c                   K   |                                  }t          || j        d           d {V \  }}} |j        d||d|}t	          |t
                    rt          |          nt          |          }|||d<   |||d<   ||fS r+   )r(   r   r   r3   r4   r5   r	   r
   r6   s	            r   render_messages_asyncz#Grok2Renderer.render_messages_async[   s      
 &&((	0IK#1
 1
 1
 +
 +
 +
 +
 +
 +
'gx 3Y2 
%
 
 
 

 *c**;Jj))))z::: 	
 )0F%&*2F&'V##r   )__name__
__module____qualname__classmethodr   dictr5   r   r   r   propertyr   r#   r(   listr   tupler   r	   r
   r;   r=   __classcell__)r$   s   @r   r   r      sl       -- sCx.- 
	- - - [-$$ sCx.$ 
	$ $ $ $ $ $& >D0    X~    $12$ 
t'(*|*CC	D	$ $ $ $<$12$ 
t'(*|*CC	D	$ $ $ $ $ $ $ $r   r   N)typingr   vllm.configr   vllm.entrypoints.chat_utilsr   r   r   r   vllm.inputsr	   r
   vllm.loggerr   vllm.tokenizersr   vllm.tokenizers.grok2r   protocolr   r>   loggerr   r   r   r   <module>rP      s         # # # # # #            1 0 0 0 0 0 0 0 # # # # # # 0 0 0 0 0 0 0 0 0 0 0 0 " " " " " "	X		a$ a$ a$ a$ a$L a$ a$ a$ a$ a$r   