
    #;7jp                        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	m
Z
mZ d dlmZ ddlmZ d dlZ ej        d          Ze G d	 d
                      ZdS )    )annotationsN)Path)AnyLiteralOptional)	dataclass   )Keysmetadatac                     e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded	<   dZ	ded
<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded <   dZ ded!<   dZ!ded"<   dZ"ded#<   dZ#ded$<   dZ$d%ed&<   dZ%d'ed(<   dZ&d'ed)<   dZ'd%ed*<   e(dEdFd3            Z)e(dGdHd5            Z*e(dGdId6            Z+e(dGdId7            Z,e(dGdId8            Z-e(d9             Z.e(dJdKd<            Z/e(dEdLdA            Z0dMdDZ1dS )NMetadataNOptional[str]sampling_sequencezOptional[int]sampling_top_kzOptional[float]sampling_top_psampling_min_psampling_xtc_probabilitysampling_xtc_thresholdsampling_tempsampling_penalty_last_nsampling_penalty_repeatsampling_mirostatsampling_mirostat_tausampling_mirostat_etanameauthorversionorganizationfinetunebasenamedescriptionquantized_by
size_labelurldoiuuidrepo_url
source_url
source_doisource_uuidsource_repo_urllicenselicense_namelicense_linkzOptional[list[dict]]base_modelszOptional[list[str]]tags	languagesdatasetsr   metadata_override_pathOptional[Path]
model_path
model_nametotal_paramsintreturnc                   t                      }t                               |          }t                               |          }t                               |          }t                               |||||          }|r|                    d|j                  |_        |                    d|j                  |_        |                    d|j                  |_        |                    d|j	                  |_	        |                    d|j
                  |_
        |                    d|j                  |_        |                    d|j                  |_        |                    d|j                  |_        |                    d	|j                  |_        |                    d
|j                  |_        |                    d|j                  |_        |                    d|j                  |_        t                               |           }|                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j	                  |_	        |                    t&          j        j        |j
                  |_
        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j        |j                  |_        |                    t&          j        j         |j                  |_        |                    t&          j        j!        |j"                  |_"        |                    t&          j        j#        |j$                  |_$        |                    t&          j        j%        |j&                  |_&        |                    t&          j        j'        |j(                  |_(        |                    t&          j        j)        |j*                  |_*        |                    t&          j        j+        |j,                  |_,        |                    t&          j        j-        |j.                  |_.        |                    t&          j        j/        |j0                  |_0        |                    t&          j        j1        |j2                  |_2        |                    t&          j        j3        |j4                  |_4        |                    t&          j        j5        |j6                  |_6        |                    t&          j        j7        |j8                  |_8        |                    t&          j        j9        |j:                  |_:        |                    t&          j        j;        |j<                  |_<        |                    t&          j        j=        |j>                  |_>        |                    t&          j        j?        |j@                  |_@        |                    t&          j        jA        |jB                  |_B        |                    t&          j        jC        |jD                  |_D        |                    t&          j        jE        |jF                  |_F        |                    d|jG                  |_G        |                    d|jH                  |_H        |                    t&          j        jI        |jJ                  |_J        |                    t&          j        jK        |jL                  |_L        |||_"        |S )Nsequencetop_ktop_pmin_pxtc_probabilityxtc_thresholdtemperaturepenalty_last_npenalty_repeatmirostatmirostat_taumirostat_etazgeneral.base_modelszgeneral.datasets)Mr   load_model_cardload_hf_parametersload_generation_configapply_metadata_heuristicgetr   r   r   r   r   r   r   r   r   r   r   r   load_metadata_overrider
   GeneralSAMPLING_SEQUENCESAMPLING_TOP_KSAMPLING_TOP_PSAMPLING_MIN_PSAMPLING_XTC_PROBABILITYSAMPLING_XTC_THRESHOLDSAMPLING_TEMPSAMPLING_PENALTY_LAST_NSAMPLING_PENALTY_REPEATSAMPLING_MIROSTATSAMPLING_MIROSTAT_TAUSAMPLING_MIROSTAT_ETANAMEr   AUTHORr   VERSIONr   ORGANIZATIONr   FINETUNEr   BASENAMEr    DESCRIPTIONr!   QUANTIZED_BYr"   
