
    .`i2                        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 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Zdededz  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%e                    d ee          ge&ej"        j!        deiej#        j!        deiej$        j!        deii          dedefd            Z'defdZ(dS )    )
HTTPStatus)	APIRouterDependsFastAPIRequest)JSONResponseStreamingResponse)CompletionRequestCompletionResponse)OpenAIServingCompletion)ErrorResponse)metrics_header)validate_json_request)load_aware_callwith_cancellation)init_loggerzendpoint-load-metrics-formatrequestreturnNc                 $    | j         j        j        S N)appstateopenai_serving_completion)r   s    /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/entrypoints/openai/completion/api_router.py
completionr      s    ;66    z/v1/completionscontenttext/event-streammodel)dependencies	responsesraw_requestc                 z  K   |j                             t          d          }t          |          }|'|j        j        j        }|                    d          S 	 |                    | |           d {V }n,# t          $ r}|                    |          cY d }~S d }~ww xY wt          |t                    r-t          |                                |j        j                  S t          |t                     r0t          |                                t#          |                    S t%          |d          S )N *The model does not support Completions APImessager   status_code)r   headersr   )r   
media_type)r*   get)ENDPOINT_LOAD_METRICS_FORMAT_HEADER_LABELr   r   r   openai_serving_tokenizationcreate_error_responsecreate_completion	Exception
isinstancer   r   
model_dumperrorcoder   r   r	   )r   r"   metrics_header_formathandlerbase_server	generatores          r   r0   r0   "   su      (/3312  %%G!o+G00@ 1 
 
 	
0!33G[IIIIIIII		 0 0 0,,Q////////0 )]++ 
((**	8L
 
 
 	
 
I1	2	2 
((**"#899
 
 
 	

 Y;NOOOOs   A9 9
B"BB"B"z/v1/completions/render)r    response_modelr!   c                   K   t          |          }|'|j        j        j        }|                    d          S 	 |                    |            d{V }n,# t          $ r}|                    |          cY d}~S d}~ww xY wt          |t                    r-t          |
                                |j        j                  S t          |          S )zGrender completion request and return engine prompts without generating.Nr%   r&   r(   )r   )r   r   r   r.   r/   render_completion_requestr1   r2   r   r   r3   r4   r5   )r   r"   r7   r8   resultr:   s         r   render_completionr?   K   s       %%G!o+G00@ 1 
 
 	
088AAAAAAAA 0 0 0,,Q////////0 &-(( XF$5$5$7$7V\EVWWWW''''s   A 
B"A<6B<Br   c                 :    |                      t                     d S r   )include_routerrouter)r   s    r   attach_routerrC   i   s    vr   ))httpr   fastapir   r   r   r   fastapi.responsesr   r	   +vllm.entrypoints.openai.completion.protocolr
   r   *vllm.entrypoints.openai.completion.servingr   'vllm.entrypoints.openai.engine.protocolr   $vllm.entrypoints.openai.orca_metricsr   vllm.entrypoints.openai.utilsr   vllm.entrypoints.utilsr   r   vllm.loggerr   __name__loggerrB   r-   r   postOKvalueBAD_REQUEST	NOT_FOUNDINTERNAL_SERVER_ERRORr0   listr?   rC    r   r   <module>rX      s  
       8 8 8 8 8 8 8 8 8 8 8 8 = = = = = = = =        O N N N N N A A A A A A ? ? ? ? ? ? ? ? ? ? ? ?        $ # # # # #	X			,J )7 7$;d$B 7 7 7 7 '/001i*=r)BC$w&>"Wm$<(.-0H	  	 	 P%6 PW P P P  	 	P: '/001$w&>"Wm$<(.-0H	  	 	(%6 (W ( ( (	 	((w      r   