o
    پi                     @   s,   d dl Z d dlZd	ddZdefddZdS )
    N     c                 C   s  | d }| | }dgd ddg}t |D ]*}t|}td|}td|}tdd}	|d |	g|  |d}
||
 q|dkrtd	t|d
}t|}t |D ]%}td|}td|}tdd}	|d |	g|  |d}
||
 qV||8 }|dksDt| |S )N   %   u      )	input_ids
decode_lenr   i }  r      
   )rangerandomchoicerandintappendminshuffle)	num_nodes	chunk_lennum0num1nodes_parent
unique_lenr	   token_idchild
num_branch r   [/home/ubuntu/.local/lib/python3.10/site-packages/sglang/test/kits/radix_cache_server_kit.pygen_radix_tree   s6   


r    base_urlc                 C   sH   t  }dd |D dd |D d}tj| d |d}|jdks"J d S )Nc                 S   s   g | ]}|d  qS )r   r   .0noder   r   r   
<listcomp>+   s    z,run_radix_attention_test.<locals>.<listcomp>c                 S   s   g | ]	}|d  ddqS )r	   r   )max_new_tokenstemperaturer   r"   r   r   r   r%   ,   s    )r   sampling_paramsz	/generate)json   )r    requestspoststatus_code)r!   r   dataresr   r   r   run_radix_attention_test(   s   r0   )r   r   )r   r+   r    strr0   r   r   r   r   <module>   s    
"