SIZE_LABELr#   LICENSE_NAMEr-   LICENSE_LINKr.   URLr$   DOIr%   UUIDr&   REPO_URLr'   
SOURCE_URLr(   
SOURCE_DOIr)   SOURCE_UUIDr*   SOURCE_REPO_URLr+   r/   r2   TAGSr0   	LANGUAGESr1   )	r3   r5   r6   r7   r   
model_card	hf_params
gen_configmetadata_overrides	            ;/home/rurouni/src/llama.cpp-master/gguf-py/gguf/metadata.pyloadzMetadata.load<   s    ::--j99
//
;;	44Z@@
 44Xz9V`bnoo 	r0:zRZRl0m0mH&0:wRZRi0j0jH#0:wRZRi0j0jH#0:wRZRi0j0jH#0:?PRZRs0t0tH-0:RZRq0r0rH+0:}RZRh0i0iH"0:?ORZRr0s0sH,0:?ORZRr0s0sH,0:zRZRl0m0mH&0:~RZRp0q0qH*0:~RZRp0q0qH* %;;<RSS,=,A,A$,B`iq  jD  -E  -E",=,A,A$,B]iq  jA  -B  -B,=,A,A$,B]iq  jA  -B  -B,=,A,A$,B]iq  jA  -B  -B,=,A,A$,Bgiq  jK  -L  -L),=,A,A$,Beiq  jI  -J  -J',=,A,A$,B\iqi  -A  -A,=,A,A$,Bfiq  jJ  -K  -K(,=,A,A$,Bfiq  jJ  -K  -K(,=,A,A$,B`iq  jD  -E  -E",=,A,A$,Bdiq  jH  -I  -I&,=,A,A$,Bdiq  jH  -I  -I&#4#8#89JW_Wd#e#e#4#8#89LW_Wf#g#g#4#8#89MW_Wg#h#h#4#8#89RW_Wl#m#m#4#8#89NW_Wh#i#i#4#8#89NW_Wh#i#i#4#8#89QW_Wk#l#l#4#8#89RW_Wl#m#m#4#8#89PW_Wj#k#k#4#8#89RW_Wl#m#m#4#8#89RW_Wl#m#m#4#8#89IW_Wc#d#d#4#8#89IW_Wc#d#d#4#8#89JW_Wd#e#e#4#8#89NW_Wh#i#i#4#8#89PW_Wj#k#k#4#8#89PW_Wj#k#k#4#8#89QW_Wk#l#l#4#8#89UW_Wo#p#p  $5#8#89NW_Wk#l#l $5#8#89KW_Wh#i#i#4#8#89JW_Wd#e#e#4#8#89OW_Wi#j#j !&HM    dict[str, Any]c                    | |                                  si S t          | dd          5 }t          j        |          cd d d            S # 1 swxY w Y   d S )Nrutf-8encoding)is_fileopenjsonrt   )r3   fs     rs   rL   zMetadata.load_metadata_override   s    !)1G1O1O1Q1Q)I(#@@@ 	 A9Q<<	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   AAAc                D   | |                                  si S | dz  }|                                si S d}t          |dd          5 }|                                }|                                }g }t          |          dk    ri cd d d            S t          |          dk    r|d         dk    ri cd d d            S |dd          D ]}|dk    r n|                    |            d	                    |          d	z   }d d d            n# 1 swxY w Y   |                    d
d          }|                    dd          }|rXt          j
        |          }t          |t                    r|S t                              dt          |           d           i S i S )Nz	README.md rx   ry   rz   r   z---r	   
z- no
z- "no"
	z  z3while reading YAML model card frontmatter, data is z instead of dict)is_dirr|   r}   read
