
    -`i                        d dl mZ d dlmZmZmZmZ d dlmZm	Z	 d dl
mZmZmZ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  ee          Z e            Zd
edefdZe                    d ee          gej        j         ddi iiej!        j         deiej"        j         deiej#        j         deii          eed
edefd                                    Z$defdZ%dS )    )
HTTPStatus)	APIRouterDependsFastAPIRequest)JSONResponseStreamingResponse)AnthropicErrorAnthropicErrorResponseAnthropicMessagesRequestAnthropicMessagesResponse)AnthropicServingMessages)ErrorResponse)validate_json_request)load_aware_callwith_cancellation)init_loggerrequestreturnc                 $    | j         j        j        S N)appstateanthropic_serving_messages)r   s    y/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/anthropic/api_router.pymessagesr      s    ;77    z/v1/messagescontenttext/event-streammodel)dependencies	responsesraw_requestc                   K   dt           dt          fd}t          |          }|2|j        j        j        }|                    d          } ||          S 	 |                    | |           d {V }n# t          $ r}t          
                    d|           t          t          j        j        t          t          dt!          |                    	                                          
          cY d }~S d }~ww xY wt%          |t                     r ||          S t%          |t&                    rA|                    d          }t                              d|           t          |          S t+          |d          S )Nresponser   c                     t          t          | j        j        | j        j                            }t          | j        j        |                                          S )Ntypemessageerrorstatus_coder   )r   r
   r+   r(   r)   r   code
model_dump)r%   anthropic_errors     r   translate_error_responsez1create_messages.<locals>.translate_error_response/   sg    0 ^( .  
 
 
  +_5O5O5Q5Q
 
 
 	
r   z'The model does not support Messages API)r)   zError in create_messages: %sinternal_errorr'   r*   r,   T)exclude_nonezAnthropic Messages Response: %s)r   r   )r   
media_type)r   r   r   r   r   openai_serving_tokenizationcreate_error_responsecreate_messages	Exceptionlogger	exceptionr   INTERNAL_SERVER_ERRORvaluer   r
   strr/   
isinstancer   debugr	   )	r   r#   r1   handlerbase_serverr+   	generatoreresps	            r   r7   r7   "   s     	
= 	
\ 	
 	
 	
 	
 {##G!o+G11= 2 
 
 ('...
!11';GGGGGGGG		 

 

 

7;;;"8>*$)FF    
 jll
 
 
 	
 	
 	
 	
 	
 	


 )]++ *''	222	I8	9	9 *###666===D))))Y;NOOOOs   A6 6
D A6C<6D<Dr   c                 :    |                      t                     d S r   )include_routerrouter)r   s    r   attach_routerrH   [   s    vr   N)&httpr   fastapir   r   r   r   fastapi.responsesr   r	   #vllm.entrypoints.anthropic.protocolr
   r   r   r   "vllm.entrypoints.anthropic.servingr   'vllm.entrypoints.openai.engine.protocolr   vllm.entrypoints.openai.utilsr   vllm.entrypoints.utilsr   r   vllm.loggerr   __name__r9   rG   r   postOKr<   BAD_REQUEST	NOT_FOUNDr;   r7   rH    r   r   <module>rX      s,  
       8 8 8 8 8 8 8 8 8 8 8 8 = = = = = = = =            H G G G G G A A A A A A ? ? ? ? ? ?        $ # # # # #	X			8g 8": 8 8 8 8 '/001i*=r)BC$w0F&G"W.D$E(.:P0Q	  	 	 *P#; *P' *P *P *P  	 	*PZw      r   