
    #;7jH5                       U d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
mZmZ d dlmZ g dZi 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i d!d"d#d"d$d%d&d%d'd(d)d*d+d,d-d,d.d,d/d0d1d2d3d4d5d4d6d4d7d4d8dd9di d:dd;d<d=dd>d?d@dAdBdAdCdAdDddEdFdGdFdHdFdIdFdJdKdLdMdNdOdPdQdRdSi dTdUdVdWdXdYdZdYd[dYd\dYd]dYd^dYd_dYd`dYdadYdbdYdcdYdddYdedfdgdfdhdfi didfdjdfdkd%dldfdmdfdndodpddqddrddsddtddudvdwdvdxdydzd{d|d{d}d{i d~d	dddddddddddddddddddddd4dddddd4ddddi dddddd	dddddddddd	dd	dd	dd	dd	dd	dd	dd	dd	ddi ddddddddOddOddOdddddddddddddddddddd	dd	i ddddddddœddœdddddddddd̓dd̓dd̓dd̓dd̓ddғddԓdd֓i ddؓddؓddAddܓddޓddޓddޓddޓddؓddؓddؓddddddddddddi ddddddddddddddddddddddddddddddddddKi ddd dddddddQddddddddd	dd
d̓dddd	ddfddddddSi 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'd4d4dydd(Zd)ed*<   i ddd)d*d+d4d,d4d=d-dEdFd[dYd^dYd`dYdbdYdiddjddmdd.dd/ddtdd}d{i d0d1d2d3dddd4dd4d5dd6dd7d8dd9dd:d;ddddddd:d<dœd=dAddޓi ddddddddddddddddddddddd>dœddd?d1dddddddd@dAZd)edB<    e ee                                                    Z e ee                                                    Z e            ZdCedD<    e            ZdCedE<   dRdHZdSdTdOZdRdPZdQS (U      )annotations   )
	ModelBase	TextModelMmprojModel	ModelTypeSentencePieceTokenTypeslogger_mistral_common_installed_mistral_import_error_msgget_model_architectureLazyTorchTensor)Type)r   r   r   r   r	   r   r   r
   r   r   get_model_classprint_registered_modelsload_all_modelsAfmoeForCausalLMafmoeApertusForCausalLMllamaArceeForCausalLMArcticForCausalLMarctic&AudioFlamingo3ForConditionalGenerationqwenBaiChuanForCausalLMbaichuanBaichuanForCausalLMBailingMoeForCausalLM
