
    .`i                        d dl mZ 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 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 d d	lmZ  ee          Z e            Zd
edefdZd
edefdZe                     d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e e            f         fd                                    Z&e                     d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e e            f         defd                                    Z'defdZ(dS )    )
HTTPStatus)	Annotated)	APIRouterFastAPIFormRequest)JSONResponseStreamingResponse)ErrorResponse)TranscriptionRequestTranscriptionResponseVariantTranslationRequestTranslationResponseVariant)OpenAIServingTranscriptionOpenAIServingTranslation)load_aware_callwith_cancellation)init_loggerrequestreturnc                 $    | j         j        j        S N)appstateopenai_serving_transcriptionr   s    /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/openai/translations/api_router.pytranscriptionr   !   s    ;99    c                 $    | j         j        j        S r   )r   r   openai_serving_translationr   s    r   translationr"   %   s    ;77r   z/v1/audio/transcriptionscontenttext/event-streammodel)	responsesraw_requestc                 ^  K   t          |           }|'| j        j        j        }|                    d          S |j                                         d {V }	 |                    |||            d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |                                |j        j                  S t          |t                    r"t          |                                          S t!          |d          S )Nz-The model does not support Transcriptions APImessager#   status_coder#   r$   r#   
media_type)r   r   r   openai_serving_tokenizationcreate_error_responsefilereadcreate_transcription	Exception
isinstancer   r	   
model_dumperrorcoder   r
   )r'   r   handlerbase_server
audio_data	generatores          r   create_transcriptionsr?   )   se      K((G!o+G00C 1 
 
 	
 |((********J0!66z7KXXXXXXXX		 0 0 0,,Q////////0)]++ <((**	8L
 
 
 	
 
I;	<	< <I$8$8$:$:;;;;Y;NOOOO   A9 9
B"BB"B"z/v1/audio/translationsc                 ^  K   t          |          }|'|j        j        j        }|                    d          S | j                                         d {V }	 |                    || |           d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |                                |j        j                  S t          |t                    r"t          |                                          S t!          |d          S )Nz+The model does not support Translations APIr)   r+   r-   r$   r.   )r"   r   r   r0   r1   r2   r3   create_translationr5   r6   r   r	   r7   r8   r9   r   r
   )r   r'   r:   r;   r<   r=   r>   s          r   create_translationsrC   N   sg      +&&G!o+G00A 1 
 
 	
 |((********J0!44Z+VVVVVVVV		 0 0 0,,Q////////0 )]++ <((**	8L
 
 
 	
 
I9	:	: <I$8$8$:$:;;;;Y;NOOOOr@   r   c                 :    |                      t                     d S r   )include_routerrouter)r   s    r   attach_routerrG   t   s    vr   N))httpr   typingr   fastapir   r   r   r   fastapi.responsesr	   r
   'vllm.entrypoints.openai.engine.protocolr   -vllm.entrypoints.openai.translations.protocolr   r   r   r   ,vllm.entrypoints.openai.translations.servingr   r   vllm.entrypoints.utilsr   r   vllm.loggerr   __name__loggerrF   r   r"   postOKvalueBAD_REQUESTUNPROCESSABLE_ENTITYINTERNAL_SERVER_ERRORr?   rC   rG    r   r   <module>rZ      s   
             5 5 5 5 5 5 5 5 5 5 5 5 = = = = = = = = A A A A A A                          $ # # # # #	X			:7 :'A : : : :8 8%= 8 8 8 8 i*=r)BC$w&>'-/G(.-0H	    PP#,-A4466-I#JP P P   P4 i*=r)BC$w&>'-/G(.-0H	    P)446612PAHP P P   P6w      r   