
    7P[i'2              &       	   d Z ddlZddlmZmZ ddlZddlmZmZ ddl	m
Z
 ddlmZmZmZ  ed	      Z ed
	      Zee ej$                  d	      f   Zeee    ej(                  d	      f   Zeee    ej(                  d	      f   ZdeddfdZej1                         	 	 dIdededdfd       Zej1                  d      ddddddddddedee ej(                  d	      f   dee ej(                  d	      f   dee ej(                  d	      f   dee ej(                  d	      f   dee ej(                  d 	      f   d!ee ej(                  d"	      f   d#ee ej(                  d$	      f   ded%eee    ej(                  d&	      f   ded'ee ej(                  d(	      f   d)ee ej(                  d*	      f   d+eee    ej(                  d,	      f   d-eee    ej(                  d.	      f   d/eee    ej(                  d0	      f   ddf"d1       Zej1                  d      	 	 	 dJdee ej(                  d	      f   dedededdf
d2       Z	 dKdeddfd3Z ej1                  d4      e        ej1                  d5d6d78      e       ej?                  ed9       ej1                         	 	 dIdedededdfd:       Z ej1                         	 	 	 	 	 	 	 	 	 	 	 	 	 	 dLdededeee    ej(                  d	      f   deee    ej(                  d	      f   deee    ej(                  d	      f   deee    ej(                  d 	      f   deee    ej(                  d;	      f   d<eee    ej(                  d=	      f   d%eee    ej(                  d&	      f   d'eee    ej(                  d(	      f   d)eee    ej(                  d*	      f   d+eee    ej(                  d,	      f   d-eee    ej(                  d.	      f   d/eee    ej(                  d0	      f   deddf d>       Z!ej1                         	 	 	 dMdeded?ee" ej(                  d@dA	      f   deddf
dB       Z#ej1                         	 	 dIdedededdfdC       Z$ej1                         	 	 	 dMdededDee" ej(                  dEdF	      f   deddf
dG       Z%ej1                         	 	 dIdedededdfdH       Z&y)Nz2CLI commands for Hugging Face Inference Endpoints.    N)	AnnotatedOptional)InferenceEndpointInferenceEndpointScalingMetric)HfHubHTTPError   )TokenOpt
get_hf_apityper_factoryz(Manage Hugging Face Inference Endpoints.)helpz.Interact with the Inference Endpoints catalog.zEndpoint name.z_The namespace associated with the Inference Endpoint. Defaults to the current user's namespace.endpointreturnc                 n    t        j                  t        j                  | j                  dd             y )N   Tindent	sort_keys)typerechojsondumpsraw)r   s    u/var/www/html/chatbot/Makanify-Chatbot-2/venv/lib/python3.12/site-packages/huggingface_hub/cli/inference_endpoints.py_print_endpointr   #   s    	JJtzz(,,qDAB    	namespacetokenc           	         t        |      }	 |j                  | |      }t        j                  t        j                  d|D cg c]  }|j                   c}idd	             y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY wc c}w )
z6Lists all Inference Endpoints for the given namespace.r   )r   r   zListing failed: codeNitemsr   Tr   )r
   list_inference_endpointsr   r   r   Exitresponsestatus_coder   r   r   )r   r   api	endpointserrorr   s         r   lsr*   '   s     5
!CE009E0R	
 
JJ

I>x||>?	
	  E

%eW-.jjenn889uDE ?s   A' B;'	B80AB33B8deploy)name)r   taskr   min_replicamax_replicascale_to_zero_timeoutscaling_metricscaling_thresholdr,   repozeThe name of the model repository associated with the Inference Endpoint (e.g. 'openai/gpt-oss-120b').	frameworkz@The machine learning framework used for the model (e.g. 'vllm').acceleratorz?The hardware accelerator to be used for inference (e.g. 'cpu').instance_sizezNThe size or type of the instance to be used for hosting the model (e.g. 'x4').instance_typezYThe cloud instance type where the Inference Endpoint will be deployed (e.g. 'intel-icl').regionzTThe cloud region in which the Inference Endpoint will be created (e.g. 'us-east-1').vendorzVThe cloud provider or vendor where the Inference Endpoint will be hosted (e.g. 'aws').r-   zCThe task on which to deploy the model (e.g. 'text-classification').r.   zVThe minimum number of replicas (instances) to keep running for the Inference Endpoint.r/   zRThe maximum number of replicas (instances) to scale to for the Inference Endpoint.r0   zFThe duration in minutes before an inactive endpoint is scaled to zero.r1   z!The metric reference for scaling.r2   zeThe scaling metric threshold used to trigger a scale up. Ignored when scaling metric is not provided.c                t    t        |
      }|j                  | |||||||||	|
|||||      }t        |       y)z3Deploy an Inference Endpoint from a Hub repository.r   )r,   
repositoryr4   r5   r6   r7   r8   r9   r   r-   r   r.   r/   r1   r2   r0   N)r
   create_inference_endpointr   )r,   r3   r4   r5   r6   r7   r8   r9   r   r-   r   r.   r/   r0   r1   r2   r'   r   s                     r   r+   r+   =   s^    l 5
!C,,##%+3! - H& Hr   c                    t        |      }	 |j                  | |||      }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)z4Deploy an Inference Endpoint from the Model Catalog.r   )repo_idr,   r   r   zDeployment failed: r    N)	r
   &create_inference_endpoint_from_catalogr   r   r   r$   r%   r&   r   )r3   r,   r   r   r'   r   r)   s          r   deploy_from_catalogr@      s     5
