
    ڡUi                         d dl Z d dlZd dlZd dlZd dlmZ d dlZddlmZ	 ddl
mZ ddlmZmZmZmZmZmZmZ ddlmZ d	 Zd
 Z G d de      Zy)    N)ArgumentParser   )__version__)is_deepspeed_available)is_accelerate_availableis_flax_availableis_tf_availableis_torch_availableis_torch_hpu_availableis_torch_npu_availableis_torch_xpu_available   )BaseTransformersCLICommandc                     t               S N)EnvironmentCommand)_s    f/var/www/html/eventheodds/airagagent/rag_env/lib/python3.12/site-packages/transformers/commands/env.pyinfo_command_factoryr   &   s        c                 ,    t        | j                        S r   )r   accelerate_config_file)argss    r   download_command_factoryr   *   s    d99::r   c                   @    e Zd Zedefd       ZddZd Zed        Zy)r   parserc                     | j                  d      }|j                  t               |j                  dd d       |j                  t               y )Nenv)funcz--accelerate-config_filezQThe accelerate config file to use for the default values in the launching script.)defaulthelp)
add_parserset_defaultsr   add_argumentr   )r   download_parsers     r   register_subcommandz&EnvironmentCommand.register_subcommand/   sT     ++E2$$*>$?$$&d 	% 	

 	$$*B$Cr   Nc                     || _         y r   )_accelerate_config_file)selfr   r   s      r   __init__zEnvironmentCommand.__init__:   s
    '=$r   c                 h   dd l }|j                  }d}dx}}t               rdd l}ddlm}m} |j                  }| j                  t        j                  j                  |      r  || j                        j                         }t        |t              r8dj                  |j                         D 	
cg c]  \  }	}
d|	 d|
  c}
}	      nd| }d}d	}d	}t!               r[dd l}|j                  }|j$                  j'                         }t)               }t+               }t-               }|rd
}n|rd}n	|rd}n|rd}d}d	}t/               r+dd l}|j                  }	 |j2                  j5                         }d}t?               r@tA        jB                  tE        jF                               5  dd l$}d d d        j                  }d}d}d}d	}tK               r^dd l&}dd l'}dd l(}|j                  }|j                  }|j                  }|jR                  jT                  jW                         jX                  }tZ        tY        jX                         tY        j\                         t^        j                  | | | | | d| d| d| d| d| d| | dd}t!               r|r#d|d<   j$                  ja                         |d<   nr#d|d<   jb                  ja                         |d<   nbr#d|d<   jd                  ja                         |d<   n=r;d|d<   jf                  ja                         |d<   |jZ                  jh                  |d<   tk        d       tk        | jm                  |             |S c c}
}	w # t6        $ r( t9        |j:                  j=                  d            }Y .w xY w# 1 sw Y   xY w)Nr   znot installedz	not found)default_config_fileload_config_from_file
z	- : 	NACUDAXPUNPUHPUGPUz ()z	<fill in>)z`transformers` versionPlatformzPython versionzHuggingface_hub versionzSafetensors versionzAccelerate versionzAccelerate configzDeepSpeed versionzPyTorch version (accelerator?)zTensorflow version (GPU?)zFlax version (CPU?/GPU?/TPU?)zJax versionzJaxLib versionz/Using distributed or parallel set-up in script?zUsing GPU in script?zGPU typezUsing XPU in script?zXPU typezUsing HPU in script?zHPU typezUsing NPU in script?zNPU typezCANN versionzV
Copy-and-paste the text below in your GitHub issue and FILL OUT the two last points.
)7safetensorsr   r   
accelerateaccelerate.commands.configr,   r-   r(   ospathisfileto_dict
isinstancedictjoinitemsr
   torchcudais_availabler   r   r   r	   
tensorflowtestis_gpu_availableAttributeErrorboolconfiglist_physical_devicesr   
contextlibredirect_stdoutioStringIO	deepspeedr   flaxjaxjaxliblib
xla_bridgeget_backendplatformversionpython_versionhuggingface_hubget_device_namexpuhpunpucannprintformat_dict)r)   r9   safetensors_versionaccelerate_versionaccelerate_configaccelerate_config_strr:   r,   r-   propval
pt_versionpt_cuda_availablept_acceleratorrD   pt_xpu_availablept_npu_availablept_hpu_available
tf_versiontf_cuda_availabletfdeepspeed_versionrR   flax_versionjax_versionjaxlib_versionjax_backendrS   rT   rU   infos                                  r   runzEnvironmentCommand.run=   s   )55,4??1"$]!+!7!7++7277>>J];^$9$:V:V$W$_$_$a! /6 		ARAXAXAZ[ID#T$r#/[\+,- " %
 **J %

 7 7 9575757 !'!!&!!&!!&$
 #JQ$&GG$<$<$>!
 ,!#++BKKM: ! ! ) 5 5&%(++L//K#//N'',,88:CCK '. ))+&557'6'B'B&9%:%7$8$9#:$5#61;B~>Na.P,6<r:K9LA)N0<~R}A-N)]!/ 0?J
   /:+,#(::#=#=#?Z !/:+,#(99#<#<#>Z !/:+,#(99#<#<#>Z !/:+,#(99#<#<#>Z ',}}'9'9^$hidt$%} \F " Q$()H)H)O$P!Q! !s$   2M-
M3 (N'3-N$#N$'N1c           
          dj                  | j                         D cg c]  \  }}d| d|  c}}      dz   S c c}}w )Nr.   z- r/   )rB   rC   )drh   ri   s      r   rc   zEnvironmentCommand.format_dict   s;    yyaggiHsBtfBse,HIDPPHs   <
)returnN)	__name__
__module____qualname__staticmethodr   r&   r*   ry   rc    r   r   r   r   .   s@    DN D D>pd Q Qr   r   )rN   rP   r<   rY   argparser   r\    r   rZ   integrations.deepspeedr   utilsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   <module>r      sN      	 	  #  % ;   ) ;CQ3 CQr   