
    .`i5C                        U d dl Z d dlmZ d dlmZmZ d dlZd dlmZm	Z	 d dl
mZmZ d dlmZmZ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j        ej                  Z G d de          Z G d de          Z ed         Z!ee"d<    G d de          Z# G d de          Z$ G d de          Z% G d de          Z& G d de          Z' G d de          Z(e%e(z  Z)ee"d<    G d de          Z* G d  d!e          Z+ G d" d#e          Z, G d$ d%e          Z- G d& d'e          Z. G d( d)e          Z/ G d* d+e          Z0e-e0z  Z1ee"d,<   dS )-    N)
HTTPStatus)Literal	TypeAlias)HTTPException
UploadFile)Fieldmodel_validator)DeltaMessageOpenAIBaseModel	UsageInfo)VLLMValidationError)init_logger)RequestOutputKindSamplingParamsrandom_uuidc                   H    e Zd ZU eed<   dZedz  ed<   dZeez  dz  ed<   dS )!TranscriptionResponseStreamChoicedeltaNfinish_reasonstop_reason	__name__
__module____qualname__r
   __annotations__r   strr   int     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/openai/translations/protocol.pyr   r       K          $M3:$$$$(KsT!(((((r    r   c                       e Zd ZU  ed           Zeed<   dZed         ed<    ed           Z	e
ed<   eed<   ee         ed	<    ed
          Zed
z  ed<   d
S )TranscriptionStreamResponsec                  $    dt                       S )Nztrsc-r   r   r    r!   <lambda>z$TranscriptionStreamResponse.<lambda>'       ,CKMM,C,C r    default_factoryidztranscription.chunkobjectc                  B    t          t          j                              S Nr   timer   r    r!   r&   z$TranscriptionStreamResponse.<lambda>)       TY[[1A1A r    createdmodelchoicesNdefaultusage)r   r   r   r   r*   r   r   r+   r   r1   r   listr   r6   r   r   r    r!   r$   r$   &   s         e$C$CDDDBDDD-BFG)*BBB5)A)ABBBGSBBBJJJ34444#eD111E9t11111r    r$   )jsontextsrtverbose_jsonvttAudioResponseFormatc                      e Zd ZU eed<   	 dZedz  ed<   	 dZedz  ed<   	  ed          Z	eed<   	  ed          Z
eed	<   	  ed
g           Zeed                  ed<   	 dZedz  ed<   	 dZedz  ed<   dZedz  ed<    edd          Zeeeez  ez  f         dz  ed<   dZedz  ed<   	  ed          Zeed<   	 dZedz  ed<   	 dZedz  ed<   	 dZedz  ed<   	  edej        ej                  Zedz  ed<   	 dZ edz  ed<   	 dZ!edz  ed<   	 dZ"edz  ed<   	 dZ#edz  ed <   	 d!d!d!d"dd#Z$eed$<   	 d,d%ed&edz  d'e%fd(Z& e'd)*          e(d+                         Z)dS )-TranscriptionRequestfileNr2   language r4   promptr8   response_formatztimestamp_granularities[])aliasr5   )wordsegmenttimestamp_granularitiesFstreamstream_include_usagestream_continuous_usage_statszWAdditional request parameters with string or numeric values, used by custom extensions.)r5   description
vllm_xargsto_language        temperaturetop_ptop_kmin_pgeleseedfrequency_penaltyrepetition_penaltypresence_penaltymax_completion_tokensg      ?r   )rY   rP   rQ   rR   rS   _DEFAULT_SAMPLING_PARAMSdefault_max_tokensdefault_sampling_paramsreturnc                 T   |}|i }| j         x}!|                    d| j        d                   }| j        x}!|                    d| j        d                   }| j        x}!|                    d| j        d                   }| j        x}!|                    d| j        d                   }| j        x}!|                    d| j        d                   }t          j        ||| j	        |||| j
        || j        | j        rt          j        nt          j        | j        d          S )NrP   rQ   rR   rS   rY   T)rP   
max_tokensrW   rQ   rR   rS   rX   rY   rZ   output_kind
extra_args
skip_clone)rP   getr\   rQ   rR   rS   rY   r   from_optionalrW   rX   rZ   rI   r   DELTA
FINAL_ONLYrM   )	selfr]   r^   ra   rP   rQ   rR   rS   rY   s	            r!   to_sampling_paramsz'TranscriptionRequest.to_sampling_params   sp    (
"*&(#  ++K4155t<]K K ZE(+//6w? E ZE(+//6w? E ZE(+//6w? E #'"99B!8!<!<$-.BC" "
 +#!"41!2{.)//"-
 
 
 	
r    beforemodec                 V   t                              d          t                    rt          t          j        d          ddg}                    dd          }t          fd|D                       r/|s-t          fd	|D             d          }t          d
|          S )Nr@   z4Expected 'file' to be a file-like object, not 'str'.)status_codedetailrJ   rK   rI   Fc              3   ^   K   | ]'}t                              |d                     V  (dS FNboolre   .0sodatas     r!   	<genexpr>zFTranscriptionRequest.validate_transcription_request.<locals>.<genexpr>   9      ??RtDHHR''((??????r    c              3   H   K   | ]}                     |d           |V  dS rr   re   ru   s     r!   ry   zFTranscriptionRequest.validate_transcription_request.<locals>.<genexpr>   6      AATXXb%-@-@AAAAAAAr    6Stream options can only be defined when `stream=True`.	parameter)	
isinstancere   r   r   r   UNPROCESSABLE_ENTITYanynextr   clsrx   stream_optsrI   invalid_params    `   r!   validate_transcription_requestz3TranscriptionRequest.validate_transcription_request   s     dhhv&&,, 	&;M   
 ./NO(E**????;????? 		 		 AAAAkAAA& M &H'   
 r    r-   )*r   r   r   r   r   r2   r   rA   r   rC   rD   r=   rH   r7   r   rI   rt   rJ   rK   rM   dictr   floatrN   rP   rQ   rR   rS   
