o
    i                     @   s4   d dl Zd dlmZ d dlmZ G dd deZdS )    N)TokenizerLike)Hermes2ProToolParserc                       s"   e Zd Zdef fddZ  ZS )LongcatFlashToolParser	tokenizerc                    s   t  | d _d _tdtj _ jj	 jdd _
 jj	 jdd _ fdd j
D  _ fdd jD  _d S )	Nz<longcat_tool_call>z</longcat_tool_call>zD<longcat_tool_call>(.*?)</longcat_tool_call>|<longcat_tool_call>(.*)F)add_special_tokensc                       g | ]	} j |gqS  model_tokenizerdecode.0token_idselfr   [/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/tool_parsers/longcat_tool_parser.py
<listcomp>       z3LongcatFlashToolParser.__init__.<locals>.<listcomp>c                    r   r   r	   r   r   r   r   r   "   r   )super__init__tool_call_start_tokentool_call_end_tokenrecompileDOTALLtool_call_regexr
   encodetool_call_start_token_idstool_call_end_token_idstool_call_start_token_arraytool_call_end_token_array)r   r   	__class__r   r   r      s&   

zLongcatFlashToolParser.__init__)__name__
__module____qualname__r   r   __classcell__r   r   r!   r   r   
   s    r   )regexr   vllm.tokenizersr   $vllm.tool_parsers.hermes_tool_parserr   r   r   r   r   r   <module>   s   