!C	E==	 > 
 H	  E

(01jjenn889uDEs   / 	B AA;;B c                 D   t        |       }	 |j                  |       }t        j                  t        j                  d|idd             y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)	List available Catalog models.r   zCatalog fetch failed: r    Nmodelsr   Tr   )
r
   list_inference_catalogr   r   r   r$   r%   r&   r   r   )r   r'   rC   r)   s       r   list_catalogrE      s     5
!CE++%+8
 
JJtzz8V,Q$GH	  E

+E734jjenn889uDEs   A 	BABBr*   zlist-catalogrB   T)r,   r   hiddencatalogc                    t        |      }	 |j                  | ||      }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)z+Get information about an existing endpoint.r   r,   r   r   zFetch failed: r    N)	r
   get_inference_endpointr   r   r   r$   r%   r&   r   r,   r   r   r'   r   r)   s         r   describerL      sx     5
!CE--49TY-Z
 H	  E

^E7+,jjenn889uDE   . 	A?AA::A?zBThe machine learning framework used for the model (e.g. 'custom').revisionzrThe specific model revision to deploy on the Inference Endpoint (e.g. '6c0e6080953db56375760c0471a8c5f2929baf11').c                    t        |      }	 |j                  | |||||||||	|
||||      }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)zUpdate an existing endpoint.r   )r,   r   r;   r4   rN   r-   r5   r6   r7   r.   r/   r0   r1   r2   r   zUpdate failed: r    N)	r
   update_inference_endpointr   r   r   r$   r%   r&   r   )r,   r   r3   r5   r6   r7   r4   rN   r-   r.   r/   r0   r1   r2   r   r'   r   r)   s                     r   updaterQ      s    ^ 5
!CE00#''##"7)/ 1 
( H  E

_UG,-jjenn889uDEs    : 	BABByesz--yeszSkip confirmation prompts.c                    |sIt        j                  d|  d      }|| k7  r+t        j                  d       t        j                  d      t	        |      }	 |j                  | ||       t        j                  d
|  d       y	# t        $ rH}t        j                  d|        t        j                  |j                  j                        |d	}~ww xY w)z)Delete an Inference Endpoint permanently.zDelete endpoint 'z'? Type the name to confirm.zAborted.r   r    r   rI   zDelete failed: Nz	Deleted 'z'.)	r   promptr   r$   r
   delete_inference_endpointr   r%   r&   )r,   r   rR   r   confirmationr'   r)   s          r   deleterW   T  s     ||&7v=Y$Z[4JJz"**!$$
5
!CE%%49E%R
 
JJ4&#$	  E

_UG,-jjenn889uDEs   B 	CACCc                    t        |      }	 |j                  | ||      }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)zPause an Inference Endpoint.r   rI   zPause failed: r    N)	r
   pause_inference_endpointr   r   r   r$   r%   r&   r   rK   s         r   pauserZ   o  sx     5
!CE//TYV[/\
 H	  E

^E7+,jjenn889uDErM   fail_if_already_runningz--fail-if-already-runningzWIf `True`, the method will raise an error if the Inference Endpoint is already running.c                    t        |      }	 |j                  | |||       }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)zResume an Inference Endpoint.r   )r,   r   r   
running_okzResume failed: r    N)	r
   resume_inference_endpointr   r   r   r$   r%   r&   r   )r,   r   r[   r   r'   r   r)   s          r   resumer_     s     5
!C	E0022	 1 
 H  E

_UG,-jjenn889uDEs   0 	BAA<<Bc                    t        |      }	 |j                  | ||      }t        |       y# t        $ rH}t        j                  d|        t        j
                  |j                  j                        |d}~ww xY w)z$Scale an Inference Endpoint to zero.r   rI   zScale To Zero failed: r    N)	r
    scale_to_zero_inference_endpointr   r   r   r$   r%   r&   r   rK   s         r   scale_to_zerorb     sy     5
!CE77TY^c7d
 H	  E

+E734jjenn889uDErM   )NN)NNN)N)NNNNNNNNNNNNNN)NFN)'__doc__r   typingr   r   r   $huggingface_hub._inference_endpointsr   r   huggingface_hub.errorsr   
_cli_utilsr	   r
   r   ie_clicatalog_appstrArgumentNameArgOptionNameOptNamespaceOptr   commandr*   intfloatr+   r@   rE   	add_typerrL   rQ   boolrW   rZ   r_   rb    r   r   <module>rv      s		   8  &  b 1 ; ; 
F	G!QR
ENN()+ SMELL&')
 SMELLnC/ CD C " 
 * X\ # 	 	
 	
 	 	 	ei
i
x	
	i S	
	i R	
	i( a	
	)i4 l	
	5i@ g	
	AiL i	
	MiZ [i\ V	
	]ih iij i	
	kiv e	
	wiB %Y	
	CiN /04	
	OiZ !x	
	[if 
gi iX (# "
x	
	    
 $8 II	I     | , WN)IRV WXd e   9  -  #
  
	    # 	 	 	 	 	 	 	 	 	 	 	 	Wd
dd x	
	d R	
	d a	
	d* l	
	+d6 U	
	7dB  F	
	CdN V	
	OdZ i	
	[df e	
	gdr %Y	
	sd~ /04	
	dJ !x	
	KdV WdX 
Yd dN  # 	%
%% 
W#?@	B
% % 
% %4  #
  
	    # 	
 ''j	
	  
 6  #
  
	 r   