_LONG_INFOminmaxrW   rX   rY   rZ   r[   r\   r   rj   r	   classmethodr   r   r    r!   r?   r?   3   s3         
 E3:  HcDj %###FC### ,15+@+@+@O(@@@ AF)2A A AT'*;"<=     FD4K
 ).$+---16!4$;6666;e97 7 7JS#)e++,t3    #Kt""" s+++K+++ E54< E3:GE54< uTjnHHHD#*HHH'&)ut|)))4'++++5%(edl(((3(,3:,,,3
 "& &d    OS/
 /
"%/
@Dt/
	/
 /
 /
 /
b _(###  [ $#  r    r?   c                   4    e Zd ZU dZed         ed<   eed<   dS )TranscriptionUsageAudiodurationtypesecondsN)r   r   r   r   r   r   r   r   r    r!   r   r      s.          *D'*
***LLLLLr    r   c                   &    e Zd ZU eed<   	 eed<   dS )TranscriptionResponser9   r6   N)r   r   r   r   r   r   r   r    r!   r   r      s*         
III""""""r    r   c                   2    e Zd ZU eed<   	 eed<   	 eed<   dS )TranscriptionWordendstartrF   Nr   r   r   r   r   r   r   r    r!   r   r     3         	JJJ*LLL,
III''r    r   c                       e Zd ZU eed<   	 eed<   	 eed<   	 eed<   	 dZedz  ed<   	 eed<   	 eed<   	 eed	<   	 eed
<   	 ee         ed<   dS )TranscriptionSegmentr*   avg_logprobcompression_ratior   Nno_speech_probseekr   rP   r9   tokens	r   r   r   r   r   r   r   r   r7   r   r    r!   r   r              GGG+
 
 
JJJ-#'NEDL''' III%LLL/@
III&I22r    r   c                   v    e Zd ZU eed<   	 eed<   	 eed<   	 dZee         dz  ed<   	 dZee	         dz  ed<   dS )TranscriptionResponseVerboser   rA   r9   Nsegmentswords)
r   r   r   r   r   r   r7   r   r   r   r   r    r!   r   r   8  so         MMM*MMM*
III26Hd'(4/666K,0E4!"T)000==r    r   TranscriptionResponseVariantc                   H    e Zd ZU eed<   dZedz  ed<   dZeez  dz  ed<   dS )TranslationResponseStreamChoicer   Nr   r   r   r   r    r!   r   r   N  r"   r    r   c                       e Zd ZU  ed           Zeed<   dZed         ed<    ed           Z	e
ed<   eed<   ee         ed	<    ed
          Zed