splitlineslenappendjoinreplaceyaml	safe_load
isinstancedictloggererrortype)	r5   model_card_pathyaml_contentr   contentlines
lines_yamllinedatas	            rs   rG   zMetadata.load_model_card   s8   Z%6%6%8%8I${2&&(( 	I /3999 	8QffhhG&&((EJ5zzQ	8 	8 	8 	8 	8 	8 	8 	8 5zzA~~%(e"3"3	8 	8 	8 	8 	8 	8 	8 	8 abb	 , ,5==E%%d++++99Z0047L	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8& $++HlCC $++D$77 	>,//D$%% oSWX\S]S]oooppp	Is   ?D DADDDc                    | |                                  si S | dz  }|                                si S t          |dd          5 }t          j        |          cd d d            S # 1 swxY w Y   d S )Nzconfig.jsonrx   ry   rz   )r   r|   r}   r~   rt   )r5   config_pathr   s      rs   rH   zMetadata.load_hf_parameters   s    Z%6%6%8%8I =0""$$ 	I+sW555 	 9Q<<	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   A''A+.A+c                &   | |                                  si S | dz  }|                                si S 	 t          |dd          5 }t          j        |          cd d d            S # 1 swxY w Y   d S # t          j        t          f$ r i cY S w xY w)Nzgeneration_config.jsonrx   ry   rz   )r   r|   r}   r~   rt   JSONDecodeErrorIOError)r5   generation_config_pathr   s      rs   rI   zMetadata.load_generation_config   s    Z%6%6%8%8I!+.F!F%--// 	I	,cGDDD $y||$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$g. 	 	 	III	s5   A5 A(A5 (A,,A5 /A,0A5 5BBc                    d                     d |                                                     dd                                          D                       S )N c                    g | ]A}|                                 r)t          j        d |          s|                                n|BS )z^(v\d+(?:\.\d+)*|\d.*)$)islowerrematchtitle).0ws     rs   
<listcomp>z(Metadata.id_to_title.<locals>.<listcomp>   sX      \  \  \mnaiikkh"(C]_`:a:ahgh  \  \  \ru   -)r   stripr   split)strings    rs   id_to_titlezMetadata.id_to_title   s     xx  \  \rxr~r~  sA  sA  sI  sI  JM  OR  sS  sS  sY  sY  s[  s[  \  \  \  ]  ]  	]ru   model_idMtuple[str | None, str | None, str | None, str | None, str | None, str | None]c           	     *   | dS d| v r| d d d d d fS d| v r|                      dd          \  }}nd | }}|!t          |          dk    r|d         dk    rd }|                     d          }t          t          t          |                              D ]}t          ||                   dk    r||= d |D             }t	          |          D ]\  }}t          j        d	|t
          j                  r||                             d
           Bt          j        d|t
          j                  r3||                             d           |	                                ||<   |dk    rt          j        d|t
          j                  r|
                    dd          }|d                                         r|d d         dz   |d         z   |d         z   }t          |          dk    rI|d                                         r/|d         dv r%|d d         |d         	                                z   }|dk    r	 t          |d d                   t          dd                    |d                             z  }|dk     r|t          |          dz  k     s"|dk    r\t          ||z
            d|z  dz  k    r@||                             d           |d d         |d                                         z   }n# t"          $ r Y nw xY wt          ||                   dk    r||                             d           |||<   z|dk    rvt          j        d|t
          j                  rV|dk     r5|                                dk    r||                             d           ||                             d           t%          d t'          ||          D                       rHt'          ||          D ]7\  }	}
d|
v r.t)          d |	D                       r|
                    d           8d}t'          ||          D ]z\  }}
|rGt          |
          dk    r|d                                         sd