bailingmoeBailingMoeV2ForCausalLMBambaForCausalLMgraniteBertForMaskedLMbertBertForSequenceClassification	BertModelBitnetForCausalLMbitnetBloomForCausalLMbloom
BloomModelCamembertModelChameleonForCausalLM	chameleon!ChameleonForConditionalGenerationChatGLMForConditionalGenerationchatglmChatGLMModelCodeShellForCausalLM	codeshellCogVLMForCausalLMcogvlmCohere2MoeForCausalLM	command_rCohere2ForCausalLMCohereForCausalLMDbrxForCausalLMdbrxDeciLMForCausalLMdeciDeepseekForCausalLMdeepseekDeepseekV2ForCausalLMDeepseekV3ForCausalLMDeepseekV32ForCausalLMDistilBertForMaskedLM#DistilBertForSequenceClassificationDistilBertModelDots1ForCausalLMdots1DotsOCRForCausalLM
DreamModeldreamErnie4_5ForCausalLMernieErnie4_5_ForCausalLMErnie4_5_MoeForCausalLMEuroBertModel"Exaone4_5_ForConditionalGenerationexaoneExaone4ForCausalLMExaoneForCausalLMExaoneMoEForCausalLMFalconForCausalLMfalconFalconH1ForCausalLM	falcon_h1FalconMambaForCausalLMmambaGPT2LMHeadModelgpt2GPTBigCodeForCausalLM	starcoderGPTNeoXForCausalLMgptneoxGPTRefactForCausalLMrefactGemma2ForCausalLMgemmaGemma3ForCausalLMGemma3ForConditionalGenerationGemma3TextModelGemma3nForCausalLMGemma3nForConditionalGenerationGemma4AssistantForCausalLMGemma4ForConditionalGenerationGemma4ForCausalLM%Gemma4UnifiedForConditionalGeneration!Gemma4UnifiedAssistantForCausalLMGemmaForCausalLMGlm4ForCausalLMglmGlm4MoeForCausalLMGlm4MoeLiteForCausalLMGlm4vForConditionalGeneration Glm4vMoeForConditionalGenerationGlmForCausalLMGlmMoeDsaForCausalLMGlmOcrForConditionalGenerationGptOssForCausalLMgpt_ossGraniteForCausalLMGraniteMoeForCausalLMGraniteMoeHybridForCausalLMGraniteMoeSharedForCausalLM%GraniteSpeechForConditionalGenerationGrok1ForCausalLMgrokGrokForCausalLMGroveMoeForCausalLMgrovemoeHunYuanDenseV1ForCausalLMhunyuanHunYuanMoEV1ForCausalLM!HunYuanVLForConditionalGenerationIQuestCoderForCausalLMInternLM2ForCausalLMinternlmInternLM3ForCausalLMJAISLMHeadModeljaisJais2ForCausalLMJambaForCausalLMjambaJanusForConditionalGenerationjanusproJinaBertForMaskedLMJinaBertModelJinaEmbeddingsV5ModelKORMoForCausalLMKimiK25ForConditionalGenerationKimiLinearForCausalLMkimi_linearKimiLinearModelKimiVLForConditionalGenerationLFM2ForCausalLMlfm2LLaDAMoEModellladaLLaDAMoEModelLMLLaDAModelLMLLaMAForCausalLMLfm25AudioTokenizerLfm2ForCausalLM	Lfm2ModelLfm2MoeForCausalLMLlama4ForCausalLMLlama4ForConditionalGenerationLlamaBidirectionalModelLlamaForCausalLM
LlamaModelEagle3DraftModelEagle3SpeculatorLlamaForCausalLMEagle3LlavaForConditionalGenerationLlavaStableLMEpochForCausalLMstablelmMPTForCausalLMmptMT5ForConditionalGenerationt5MaincoderForCausalLM	maincoderMamba2ForCausalLMMambaForCausalLMMambaLMHeadModelMellumForCausalLMmellumMiMoV2FlashForCausalLMmimoMiMoV2ForCausalLMMiniCPM3ForCausalLMminicpmMiniCPMForCausalLM#MiniCPMV4_6ForConditionalGenerationMiniMaxM2ForCausalLMminimaxMinistral3ForCausalLMmistral3 Mistral3ForConditionalGenerationMistralForCausalLMMixtralForCausalLMModernBertForMaskedLM#ModernBertForSequenceClassificationModernBertModelNemotronForCausalLMnemotronNemotronHForCausalLMNeoBERT NeoBERTForSequenceClassificationNeoBERTLMHeadNomicBertModelOLMoForCausalLMolmoOlmo2ForCausalLMOlmo3ForCausalLMOlmoForCausalLMOlmoeForCausalLMOpenELMForCausalLMopenelmOrionForCausalLMorionPLMForCausalLMplmPLaMo2ForCausalLMplamoPLaMo3ForCausalLM#PaddleOCRVLForConditionalGenerationPanguEmbeddedForCausalLMpanguPhi3ForCausalLMphiPhi4ForCausalLMVPhiForCausalLMPhiMoEForCausalLMPlamo2ForCausalLMPlamo3ForCausalLMPlamoForCausalLMQWenLMHeadModel"Qwen2AudioForConditionalGenerationQwen2ForCausalLM
Qwen2ModelQwen2MoeForCausalLMQwen2VLForConditionalGenerationqwenvlQwen2VLModelQwen2_5OmniModel"Qwen2_5_VLForConditionalGeneration Qwen3ASRForConditionalGenerationqwen3vlQwen3ForCausalLM
Qwen3ModelQwen3MoeForCausalLMQwen3NextForCausalLM$Qwen3OmniMoeForConditionalGenerationQwen3VLForConditionalGeneration"Qwen3VLMoeForConditionalGenerationQwen3_5ForCausalLMQwen3_5ForConditionalGenerationQwen3_5MoeForCausalLM"Qwen3_5MoeForConditionalGenerationRND1RWForCausalLMRWKV6Qwen2ForCausalLMrwkvRWKV7ForCausalLM RobertaForSequenceClassificationRobertaModelRuGPT3XLForCausalLMRwkv6ForCausalLMRwkv7ForCausalLMRwkvHybridForCausalLMSarashina2VisionForCausalLM
sarashina2SarvamMoEForCausalLMSeedOssForCausalLMSmallThinkerForCausalLMsmallthinkerSmolLM3ForCausalLMSolarOpenForCausalLMStableLMEpochForCausalLMStableLmForCausalLMStarcoder2ForCausalLMStep3p5ForCausalLMstep3StepVLForConditionalGenerationStep3p7ForConditionalGenerationT5EncoderModelT5ForConditionalGenerationT5WithLMHeadModelTalkieForCausalLMtalkieUMT5ForConditionalGeneration	UMT5ModelUltravoxModelultravoxVLlama3ForCausalLMVoxtralForConditionalGenerationWavTokenizerDecwavtokenizer#XLMRobertaForSequenceClassificationXLMRobertaModelXverseForCausalLMxverseYoutuForCausalLM)YoutuVLForConditionalGenerationz&modeling_grove_moe.GroveMoeForCausalLMz(modeling_sarvam_moe.SarvamMoEForCausalLMzdict[str, str]TEXT_MODEL_MAPDeepseekOCR2ForCausalLMDeepseekOCRForCausalLMdotsocrGlmasrModel&Granite4VisionForConditionalGeneration Idefics3ForConditionalGenerationsmolvlmInternVisionModelinternvlkimivl!Lfm2AudioForConditionalGenerationLfm2VlForConditionalGeneration"LightOnOCRForConditionalGenerationlighton_ocrllama4llava!MERaLiON2ForConditionalGenerationNemotronH_Nano_VL_V2PaddleOCRVisionModel
RADIOModelSmolVLMForConditionalGenerationyoutuvl)r-  r5  MMPROJ_MODEL_MAPzset[str]_loaded_text_modules_loaded_mmproj_modulesreturnNonec                 z   t          t                    t          t                    k    rrt          D ]j} | t          vr_	 t          d|             t                              |            9# t
          $ r$}t          j        d|  d|            Y d}~bd}~ww xY wkt          t                    t          t                    k    rrt          D ]l} | t          vr_	 t          d|             t                              |            9# t
          $ r$}t          j        d|  d|            Y d}~bd}~ww xY wkdS dS )zEImport all model modules to trigger @ModelBase.register() decorators.conversion.zFailed to load model module z: N)