z  ed<   d
S )TranslationStreamResponsec                  $    dt                       S )Nztrsl-r   r   r    r!   r&   z"TranslationStreamResponse.<lambda>U  r'   r    r(   r*   ztranslation.chunkr+   c                  B    t          t          j                              S r-   r.   r   r    r!   r&   z"TranslationStreamResponse.<lambda>W  r0   r    r1   r2   r3   Nr4   r6   )r   r   r   r   r*   r   r   r+   r   r1   r   r7   r   r6   r   r   r    r!   r   r   T  s         e$C$CDDDBDDD+>FG'(>>>5)A)ABBBGSBBBJJJ12222#eD111E9t11111r    r   c                      e Zd ZU eed<   	 dZedz  ed<   	  ed          Zeed<   	  ed          Z	e
ed<   	  edej        ej        	          Zedz  ed
<   	  ed          Zeed<   	 dZedz  ed<   	 dZedz  ed<   	 dZedz  ed<   	 dZedz  ed<   dZedz  ed<   dZedz  ed<   	 ddiZeed<   	 ddededz  defdZ ed          ed                         ZdS )TranslationRequestr@   Nr2   rB   r4   rC   r8   rD   rT   rW   rO   rP   rA   rN   FrI   rJ   rK   r[   r   r\   r]   r^   r_   c                     |}|i }| j         x}!|                    d| j        d                   }t          j        ||| j        | j        rt          j        nt          j	        d          S )NrP   T)rP   ra   rW   rb   rd   )
rP   re   r\   r   rf   rW   rI   r   rg   rh   )ri   r]   r^   ra   rP   s        r!   rj   z%TranslationRequest.to_sampling_params  s     (
"*&(#++K4155t<]K K +#!{.)//"-
 
 
 	
r    rk   rl   c                     ddg}                     dd          }t          fd|D                       r/|s-t          fd|D             d          }t          d|          S )	NrJ   rK   rI   Fc              3   ^   K   | ]'}t                              |d                     V  (dS rr   rs   ru   s     r!   ry   z=TranslationRequest.validate_stream_options.<locals>.<genexpr>  rz   r    c              3   H   K   | ]}                     |d           |V  dS rr   r|   ru   s     r!   ry   z=TranslationRequest.validate_stream_options.<locals>.<genexpr>  r}   r    r~   r   )re   r   r   r   r   s    `   r!   validate_stream_optionsz*TranslationRequest.validate_stream_options  s     ./NO(E**????;????? 		 		 AAAAkAAA& M &H'   
 r    r-   ) r   r   r   r   r   r2   r   r   rC   rD   r=   r   r   r   rW   r   rP   r   rA   rN   rI   rt   rJ   rK   r[   r\   r   r   rj   r	   r   r   r   r    r!   r   r   ]  s         
 E3: %###FC### ,15+@+@+@O(@@@ uTjnHHHD#*HHH's+++K+++  HcDj #Kt"""  FD4K
 ).$+---16!4$;666(,3:,,,3
 	q&d   
 OS
 
"%
@Dt
	
 
 
 
. _(###  [ $#  r    r   c                       e Zd ZU eed<   dS )TranslationResponser9   N)r   r   r   r   r   r   r    r!   r   r     s         
IIIr    r   c                   2    e Zd ZU eed<   	 eed<   	 eed<   dS )TranslationWordr   r   rF   Nr   r   r    r!   r   r     r   r    r   c                       e Zd ZU eed<   	 eed<   	 eed<   	 eed<   	 dZedz  ed<   	 eed<   	 eed<   	 eed	<   	 eed
<   	 ee         ed<   dS )TranslationSegmentr*   r   r   r   Nr   r   r   rP   r9   r   r   r   r    r!   r   r     r   r    r   c                   v    e Zd ZU eed<   	 eed<   	 eed<   	 dZee         dz  ed<   	 dZee	         dz  ed<   dS )TranslationResponseVerboser   rA   r9   Nr   r   )
r   r   r   r   r   r   r7   r   r   r   r   r    r!   r   r     sn         MMM*MMM*
III04Hd%&-444J*.E4 4'...==r    r   TranslationResponseVariant)2r/   httpr   typingr   r   torchfastapir   r   pydanticr   r	   'vllm.entrypoints.openai.engine.protocolr
   r   r   vllm.exceptionsr   vllm.loggerr   vllm.sampling_paramsr   r   
vllm.utilsr   r   loggeriinfolongr   r   r$   r=   r   r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   <module>r      s          % % % % % % % %  - - - - - - - -       
         
 0 / / / / / # # # # # #        # " " " " "	X		U[$$
) ) ) ) ) ) ) )2 2 2 2 2/ 2 2 2 "))U!V Y V V VA A A A A? A A AJ    o   
# # # # #O # # #( ( ( ( ( ( ( ('3 '3 '3 '3 '3? '3 '3 '3T> > > > >? > > >$ 88 i   
) ) ) ) )o ) ) )2 2 2 2 2 2 2 2u u u u u u u ur    /   
( ( ( ( (o ( ( ('3 '3 '3 '3 '3 '3 '3 '3T> > > > > > > >" )<>X(X I X X X X Xr    