o
    i                     @   s   d dl mZ d dlmZ er-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 neZdefd	d
ZdddddddedB ded f
ddZdS )    )TYPE_CHECKING)FastAPI)	Namespace)State)EngineClient)RequestLogger)SupportedTaskappc                 C   sT   ddl m} ||  ddlm} ||  ddlm} ||  ddlm} ||  d S )Nr   )attach_router)2vllm.entrypoints.openai.chat_completion.api_routerr
   ,vllm.entrypoints.openai.responses.api_router-vllm.entrypoints.openai.completion.api_router%vllm.entrypoints.anthropic.api_router)r	   register_chat_api_routerregister_responses_api_routerregister_completion_api_routerregister_anthropic_api_router r   a/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/entrypoints/openai/generate/api_router.pyregister_generate_api_routers   s   r   engine_clientr   stater   argsr   request_loggerNsupported_tasks)r   .c                    s(  ddl m} ddlm} ddlm}m}m}	 ddlm	}
 ddl
m} ddlm} ddlm} |jd	krF| }t||s>J | I d H  n|jrV| }||jI d H  nd }||j}d
|v r~|| |j|||j|j|j|j||jj|j|j|j|jdnd |_ d
|v r|
| |j|j!f|||j|j"|j#|j|j|j$|j|jj|j|j|j|j%|jdnd |_&|j&d ur|j&' I d H  d
|v r|| |j||j|j|j|jdnd |_(d
|v r|| |j|j!|||j|j|j|j|jj|j|jdnd |_)d
|v r|| |j||j|j|j|j|j*d|_+d S d |_+d S )Nr   )AnthropicServingMessages)load_chat_template)DemoToolServerMCPToolServer
ToolServer)OpenAIServingChat)OpenAIServingCompletion)OpenAIServingResponses)ServingTokensdemogenerate)r   chat_templatechat_template_content_formatreturn_tokens_as_token_idsenable_auto_toolstool_parsertool_serverreasoning_parserenable_prompt_tokens_detailsenable_force_include_usageenable_log_outputslog_error_stack)r   r&   r'   default_chat_template_kwargstrust_request_chat_templater(   r)   #exclude_tools_when_tool_choice_noner*   r,   r-   r.   r/   enable_log_deltasr0   )r   r(   r-   r.   r0   )	r   r&   r'   r(   r)   r*   r,   r-   r.   )r   r(   r0   r-   r/   force_no_detokenize),"vllm.entrypoints.anthropic.servingr   vllm.entrypoints.chat_utilsr    vllm.entrypoints.mcp.tool_serverr   r   r   /vllm.entrypoints.openai.chat_completion.servingr    *vllm.entrypoints.openai.completion.servingr!   )vllm.entrypoints.openai.responses.servingr"   %vllm.entrypoints.serve.disagg.servingr#   r+   
isinstanceinit_and_validateadd_tool_serverr&   openai_serving_modelsr'   r(   enable_auto_tool_choicetool_call_parserstructured_outputs_configr,   r-   r.   r/   r0   openai_serving_responsesresponse_roler1   r2   r3   r4   openai_serving_chatwarmupopenai_serving_completionanthropic_serving_messagestokens_onlyserving_tokens)r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r+   resolved_chat_templater   r   r   init_generate_state-   s   

)


rM   )typingr   fastapir   argparser   starlette.datastructuresr   vllm.engine.protocolr   vllm.entrypoints.loggerr   
vllm.tasksr   objectr   tuplerM   r   r   r   r   <module>   s*   