|
v r|
                    d           N|rd}t          |
          dk    r|
                    d           {t'          t          |          t          |                    D ]2\  }}
d|
v r)t          |
          dk    r|
                    d           2 d                    d t'          ||          D                       pd }d                    t0                              d  t'          ||          D                                                                 pd }d                    d! t'          ||          D                       pd }d                    d" t'          ||          D                       pd }|||d }||||||fS )#N)NNNNNNr   /r	   r   .r   c                *    g | ]}t                      S  )set)r   _s     rs   r   z4Metadata.get_model_id_components.<locals>.<listcomp>  s    '''qSUU'''ru   z(v|iter)?\d+([.]\d+)*r   zi?q\d(_\w)*|b?fp?(16|32)r   zD(([A]|\d+[x])?\d+([._]\d+)?[KMBT][\d]?|small|mini|medium|large|x?xl)r   kmbti  z KMBT      r   r#   zchat|instruct|vision|loralorac              3  V   K   | ]$\  }}d |v 	|D ]}|                                 V  %dS r#   N)	isdecimal)r   ntcs       rs   	<genexpr>z3Metadata.get_model_id_components.<locals>.<genexpr>F  sH      eeAXYHYHYcdHYHY^_q{{}}HYHYHYHYHYeeru   c              3  >   K   | ]}|                                 V  d S N)isalpha)r   r   s     rs   r   z3Metadata.get_model_id_components.<locals>.<genexpr>I  s*      221199;;222222ru   Tr    Fc              3  (   K   | ]\  }}d |v 	|V  dS )r    Nr   )r   r   r   s      rs   r   z3Metadata.get_model_id_components.<locals>.<genexpr>^  +      YY$!QWXAYYru   c              3  (   K   | ]\  }}d |v 	|V  dS r   r   )r   sr   s      rs   r   z3Metadata.get_model_id_components.<locals>.<genexpr>`  s2      +k+k$!QYeijYjYjAYjYjYjYj+k+kru   c              3  (   K   | ]\  }}d |v 	|V  dS )r   Nr   )r   r   r   s      rs   r   z3Metadata.get_model_id_components.<locals>.<genexpr>a  r   ru   c              3  0   K   | ]\  }}d |v 	d|v|V  dS )r   r    Nr   )r   vr   s      rs   r   z3Metadata.get_model_id_components.<locals>.<genexpr>d  s;      ppAVW\fno\o\o1\o\o\o\oppru   )r   r   reversedrange	enumerater   	fullmatch
IGNORECASEaddupperr   r   floatpowfindabslower
ValueErroranyzipallremover   r   r   fromkeyskeys)r   r7   org_componentmodel_full_name_component
name_partsi
name_typespartlabel_paramsr   r   at_startr    r#   r   r   s                   rs   get_model_id_componentsz Metadata.get_model_id_components   s~   
 55(?? T4tT99(??7?~~c17M7M4M44 8<X4M $]););a)?)?MRSDTX[D[D[ M 9 ? ? D D
 %J0011 	" 	"A:a=!!Q&&qM ('J''' 	
 !,, -	2 -	2GAt|4dBMJJ +21!!),,,,94OO (21!!&))) $


1Q2<(oquwy  xE  F  F||C--8%%'' A9s?T"X5R@Dt99q==T"X%7%7%9%9=Bx6))#CRCy48>>+;+;;1$$',T#2#Y'7'7#dGLLQUVXQYDZDZ:[:['[
 )1,,L@Q@QUV@V1V1V(1,,\L5P1Q1QTUXdTdhiTi1i1i 'qM--j999#'9tBx~~/?/?#?D%    z!}%%**qM%%l333 $
1Q2<(DdBMZZ!##

(>(>qM%%f----qM%%j111 eeZ)D)Deeeee 	/J
33 / /11$$2222222 /...:z22 	& 	&GD! &c!ffkkd1goo.?.?kIQRNNj!!!! %$Hq66Q;;EE*%%% 8J//*1E1EFF 	 	GD!Q3q66A::$$$$88YY#j**E*EYYYYYa]aXXdmm+k+k#j*:U:U+k+k+kkkpprrss{w{
88YY#j**E*EYYYYYa]a ((pp#j**E*Epppppxtx("2wH(-8WV```s   =B?K==
L
	L
r   ro   Optional[dict]rp   c           
     N    ~d> fd}d> fd} |dd            |dd            |dd            |d	d	            |d
d
            |dd            |dd            |dd            |dd            |dd            |dd            |dd            |dd            |dd            |dd            |d	d            |d
d            |dd            |dd            |dd            |dd            |dd            |dd             |dd!            |dd            |dd"            |dd#           d$v s	d%v sd&v rtg }                     d$                     d%                     d&d                               }|Ut          |t                    r|                    |           n*t          |t                    r|                    |            j        g  _        |D ]}	i }
t          |	t                    rS|	                    d'          s*|	                    d(          s|	                    d)          r|	|
d<   d*|	v rt          j	        d+|	          }|r||
                    d,          }t                              ||          \  }}}}}}|t                              |          |