lenrN  _TEXT_MODEL_MODULES
__import__add	Exceptionr
   warningrO  _MMPROJ_MODEL_MODULES)module_namees     9/home/rurouni/src/llama.cpp-master/conversion/__init__.pyr   r   8  s   
  C(;$<$<<<. 	V 	VK"666V:[::;;;(,,[9999  V V VN#T+#T#TQR#T#TUUUUUUUUV	 7 !""c*?&@&@@@0 	V 	VK"888V:[::;;;*..{;;;;  V V VN#T+#T#TQR#T#TUUUUUUUUV	 9 A@	V 	Vs/   ,A++
B5BB,D
D5D00D5FnamestrmmprojboolType[ModelBase]c                    |rt           nt          }| |vrt          d| d          ||          }t          d|            |rt          j        nt          j        }t          j        |         |          S )zQDynamically import and return a model class by its HuggingFace architecture name.zArchitecture z not supported!rS  )	rM  r6  NotImplementedErrorrV  r   MMPROJTEXTr   _model_classes)r^  r`  relevant_mapr[  
model_types        r]  r   r   M  s    '-A##>L<!"I$"I"I"IJJJt$K*[**+++%+?!!J#J/55    c                 r   t                       t          j        d           t          t                                                    D ]} t          j        d|             t          j        d           t          t                                                    D ]} t          j        d|             d S )NzTEXT models:z  - zMMPROJ models:)r   r
   errorsortedr6  keysrM  )r^  s    r]  r   r   X  s    
L   ~**,,-- $ $]D]]####
L!"""',,..// $ $]D]]####$ $rj  N)rP  rQ  )F)r^  r_  r`  ra  rP  rb  )
__future__r   baser   r   r   r   r	   r
   r   r   r   r   typingr   __all__r6  __annotations__rM  rm  setvaluesrU  rZ  rN  rO  r   r   r    rj  r]  <module>rw     s   " " " " " " "                       
        a"a"'a" a" 	a"
 -fa" :a" :a" \a" |a" 	a" va" $Va" a" a" a"  '!a"" f#a" a"$ K%a"& ('a"( &y)a"* I+a", K-a". /a"0 [1a"2 +3a"4 5a"6 v7a"8 9a": :;a"< Z=a"> Z?a"@ jAa"B VCa"D *6Ea" a" a"F vGa"H Ia"J &Ka"L 'Ma"N 7Oa"P GQa"R wSa"T VUa"V )(Wa"X (Ya"Z [a"\ H]a"^ _a"` ;aa"b gca"d vea"f [ga" a" a"h )ia"j Hka"l ma"n oa"p %gqa"r wsa"t 'ua"v &wwa"x !'ya"z %g{a"| }a"~ ,Wa"@ (Aa"B Ca"D uEa"F %Ga"H eIa" a" a"J $UKa"L 'Ma"N iOa"P EQa"R %eSa"T Ua"V )Wa"X YYa"Z "9[a"\ "9]a"^ ,Y_a"` aa"b vca"d :ea"f  ga"h yia"j (ka" a" a"l gma"n Joa"p Jqa"r vsa"t ua"v wa"x $Zya"z 6{a"| V}a"~ Va"@ Aa"B &zCa"D ]Ea"F }Ga"H %jIa"J vKa"L WMa" a" a"N wOa"P GQa"R Sa"T 6Ua"V vWa"X Ya"Z &[a"\ ]a"^ %g_a"` waa"b ca"d 'ea"f ga"h ia"j gka"l $Wma"n $Zoa" a" a"p eqa"r "4sa"t Kua"v wa"x ya"z {a"| }a"~ fa"@ Aa"B 9Ca"D )Ea"F *9Ga"H IIa"J ZKa"L '
Ma"N 'Oa"P 'Qa" a" a"R VSa"T *6Ua"V vWa"X :Ya"Z J[a"\ v]a"^ '_a"` Vaa"b fca"d vea"f ga"h ia"j vka"l ma"n )oa"p qa"r esa" a" a"t ua"v wa"x *7ya"z {a"| u}a"~ a"@ eAa"B Ca"D Ea"F Ga"H Ia"J vKa"L )&Ma"N Oa"P &Qa"R 6Sa"T &xUa" a" a"V HWa"X Ya"Z )([a"\ '	]a"^ _a"` &aa"b 6ca"d Fea"f +Iga"h &yia"j ))ka"l &ma"n &voa"p Vqa"r )&sa"t Fua"v Xwa" a" a"x Vya"z {a"| '}a"~ Fa"@ 6Aa"B Ca"D Ea"F VGa"H "<Ia"J LKa"L &Ma"N ~Oa"P 'Qa"R ESa"T 
Ua"V :Wa"X [Ya" a" a"Z '[a"\ %g]a"^ &w_a"` daa"b !$ca"d ea"f ga"h #Dia"j ka"l Zma"n 'oa"p &wqa"r ~sa"t *6ua"v vwa"x ya"z 
{a" a"| (2.80<Aa" a" a" a a a aH6$,j6$6$ z6$ j	6$
 )6$ )(6$ %g6$ &w6$ %g6$ ,W6$ $Y6$ '	6$ %i6$ :6$ -i6$  ,Y!6$" (#6$ 6$$ '	%6$& '6$( $Z)6$* &x+6$, %h-6$. (/6$0 %f16$2 )-36$4 %h56$6 $W76$8 (96$: ;6$< *9=6$> '?6$@ JA6$B GC6$D E6$ 6$ 6$F )*G6$H &xI6$J HK6$L M6$N )(O6$P '	Q6$R +IS6$T &yU6$V ))W6$X &yY6$Z ))[6$\ *]6$^ "<_6$` &ya6$b %gc6$d &we6$f Zg6$ 6$h (2'0k6$ 6$ 6$  6 6 6 6r fSS!6!6!8!899:: ss#3#:#:#<#<==>>  "%  & & & &#&355  ( ( ( (V V V V*6 6 6 6 6$ $ $ $ $ $rj  