
    `i                       d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	Z
dej        vrp ee          j        j        j        j        dz                                  r<ej                            d  e ee          j        j        j                             d dlZ ej        d          ZddZddZedk    r e             dS dS )    )annotationsN)tqdm)PathNO_LOCAL_GGUFzgguf-pyzgguf-convert-endianreadergguf.GGUFReaderargsargparse.NamespacereturnNonec                *   | j         j        }| j        dk    r|dk    rdnd}n|}|j        dk    r|n|j                                        }t
                              d| d| d           ||k    r2t
                              d| d	           t          j        d
           t
                              d           | j	        D ]}|j
        t          j        j        t          j        j        t          j        j        t          j        j        t          j        j        fvr1t%          d|j
        j         dt'          |j                             t
                              d| d|            |j        rd S t
                              d           t
                              d           ||k    rt
                              d           t
                              d           t
                              d           t-          d          }|dk    r.t
                              d           t          j        d
           t
                              dt/          | j                   d           t3          | j                                                  D ]m\  }}t
                              d|ddt'          |j                   dt/          |j                              |j        D ]}	|	                    d           nt
                              d t/          | j	                   d           t3          t;          | j	        d!"          x}
          D ]\  }}d#t'          |j                   d$|j
        j         d%|j         d&}|j        j        D ]}	|	                    d           |j
        t          j        j        k    rd'}t/          |j                   |z  }t;          tC          |          d(d)*          x}D ]u}||z  }|j         ||d+z            "                    tF          j$        ,          }|                    d           |d-z  d
k    r|%                    d.||z
  |z   d/           vn_|j
        t          j        j        k    r+d0}|j         j&        D ]}||z  }|j         '                    |           d1}t/          |j                   |z  }t;          tC          |          d(d)*          x}D ]}||z  }|j         ||d+z            "                    tF          j$        ,          }|                    d           |j         |d+z   |d2z            "                    tF          j$        ,          }|                    d           |d-z  d
k    r|%                    d.||z
  |z   d/           n|j
        t          j        j        k    rd0}|j         j&        D ]}||z  }|j         '                    |           d3}t/          |j                   |z  }t;          tC          |          d(d)*          x}D ]x}||z  }|j         |d4z   |d3z            "                    tF          j$        ,          }|                    d           |d-z  d
k    r|%                    d.||z
  |z   d/           yn|j                             d           |
%                    |           t
                              d5           d S )6NSLITTLEBIGnativez
* Host is z endian, GGUF file seems to be z endianz* File is already z endian. Nothing to do.r   z/* Checking tensors for conversion compatibilityzCannot handle type z for tensor z* Preparing to convert from z to z&*** Warning *** Warning *** Warning **zH* This conversion process may damage the file. Ensure you have a backup.z]* Requested endian differs from host, you will not be able to load the model on this machine.zQ* The file will be modified immediately, so if conversion fails or is interruptedzX* the file will be corrupted. Enter exactly YES if you are positive you want to proceed:zYES, I am sure> YESz(You didn't enter YES. Okay then, see ya!z* Converting fields ()z- 4z: Converting field z, part count: T)inplacez* Converting tensors (zConverting tensor)desczConverting tensor z, type=z, elements= "   zByte-swapping BlocksF)r   leave   )dtypei zByte-swapping Blocks []               z* Completion)(	endianessname
byte_orderorderupperloggerinfosysexittensorstensor_typeggufGGMLQuantizationTypeF32F16Q8_0Q4_KQ6_K
ValueErrorreprdry_runwarninginputlenfields	enumeratevaluespartsbyteswapr   
n_elementsfielddatarangeviewnpuint16set_descriptionshaperesize)r   r	   file_endianhost_endianr%   tensorresponseidxr@   partpbarlog_message
block_sizen_blocks
inner_pbar	block_num
block_offsdeltanewshapeis                       t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/gguf/scripts/gguf_convert_endian.pyconvert_byteorderrZ      s   "'KC*h66eeH!:11KKtz7G7G7I7IE
KK][]]]]]^^^eGGGGHHH
KKABBB. m m%)%)%*%*%*&
 
 
 k63E3JkkX\]c]hXiXikklll
 KKG{GGGGHHH| 
NN;<<<
NN]^^^vwww
NNfggg
NNmnnn'((H5ABBB
KK=FM(:(:===>>> 4 4 6 677 ( (
Ueeee4
3C3CeeSVW\WbScSceefffK 	( 	(DMM$M''''	(
KK?V^)<)<???@@@ fnCV)W)W)W!WXX X* X*V-fk!2!2 - -&+- -)- - - 	 L& 	( 	(DMM$M'''' !:!???
 J6;'':5H,0xG]ej,k,k,kkj 	o 	o	&3
 JzA~$=>CC")CTTt,,, v%**../mT]I]bjHj/m/m/mnnn	o 4#<#AAA H[&  AKx(((J6;'':5H,0xG]ej,k,k,kkj o o	&3
 JzA~$=>CC")CTTt,,,JN:>$ABGGbiGXXt,,, v%**../mT]I]bjHj/m/m/mnnno 4#<#AAA H[&  AKx(((J6;'':5H,0xG]ej,k,k,kkj 	o 	o	&3
 J$4Z#5E$EFKKRTR[K\\t,,, v%**../mT]I]bjHj/m/m/mnnn	o K   ...[))))
KK    c                    t          j        d          } |                     dt          d           |                     dt          g dd	           |                     d
dd           |                     ddd           |                     t          t          j                  dk    rd ndg          }t          j	        |j
        rt          j        nt          j                   t                              d|j                    t!          j        |j        |j        rdnd          }t'          ||           d S )NzConvert GGUF file byte order)descriptionmodelzGGUF format model filename)typehelpr%   )biglittler   zRequested byte order)r_   choicesr`   z	--dry-run
store_truezDon't actually change anything)actionr`   z	--verbosezincrease output verbosityr   z--help)levelz* Loading: rzr+)argparseArgumentParseradd_argumentstr
parse_argsr9   r)   argvloggingbasicConfigverboseDEBUGINFOr'   r(   r^   r-   
GGUFReaderr6   rZ   )parserr	   r   s      rY   mainru      sO   $1OPPPF
c)     c#>#>#>#     L-     L?Z[[[S]]Q%6%6TTXJGGDt|MgmmNNNN
KK*dj**+++_TZ)F$GGFfd#####r[   __main__)r   r   r	   r
   r   r   )r   r   )
__future__r   rn   rh   osr)   r   pathlibr   numpyrD   environ__file__parentexistspathinsertrk   r-   	getLoggerr'   rZ   ru   __name__ r[   rY   <module>r      sC   " " " " " "   				 



                 "*$$$$x..*?*F*M*TW`*`)h)h)j)j$HOOAss44>>07>??@@@ 		0	1	1C  C  C  C L$ $ $ $2 zDFFFFF r[   