d<   |t                              |          |
d	<   |||
d<   nt                              |	|          \  }}}}}}|t                              |          |
d<   |t                              |          |
d	<   |||
d<   ||d-| d.| |
d<   nCt          |	t                    r|	}
n+t                              d/t          |	           d0            j                            |
           d1v s	d2v sd3v rJg }                     d1                     d2                     d3d                               }|Ut          |t                    r|                    |           n*t          |t                    r|                    |            j        g  _        |D ]}i }t          |t                    r)|                    d4          r||d<   d*|v rt          j	        d+|          }|r||
                    d,          }t                              ||          \  }}}}}}|t                              |          |d<   |t                              |          |d	<   |||d<   nt                              ||          \  }}}}}}|t                              |          |d<   |t                              |          |d	<   |||d<   ||d-| d.| |d<   nCt          |t                    r|}n+t                              d5t          |           d0            j                            |            |d6d6            |d7d7            |d8d8            |d9d9            |d9d:            |d;d;            |d;d<           ||                     d=          }||                    d.          d,k    r|}	t                              |	|          \  }}}}}} j        !|t                              |           _         j        !|t                              |           _         j        	|| _         j        	|| _         j        	|| _         j        	|| _        ||j        }	t                              |	|          \  }}}}}} j        !|t                              |           _         j        !|t                              |           _         j        	|| _         j        	|| _         j        	|| _         j        	|| _         S )?Nmetadata_keystrmodel_card_keyc                    |v r7t          | d           (t          |                     |                     d S d S d S r   )getattrsetattrrK   )r   r   r   ro   s     rs   use_model_card_metadatazBMetadata.apply_metadata_heuristic.<locals>.use_model_card_metadatat  sR    !Z//GHlTX4Y4Y4aHlJNN>4R4RSSSSS 0/4a4aru   c                2                        |d           }|d S t          | d           }|g }t          |t                    r|                    |           n*t          |t
                    r|                    |           t          | |           d S r   )rK   r   r   r   r   listextendr   )r   r   
