o
    i                     @   sd   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 )
    )Sequence)PreTrainedTokenizerBase)ChatCompletionRequestDeltaMessage)init_logger)ReasoningParserc                       s   e Zd ZdZdef fddZdee defddZ	dee d	ee defd
dZ
dee dee fddZdedededee dee dee dedB fddZdededeedB edB f fddZ  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                    s,   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__ ^/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/reasoning/identity_reasoning_parser.pyr      s   z IdentityReasoningParser.__init__	input_idsreturnc                 C      dS NTr   r   r   r   r   r   is_reasoning_end"      z(IdentityReasoningParser.is_reasoning_end	delta_idsc                 C   r   r   r   )r   r   r   r   r   r   is_reasoning_end_streaming&   s   z2IdentityReasoningParser.is_reasoning_end_streamingc                 C   s   |S Nr   r   r   r   r   extract_content_ids+   r   z+IdentityReasoningParser.extract_content_idsprevious_textcurrent_text
delta_textprevious_token_idscurrent_token_idsdelta_token_idsNc                 C   s   |rt |dS d S )N)contentr   )r   r!   r"   r#   r$   r%   r&   r   r   r   extract_reasoning_streaming/   s   

z3IdentityReasoningParser.extract_reasoning_streamingmodel_outputrequestc                 C   s   d |fS r   r   )r   r)   r*   r   r   r   extract_reasoning=   s   z)IdentityReasoningParser.extract_reasoning)__name__
__module____qualname____doc__r   r   r   intboolr   r   listr    strr   r(   r   tupler+   __classcell__r   r   r   r   r	      sD    

r	   N)collections.abcr   transformersr   0vllm.entrypoints.openai.chat_completion.protocolr   'vllm.entrypoints.openai.engine.protocolr   vllm.loggerr   vllm.reasoningr   r,   loggerr	   r   r   r   r   <module>   s   