
    .`i                         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e          Zd	S )
    )Sequence)PreTrainedTokenizerBase)ChatCompletionRequestDeltaMessage)init_logger)ReasoningParserc                       e Zd ZdZdef fdZdee         defdZ	dee         dee         defdZ
dee         dee         fd	Zd
edededee         dee         dee         dedz  fdZdededeedz  edz  f         fdZ xZS )IdentityReasoningParserz
    Identity reasoning parser.

    This parser does not attempt to parse or strip out reasoning tokens.
    It treats the entire model output as content and ignores reasoning.
    	tokenizerc                 n     t                      j        |g|R i | | j        st          d          d S )NzZThe model tokenizer must be passed to the ReasoningParser constructor during construction.)super__init__model_tokenizer
ValueError)selfr   argskwargs	__class__s       |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/reasoning/identity_reasoning_parser.pyr   z IdentityReasoningParser.__init__   sV    4T444V444# 	3  	 	    	input_idsreturnc                     dS NT r   r   s     r   is_reasoning_endz(IdentityReasoningParser.is_reasoning_end"   s    tr   	delta_idsc                     dS r   r   )r   r   r   s      r   is_reasoning_end_streamingz2IdentityReasoningParser.is_reasoning_end_streaming&   s	     tr   c                     |S Nr   r   s     r   extract_content_idsz+IdentityReasoningParser.extract_content_ids+   s    r   previous_textcurrent_text
delta_textprevious_token_idscurrent_token_idsdelta_token_idsNc                 *    |rt          |          S d S )N)contentr   )r   r%   r&   r'   r(   r)   r*   s          r   extract_reasoning_streamingz3IdentityReasoningParser.extract_reasoning_streaming/   s"      	4
3333tr   model_outputrequestc                 
    d |fS r#   r   )r   r.   r/   s      r   extract_reasoningz)IdentityReasoningParser.extract_reasoning=   s    
 \!!r   )__name__
__module____qualname____doc__r   r   r   intboolr   r!   listr$   strr   r-   r   tupler1   __classcell__)r   s   @r   r   r      sz        "9      (3- D    !#3;C=	   
T#Y 49      	
 %SM $C= "# 
	   ""*?"	sTz3:%	&" " " " " " " "r   r   N)collections.abcr   transformersr   0vllm.entrypoints.openai.chat_completion.protocolr   'vllm.entrypoints.openai.engine.protocolr   vllm.loggerr   vllm.reasoningr	   r2   loggerr   r   r   r   <module>rC      s    % $ $ $ $ $ 0 0 0 0 0 0      A @ @ @ @ @ # # # # # # * * * * * *	X		0" 0" 0" 0" 0"o 0" 0" 0" 0" 0"r   