tags_valuecurrent_valuer   ro   s       rs   use_array_model_card_metadatazHMetadata.apply_metadata_heuristic.<locals>.use_array_model_card_metadatax  s    '^^NDAA
%F ', E E ($&Mj#.. 5!((4444
D11 5!((444,>>>>>ru   r   r   r   r   r!   r   r    r#   r(   r$   r)   r%   r*   r&   r+   r'   r6   model_authormodel_versionmodel_organizationmodel_descriptionmodel_finetunemodel_basenamemodel_size_label	model_url	model_doi
model_uuidmodel_repo_urlmodel_creator
model_type
base_modelr/   base_model_sourceshttp://https://ssh://zhuggingface.coz&https?://huggingface.co/([^/]+/[^/]+)$r	   zhttps://huggingface.co/r   zbase model entry 'z' not in a known formatr2   datasetdataset_sources)r  r	  r
  zdataset entry 'r,   r-   r.   r0   pipeline_tagr1   language_name_or_path)r   r   r   r   )rK   r   r   r   r   r   r/   
startswithr   r   groupr   r   r   r   r   r   r2   countr   r   r    r   r   r#   )r   ro   rp   r5   r7   r   r   metadata_base_modelsbase_model_valuer   r  r   model_id_componentr   r   r    r   r   r#   metadata_datasetsdataset_value
dataset_idr  dataset_id_componentdataset_name_componenthf_name_or_paths   ``                        rs   rJ   z!Metadata.apply_metadata_heuristicl  s)    !T T T T T T T? ? ? ? ? ? ?( $#FF333##Hh777##Iy999##NNCCC##M=AAA##J
;;;##J
;;;##L,???##L%888##L%888##M6:::##$5zBBB
 $#FL999##Hn===##I???##N4HIII##M3FGGG##J0@AAA##J0@AAA##L2DEEE##L+>>>##L+>>>##M<@@@##$57GHHH $#FL999##Ho>>>##J===z))]j-H-HL`dnLnLn (*$#->>,
}^h^l^l  nB  DH  _I  _I  AJ  AJ  $K  $K #/!"2C88 F,334DEEEE#$4d;; F,334DEEE'/+-H( 4 *< *<H!#J!(C00 %b#..y99 X=P=PQ[=\=\ `h`s`st|`}`} 5=Jz2  08;;(*1Z\d(e(e#( 
!H9>Q$6 yA  yY  yY  Zl  nz  y{  y{$u$=}hX`biku (A'L=E=Q=QRk=l=l
6(:'4'@EMEYEYZgEhEh
>(B'.':@G
9(= qy  qQ  qQ  RZ  \h  qi  qim5}hPXZacm  9D5=5I5IJc5d5d
6 2,8=E=Q=QR_=`=`
> :&28?
9 5,8=V=b9~S`9~9~c|9~9~
: 6#Hd33 b%-

 %`#h--%`%`%`aaa(//
;;;;Z''9
+B+BFW[eFeFe$&! *z:>>)U_UcUcduw{U|U|;};} ~ ~ ,!-55 @)00????#M488 @)00???$,(*H%"3 *6 *6J G!*c22 %a%001RSS y2<GJ/  0:==(*1Z\f(g(g#( 
!E;@;;q>>$8u}  vV  vV  Wk  my  vz  vz$r$:M8U]_fhr (>'I:B:N:NOe:f:f'4'@BJBVBVWdBeBe(?'.':=D	(: nv  nN  nN  OY  [g  nh  nhj2M8XW^`j  6A2:2F2FG]2^2^,8:B:N:N}:]:] 7&25<	 2,8=S=_6xP]6x6x`v6x6x
 3#J55 a", %_s:%_%_%_```%,,W5555##Iy999##NNCCC##NNCCC))&&999))&.AAA))+{CCC))+zBBB
  'mmO<<O*/D/DS/I/IQ/N/N +dl  eE  eE  FN  P\  e]  e]a)=(HgWa=(-F-R$,$8$89R$S$SHM(0]5N,4,@,@,O,OH)$,1E(0H%$,1E(0H%#+0C'.H$&.:3I*4H' !!H`h  aA  aA  BJ  LX  aY  aY]%}h'S]}$)B)N ( 4 45N O O$,1J(0(<(<](K(K% (X-A$,! (X-A$,!'G,?#* "*z/E&0#ru   gguf_writergguf.GGUFWriterc                   | j         J | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j	        |
                    | j	                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   |                    | j                    | j        |                    | j                   | j        |                    | j                   | j        |                    | j                   | j         |!                    | j                    | j"        |#                    | j"                   | j$        |%                    | j$                   | j&        |'                    | j&                   | j(        |)                    | j(                   | j*        btW          | j*        tX                    r.|-                    d.                    | j*                             n|-                    | j*                   | j/        |0                    | j/                   | j1        |2                    | j1                   | j3        |4                    | j3                   | j5        |6                    | j5                   | j7        |8                    | j7                   | j9        |:                    | j9                   | j;        |<                    | j;                   | j=        |>                    | j=                   | j?        |@                    | j?                   | jA        |B                    | jA                   | jC        c|D                    t          | jC                             t          | jC                  D ]&\  }}d|v r|G                    ||d                    d|v r|H                    ||d                    d|v r|I                    ||d                    d|v r|J                    ||d                    d|v r|K                    ||d                    d|v r|L                    ||d                    d|v r|M                    ||d                    d	|v r|N                    ||d	                    d
|v r|O                    ||d
                    (| jP        c|Q                    t          | jP                             t          | jP                  D ]&\  }}d|v r|R                    ||d                    d|v r|S                    ||d                    d|v r|T                    ||d                    d|v r|U                    ||d                    d|v r|V                    ||d                    d|v r|W                    ||d                    d|v r|X                    ||d                    d	|v r|Y                    ||d	                    d
|v r|Z                    ||d
                    (| j[        |\                    | j[                   | j]        |^                    | j]                   d S d S )N,r   r   r   r   r!   r$   r%   r&   r'   )_r   r   add_sampling_sequencer   add_sampling_top_kr   add_sampling_top_pr   add_sampling_min_pr   add_sampling_xtc_probabilityr   add_sampling_xtc_thresholdr   add_sampling_tempr   add_sampling_penalty_last_nr   add_sampling_penalty_repeatr   add_sampling_mirostatr   add_sampling_mirostat_taur   add_sampling_mirostat_etaadd_namer   
add_authorr   add_versionr   add_organizationr   add_finetuner    add_basenamer!   add_descriptionr"   add_quantized_byr#   add_size_labelr,   r   r   add_licenser   r-   add_license_namer.   add_license_linkr$   add_urlr%   add_doir&   add_uuidr'   add_repo_urlr(   add_source_urlr)   add_source_doir*   add_source_uuidr+   add_source_repo_urlr/   add_base_model_countr   r   add_base_model_nameadd_base_model_authoradd_base_model_versionadd_base_model_organizationadd_base_model_descriptionadd_base_model_urladd_base_model_doiadd_base_model_uuidadd_base_model_repo_urlr2   add_dataset_countadd_dataset_nameadd_dataset_authoradd_dataset_versionadd_dataset_organizationadd_dataset_descriptionadd_dataset_urladd_dataset_doiadd_dataset_uuidadd_dataset_repo_urlr0   add_tagsr1   add_languages)selfr  keybase_model_entrydataset_entrys        rs   set_gguf_meta_modelzMetadata.set_gguf_meta_model^  s   y$$$!---d.DEEE***4+>???***4+>???***4+>???(444T5RSSS&22243NOOO)))$*<==='333D4PQQQ'333D4PQQQ!---d.DEEE%111$2LMMM%111$2LMMMTY''';"""4;///<###DL111((():;;;=$$$T]333=$$$T]333'''(8999((():;;;?&&&t777<#$,-- 6''(>(>????''555((():;;;((():;;;8)))8)))9   +++=$$$T]333?&&&t777?&&&t777'''(8999+++D,@AAA',,S1A-B-BCCC)243C)D)D [ [%%---33C9I&9QRRR///55c;KH;UVVV 00066s<LY<WXXX!%555;;CAQR`Aabbb $444::3@PQ^@_```,,,2238H8OPPP,,,2238H8OPPP---33C9I&9QRRR!11177=Mj=YZZZ=$))#dm*<*<===&/&>&> U U"]]**00mF6KLLL},,223h8OPPP--33Cy9QRRR!]2288mN>[\\\ M1177]==YZZZM))//]55IJJJM))//]55IJJJ]**00mF6KLLL..44S-
:STTT9   +++>%%%dn55555 &%ru   )NNNr   )
r3   r4   r5   r4   r6   r   r7   r8   r9   r   r   )r3   r4   r9   rv   )r5   r4   r9   rv   )Nr   )r   r   r7   r8   r9   r   )r   r   ro   r   rp   r   r5   r4   r7   r8   r9   r   )r  r  )2__name__
__module____qualname__r   __annotations__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   staticmethodrt   rL   rG   rH   rI   r   r   rJ   rZ  r   ru   rs   r   r      s         (,++++$(N((((&*N****&*N****044444.22222%)M))))-11111/33333'+++++-11111-11111 D F    !G!!!!"&L&&&&"H"""""H""""!%K%%%%"&L&&&& $J$$$$CCD"H"""" $J$$$$ $J$$$$!%K%%%%%)O))))!G!!!!"&L&&&&"&L&&&&(,K,,,, $D$$$$%)I))))%)H))))U U U U \Un         \  - - - - \-^ 
  
  
  
  \
      \  ] ] \] za za za za \zax o o o o \ob}6 }6 }6 }6 }6 }6ru   r   )
__future__r   r   r~   r   loggingpathlibr   typingr   r   r   dataclassesr   	constantsr
   gguf	getLoggerr   r   r   ru   rs   <module>rh     s    " " " " " " 				          ) ) ) ) ) ) ) ) ) ) ! ! ! ! ! !       		:	&	& H6 H6 H6 H6 H6 H6 H6 H6 H6 H6ru   