
    rh              
       
   U d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlZdZ	e
ed<   dZdZdZd	Zd
ZdZdZdZdZdZej,                  ej.                  ej0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  d	ZdZ e!ed<   dZ"d	Z#dZ$dZ%e G d d             Z&	 d#de'de'dee'   de
fdZ(de jR                  de*ee'f   fdZ+de
dejX                  fd Z-d!edee   fd"Z.y)$    N)	dataclass)AnyOptionalzmodel.safetensors.index.json_metadata_fnzmodel-{cpt_idx}-of-{num_files}z0shard-{shard_idx}-model-{cpt_idx}-of-{num_files}z.safetensorsDCP_SHARDING_INFO__metadata__saved_offsetsshapedatadtypedata_offsets)	F16F32F64I8U8I16I32I64BF16g      ?HF_DCP_VERSIONDCP_VERSIONformatptc                   l    e Zd ZU dZeed<   eed<   eed<   ej                  ed<   ej                  ed<   y)_HFStorageInfoz#This is the per entry storage info.relative_pathoffsetlengthr
   r   N)
__name__
__module____qualname____doc__str__annotations__inttorchSizer        y/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/_hf_utils.pyr   r   -   s)    -KK::;;r*   r   indexlargest_indexshard_indexreturnc                     |Ot         j                  | j                  d      |  j                  d      | j                  d            t        z   S t        j                  |  j                  d      | j                  d            t        z   S )N   )	shard_idxcpt_idx	num_files)r3   r4   )SHARDED_FILE_NAMEr   zfillSUFFIX	FILE_NAME)r,   r-   r.   s      r+   _gen_file_namer9   8   s     $$(M003 '((+*O2215 % 
 	
  '((+-7O7OPQ7R   	
r*   
file_bytesc                     d}| j                  |      }t        j                  d|      d   }| j                  |      }t        j                  |      }|||z   fS )N   z<Qr   )readstructunpackjsonloads)r:   num_bytes_for_header_lenheader_len_bytes
header_lenheader_jsonmetadatas         r+   _get_safetensors_file_metadatarG   M   s]      !!'?@t%56q9J//*-Kzz+&Hj#;;<<r*   	dtype_strc                 b    	 t         |    }|S # t        $ r t        j                         }Y |S w xY wN)	DTYPE_MAPKeyErrorr'   get_default_dtype)rH   r   s     r+   
_get_dtyperN   [   s<    *)$ L  *'')L*s   	 ..rF   c                 n    t         | v r-| t            }t        |v rt        j                  |t                 S y rJ   )DEFAULT_EXTRA_METADATA_KEYCUSTOM_METADATA_KEYr@   rA   )rF   custom_metadatas     r+   _get_dcp_custom_metadatarS   d   s5    !X-"#=>/1::o.ABCCr*   rJ   )/ior@   r>   dataclassesr   typingr   r   r'   r   r$   r%   r8   r5   r7   rQ   rP   SAVED_OFFSETS_KEY	SHAPE_KEYDATA_KEY	DTYPE_KEYDATA_OFFSETS_KEYfloat16float32float64int8uint8int16int32int64bfloat16rK   r   floatDCP_VERSION_KEYDCP_SHARDING_INFO_KEY
FORMAT_KEYFORMAT_VALUEr   r&   r9   IOBasetuplerG   r   rN   rS   r)   r*   r+   <module>rl      s[   	   !    3c 2,	F 	 * + # 		!  ======
**
++;;;;;;NN
	  + 
    BF

"
19#

*=ryy =U38_ =# %++ s x} r*   