
    .`i%              	       L   U d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z
 d dlZd dlmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ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'm(Z( d dl)m*Z* d dl+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> eZ?eege#dz  f         Z@ee?egee         f         ZAeeeffeeeffe/e-e,ffe*e'e(ffe<e9e6ffe;e8e7ffe4e2e1ffgZBeCeDe?eDe@eAf         f                  eEd<   d eBD             ZFdefdZGdS )    N)	AwaitableCallable)
HTTPStatus)Any)	APIRouterDependsHTTPExceptionRequest)JSONResponseResponse)base)chatcreate_chat_completion)ChatCompletionRequest)
completioncreate_completion)CompletionRequest)ErrorResponse)OpenAIServing)validate_json_request)classifycreate_classify)ClassificationRequest)create_embedding	embedding)EmbeddingRequest)create_poolingpooling)PoolingRequest)create_score	do_rerankrerankscore)RerankRequestScoreRequesthealthINVOCATION_TYPESc                 J    g | ] \  }\  }}t          j        |          ||ff!S  )pydanticTypeAdapter).0request_typeget_handlerendpoints       u/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/sagemaker/routes.py
<listcomp>r2   D   sF       --{H ,''+x)@A      routerc                 j   |                      dt                    |                     dt                    t          j        dt
          dt          fd                                    }|                      dt          t                    gt          j	        j
        dt          it          j        j
        dt          it          j        j
        dt          ii          t          j        t          j                    t          j        d	          dt
          fd
                                                }| S )Nz/ping)response_classraw_requestreturnc                 0   K   t          |            d{V S )z+Ping check. Endpoint required for SageMakerNr&   )r7   s    r1   pingz'register_sagemaker_routes.<locals>.pingK   s(      
 K(((((((((r3   z/invocationsmodel)dependencies	responses)adapter_pathc                 2   
K   	                                    d{V }n;# t           j        $ r)}t          t          j        j        d|           |d}~ww xY w fdt          D             }|D ]D\  }}	 |                    |          }n# t          j	        $ r Y -w xY w ||            d{V c S 
fd|D             }d| }t                                         |          }	t          |	                                |	j        j                  S )	z9For SageMaker, routes requests based on the request type.NzJSON decode error: )status_codedetailc                 :    g | ]\  }\  }} |          ||fS )Nr*   )r-   	validatorr/   r0   r7   s       r1   r2   zBregister_sagemaker_routes.<locals>.invocations.<locals>.<listcomp>h   sA     
 
 
2	2K{;''3 !333r3   c                 z    g | ]7\  }}t          |j        xt                    rj        nt	                    8S r*   )
isinstance_typetype__name__str)r-   rC   _ts      r1   r2   zBregister_sagemaker_routes.<locals>.invocations.<locals>.<listcomp>v   sO     
 
 
	1 %)/%9Q4@@LAJJc!ff
 
 
r3   z;Cannot find suitable handler for request. Expected one of: )message)contentr@   )jsonJSONDecodeErrorr	   r   BAD_REQUESTvalueINVOCATION_VALIDATORSvalidate_pythonr+   ValidationErrorr   create_error_responser   
model_dumperrorcode)r7   bodyevalid_endpointsrequest_validatorr0   request
type_namesmsgresrK   s   `         @r1   invocationsz.register_sagemaker_routes.<locals>.invocationsR   s     	$))++++++++DD# 	 	 	&280Q00   	
 
 
 
6K
 
 
 ,; 	8 	8'x+;;DAA+    "';77777777777
 
 
 
 /
 
 

 YJXX;55c5BBCNN$4$4#).QQQQs&   ! A$AA7BBB)postr   getsagemaker_standardsregister_ping_handlerr
   r   r   r   rP   rQ   r   UNSUPPORTED_MEDIA_TYPEINTERNAL_SERVER_ERRORregister_invocation_handlerstateful_session_managerinject_adapter_id)r4   r:   ra   s      r1   register_sagemaker_routesrk   J   s7   [[[22ZZZ11.) )H ) ) ) /. 21 32) [[3445"(7M*B-3g}5M,2Wm4L
    4133*@@@Rw R R R A@ 43 54 R@ Mr3   )HrN   collections.abcr   r   httpr   typingr   +model_hosting_container_standards.sagemaker	sagemakerrd   r+   fastapir   r   r	   r
   fastapi.responsesr   r   "vllm.entrypoints.openai.api_serverr   2vllm.entrypoints.openai.chat_completion.api_routerr   r   0vllm.entrypoints.openai.chat_completion.protocolr   -vllm.entrypoints.openai.completion.api_routerr   r   +vllm.entrypoints.openai.completion.protocolr   'vllm.entrypoints.openai.engine.protocolr   &vllm.entrypoints.openai.engine.servingr   vllm.entrypoints.openai.utilsr   ,vllm.entrypoints.pooling.classify.api_routerr   r   *vllm.entrypoints.pooling.classify.protocolr   )vllm.entrypoints.pooling.embed.api_routerr   r   'vllm.entrypoints.pooling.embed.protocolr   +vllm.entrypoints.pooling.pooling.api_routerr   r   )vllm.entrypoints.pooling.pooling.protocolr   )vllm.entrypoints.pooling.score.api_routerr    r!   r"   r#   'vllm.entrypoints.pooling.score.protocolr$   r%   ,vllm.entrypoints.serve.instrumentator.healthr'   RequestTypeGetHandlerFn
EndpointFnr(   listtuple__annotations__rR   rk   r*   r3   r1   <module>r      s    / / / / / / / /             I I I I I I  > > > > > > > > > > > > 4 4 4 4 4 4 4 4                                   A @ @ @ @ @ ? ? ? ? ? ? R R R R R R R R L L L L L L Q Q Q Q Q Q Q Q D D D D D D O O O O O O O O D D D D D D            P O O O O O O O ? ? ? ? ? ? 	=4#778{G,in<=
 T#9:;%678	#345X78E<()VY'(g~./O $u[%j0H*IIJK    1A   4i 4 4 4 4 4 4r3   