ó
    �®žjvI  ã                   óx  • S SK r S SKJr  S SKJr  S SKJr  S SKJrJ	r	J
r
JrJrJr  S SKJr  \ R                   " \5      r\
" S\\R&                  \	R(                  \R*                  \R,                  \R.                  \R0                  /\" SS	9S
SSSS/S9r\R7                  SS9r\	R:                  \l        \
" S\\R&                  \	R>                  \R@                  /S
SSSS/S9	r!\" S\" \RD                  SSS9\RF                  SS
SSSS/\R&                  S9	r$\$R7                  SS9r%\" S5      \%l&        S\%RN                  S'   \
" S\\R&                  \	R(                  \R*                  \R,                  \R.                  \R0                  /\" SS	9S
SSSS/S9r(\
" S\\R&                  \	R>                  \R@                  /S
SSS/S 9r)\
" S!\\R&                  \	R(                  \R*                  \R,                  \R.                  \R0                  /S"S
SSS/S#9
r*\
" S!\\R&                  \	R:                  \R.                  \R0                  /S
SSS/S 9r+\
" S$S%\RX                  \	R(                  \R*                  \R,                  \R.                  \R0                  /S"S
SS&9	r-\
" S'S(\R&                  \	R>                  \R*                  \R@                  /S
SS)9r.\
" S$S%\RX                  \	R:                  \R.                  \R0                  /S
SS*9r/\
" S+S,\R`                  \	R(                  \R*                  \R,                  \R.                  \R@                  \R0                  /S
SS)9r1\
" S+S,\R`                  \	R:                  \R.                  \R0                  /S
SS*9r2\" \" S5      SS-0S,S.S/\R`                  SS09r3\
" S1S,\R`                  \	R(                  \R*                  \R,                  \R.                  \R0                  /S
SS)9r4\
" S2S,\R`                  \	R>                  \R@                  /S
SS*9r5\
" S3S4S\R`                  \	R(                  \Rl                  \R,                  \R.                  \R0                  /S
S\" S S59S69
r7\
" S7S,\R`                  \	R>                  \R@                  /S
SS*9r8\
" S8S9\R`                  \	R(                  \R*                  \Rr                  \R,                  \R.                  \R@                  \R0                  /S"S
SS:S;9r:\
" S<\:RF                  \R`                  \	R>                  \R@                  /S
SS:S=9r;\:R7                  SS9r<\	R:                  \<l        \" S\" S8S:S>9\:RF                  SS
SS\R`                  S?9r=\" \" S@5      \" SAS:S>9\:RF                  S/S
SSB\R`                  S?9r>\
" SCSD\R`                  \	R(                  \R~                  \R*                  \R,                  \R.                  \R0                  /S
SSE/SFS0SG9r@\
" SHS,\R`                  \	R>                  \R@                  /S
SS*9rA\
" SIS,\R`                  \	R>                  \R@                  /S
SS*9rB\
" SJSK\R`                  \	R(                  \R*                  \R†                  \R.                  \R,                  \R@                  \R0                  /S
SSL9	rD\
" SMSN\R`                  \	R(                  \R*                  \Rr                  \R.                  \R,                  \R@                  \R0                  /S"S
SSOSP/SQ9rE\
" SRSN\R`                  \	R>                  \R@                  /S
SS*9rF\ER7                  SS9rG\	R:                  \Gl        \" S\" SMSS>9SNSS
SS\R`                  S?9rH\
" SSSD\R`                  \	R(                  \R*                  \Rr                  \R.                  \R,                  \R@                  \R0                  /S"S
SSS;9rI\
" STSD\R`                  \	R>                  \R@                  /S
SSS=9rJ\IR7                  SS9rK\	R:                  \Kl        \" S\" SSSS>9SDSS
SS\R`                  S?9rL\" S\" SUSSS9SVSS
SS\Rš                  S?9rN\
" SWSXSDS"\	R(                  \R*                  \RX                  \R,                  \R.                  \R@                  \R0                  /S
SSY9
rO\
" SZS[SDS"\	R(                  \R*                  \RX                  \R,                  \R.                  \R@                  \R0                  /S
SSS\9rP " S] S^\Q\5      rRg)_é    N)ÚEnum)ÚAnyUrl)ÚAcceleratorDevice)ÚApiVlmOptionsÚInferenceFrameworkÚInlineVlmOptionsÚResponseFormatÚTransformersModelTypeÚTransformersPromptStyle)ÚDOCLING_BASE_PAGE_PROMPTz ibm-granite/granite-docling-258MF)Úskip_special_tokensg       @g        i    z	</doctag>z<|end_of_text|>)Úrepo_idÚpromptÚresponse_formatÚinference_frameworkÚtransformers_model_typeÚsupported_devicesÚextra_generation_configÚscaleÚtemperatureÚmax_new_tokensÚstop_stringsT)Údeepz$ibm-granite/granite-docling-258M-mlx)	r   r   r   r   r   r   r   r   r   z)http://localhost:8000/v1/chat/completionsi   )ÚmodelÚ
max_tokensr   éZ   é   )	ÚurlÚparamsr   Útimeoutr   r   Úconcurrencyr   r   z*http://localhost:11434/v1/chat/completionszibm/granite-docling:258mr   z+docling-project/granite-docling-2stage-258mz1docling-project/SmolDocling-256M-preview-mlx-bf16z<end_of_utterance>)r   r   r   r   r   r   r   r   z(docling-project/SmolDocling-256M-previewÚbfloat16)
r   r   r   r   r   r   Útorch_dtyper   r   r   z#HuggingFaceTB/SmolVLM-256M-Instructz$Transcribe this image to plain text.)	r   r   r   r   r   r   r#   r   r   z moot20/SmolVLM-256M-Instruct-MLXzExtract the text.)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   z!ibm-granite/granite-vision-3.2-2bzVConvert this page to markdown. Do not miss any text and only output the bare markdown!zgranite3.2-vision:2bg      ð?éx   )r   r   r   r   r    r   r   zmistral-community/pixtral-12bzmlx-community/pixtral-12b-bf16z#microsoft/Phi-4-multimodal-instructzUConvert this page to MarkDown. Do not miss any text and only output the bare markdown)Únum_logits_to_keep)
r   r   Útrust_remote_coder   r   r   r   r   r   r   z)mlx-community/Qwen2.5-VL-3B-Instruct-bf16znanonets/Nanonets-OCR2-3BuJ  Extract the text from the above document as if you were reading it naturally. Return the tables in html format. Return the equations in LaTeX representation. If there is an image in the document and image caption is not present, add a small description of the image inside the <img></img> tag; otherwise, add the image caption inside <img></img>. Watermarks should be wrapped in brackets. Ex: <watermark>OFFICIAL COPY</watermark>. Page numbers should be wrapped in brackets. Ex: <page_number>14</page_number> or <page_number>9/22</page_number>. Prefer using â˜� and â˜‘ for check boxes.i˜:  )r   r   r   r   r   Útransformers_prompt_styler   r#   r   r   r   z#mlx-community/Nanonets-OCR2-3B-bf16)r   r   r   r   r   r   r   r   )r   r   )r   r   r   r    r   r   r!   r   z)http://localhost:1234/v1/chat/completionsznanonets-ocr2-3bé   zstepfun-ai/GOT-OCR-2.0-hfÚ z
<|im_end|>Úformat)r   r   r   r   r'   r   r   r   r   r   Úextra_processor_kwargsz!mlx-community/gemma-3-12b-it-bf16z!mlx-community/gemma-3-27b-it-bf16zByteDance/Dolphinz$<s>Read text in the image. <Answer/>)	r   r   r   r   r   r'   r   r   r   zzai-org/GLM-OCRzText Recognition:z<|user|>z<|endoftext|>)r   r   r   r   r   r'   r   r#   r   r   r   zmlx-community/GLM-OCR-bf16zlightonai/LightOnOCR-2-1Bz"mlx-community/LightOnOCR-2-1B-bf16zdeepseek-ocr:3bz/<|grounding|>Convert the document to markdown. znumind/NuExtract-2.0-2BÚ(fe5b2f0b63b81150721435a3ca1129a75c59c74e)
r   Úrevisionr   r#   r   r   r   r   r   r   z!ibm-granite/granite-vision-4.1-4bÚ(dd48e97503de471803850df70843cf9eb5da8712)r   r-   r   r#   r   r   r   r   r   r   r&   c                   óT   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrSrg)ÚVlmModelTypei=  ÚsmoldoclingÚsmoldocling_vllmÚgranite_visionÚgranite_vision_vllmÚgranite_vision_ollamaÚ	got_ocr_2Úgranite_doclingÚgranite_docling_vllmÚnanonets_ocr2Únanonets_ocr2_vllmÚnanonets_ocr2_lmstudioÚglm_ocrÚglm_ocr_vllmÚ
lightonocrÚlightonocr_vllmÚdeepseekocr_ollama© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚSMOLDOCLINGÚSMOLDOCLING_VLLMÚGRANITE_VISIONÚGRANITE_VISION_VLLMÚGRANITE_VISION_OLLAMAÚ	GOT_OCR_2ÚGRANITEDOCLINGÚGRANITEDOCLING_VLLMÚNANONETS_OCR2ÚNANONETS_OCR2_VLLMÚNANONETS_OCR2_LMSTUDIOÚGLMOCRÚGLMOCR_VLLMÚ
LIGHTONOCRÚLIGHTONOCR_VLLMÚDEEPSEEKOCR_OLLAMAÚ__static_attributes__rA   ó    Ú^/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/datamodel/vlm_model_specs.pyr0   r0   =  sY   † Ø€KØ)ÐØ%€NØ/ÐØ3ÐØ€IØ&€NØ0ÐØ#€MØ-ÐØ5ÐØ€FØ €KØ€JØ'€OØ-ÓrW   r0   )SÚloggingÚenumr   Úpydanticr   Ú%docling.datamodel.accelerator_optionsr   Ú,docling.datamodel.pipeline_options_vlm_modelr   r   r   r	   r
   r   Údocling.datamodel.vlm_promptsr   Ú	getLoggerrB   Ú_logÚDOCTAGSÚTRANSFORMERSÚAUTOMODEL_IMAGETEXTTOTEXTÚCPUÚCUDAÚXPUÚdictÚGRANITEDOCLING_TRANSFORMERSÚ
model_copyrM   ÚVLLMr   ÚMLXÚMPSÚGRANITEDOCLING_MLXr   r   ÚGRANITEDOCLING_VLLM_APIÚGRANITEDOCLING_OLLAMAr   r   Ú"GRANITEDOCLING_2STAGE_TRANSFORMERSÚSMOLDOCLING_MLXÚSMOLDOCLING_TRANSFORMERSrG   Ú	PLAINTEXTÚSMOLVLM256_TRANSFORMERSÚSMOLVLM256_MLXÚSMOLVLM256_VLLMÚMARKDOWNÚGRANITE_VISION_TRANSFORMERSrI   rJ   ÚPIXTRAL_12B_TRANSFORMERSÚPIXTRAL_12B_MLXÚAUTOMODEL_CAUSALLMÚPHI4_TRANSFORMERSÚQWEN25_VL_3B_MLXÚCHATÚNANONETS_OCR2_TRANSFORMERSÚNANONETS_OCR2_MLXrO   ÚNANONETS_OCR2_VLLM_APIÚNANONETS_OCR2_LMSTUDIO_APIÚNONEÚGOT2_TRANSFORMERSÚGEMMA3_12B_MLXÚGEMMA3_27B_MLXÚRAWÚDOLPHIN_TRANSFORMERSÚGLMOCR_TRANSFORMERSÚ
GLMOCR_MLXrR   ÚGLMOCR_VLLM_APIÚLIGHTONOCR_TRANSFORMERSÚLIGHTONOCR_MLXrT   ÚLIGHTONOCR_VLLM_APIÚDEEPSEEKOCR_MARKDOWNrU   ÚNU_EXTRACT_2B_TRANSFORMERSÚGRANITE_VISION_4_1_TRANSFORMERSÚstrr0   rA   rW   rX   Ú<module>r“      sn  ðó Ý õõ D÷÷ õ Cà×Ò˜Ó"€ñ /Ø.Ø#Ø"×*Ñ*Ø*×7Ñ7Ø1×KÑKà×ÑØ×ÑØ×Ñðñ
 !°UÑ;Ø
ØØØÐ0Ð1ñÐ ð& 2×<Ñ<À$Ð<ÐGÐ Ø*<×*AÑ*AÐ Ô 'á%Ø2Ø#Ø"×*Ñ*Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
ØØØÐ0Ð1ñ
Ð ñ (Ø3ÙØ)×1Ñ1ØØ ñð
 '×-Ñ-ØØ
ØØØÐ0Ð1Ø"×*Ñ*ñÐ ð  0×:Ñ:ÀÐ:ÐEÐ Ù"Ð#OÓPÐ Ô Ø(BÐ × Ñ ˜WÑ %ñ &6Ø9Ø#Ø"×*Ñ*Ø*×7Ñ7Ø1×KÑKà×ÑØ×ÑØ×Ñðñ
 !°UÑ;Ø
ØØØÐ0Ð1ñ&Ð "ñ( #Ø?Ø#Ø"×*Ñ*Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
ØØÐ3Ð4ñ	€ñ ,Ø6Ø#Ø"×*Ñ*Ø*×7Ñ7Ø1×KÑKà×ÑØ×ÑØ×Ñðð
 Ø
ØØÐ3Ð4ñÐ ñ" $Ø6Ø#Ø"×*Ñ*Ø*×/Ñ/à×ÑØ×Ñðð ØØÐ3Ð4ñÐ ñ +Ø1Ø1Ø"×,Ñ,Ø*×7Ñ7Ø1×KÑKà×ÑØ×Ñà×Ñð	ð Ø
ØñÐ ñ$ "Ø.ØØ"×*Ñ*Ø*×.Ñ.Ø1×KÑKà×Ñðð Øñ€ñ #Ø1Ø1Ø"×,Ñ,Ø*×/Ñ/à×ÑØ×Ñðð Øñ€ñ /Ø/ØcØ"×+Ñ+Ø*×7Ñ7Ø1×KÑKà×ÑØ×ÑØ×ÑØ×Ñð	ð ØñÐ ñ  'Ø/ØcØ"×+Ñ+Ø*×/Ñ/à×ÑØ×Ñðð ØñÐ ñ &ÙÐ;Ó<ØÐ+Ð,ØcØ
ØØ"×+Ñ+ØñÐ ñ ,Ø+ØcØ"×+Ñ+Ø*×7Ñ7Ø1×KÑKà×ÑØ×ÑØ×Ñðð
 ØñÐ ñ #Ø,ØcØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
Øñ€ñ %Ø1ØbØØ"×+Ñ+Ø*×7Ñ7Ø1×DÑDà×ÑØ×ÑØ×Ñðð
 ØÙ °AÑ6ñÐ ñ$ $Ø7ØcØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
ØñÐ ñ .Ø'ð	4ð #×+Ñ+Ø*×7Ñ7Ø1×KÑKØ5×:Ñ:à×ÑØ×ÑØ×ÑØ×Ñð	ð Ø
ØØñ3Ð ñ< %Ø1Ø%×,Ñ,Ø"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
ØØñ	Ð ð 0×:Ñ:ÀÐ:ÐEÐ Ø);×)@Ñ)@Ð Ô &á&Ø3ÙØ)Øñð &×,Ñ,ØØ
ØØØ"×+Ñ+ñÐ ñ +ÙÐ:Ó;ÙØ Øñð &×,Ñ,ØØ
ØØØ"×+Ñ+ñÐ ñ %Ø'ØØ"×+Ñ+Ø*×7Ñ7Ø5×:Ñ:Ø1×KÑKà×ÑØ×Ñà×Ñð	ð ØØ�Ø$ dÐ+ñ!Ð ñ* "Ø/ØcØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
Øñ€ñ "Ø/ØcØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
Øñ€ñ (ØØ1Ø"×+Ñ+Ø*×7Ñ7Ø1×KÑKØ5×9Ñ9à×ÑØ×ÑØ×ÑØ×Ñð	ð ØñÐ ñ$ 'ØØØ"×+Ñ+Ø*×7Ñ7Ø1×KÑKØ5×:Ñ:à×ÑØ×ÑØ×ÑØ×Ñð	ð Ø
ØØ˜oÐ.ñ!Ð ñ( Ø(ØØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
Øñ€
ð "×,Ñ,°$Ð,Ð7€Ø"4×"9Ñ"9€Ô áØ3ÙØØñð ØØ
ØØØ"×+Ñ+ñ€ñ +Ø'ØØ"×+Ñ+Ø*×7Ñ7Ø1×KÑKØ5×:Ñ:à×ÑØ×ÑØ×ÑØ×Ñð	ð Ø
ØØñ!Ð ñ* "Ø0ØØ"×+Ñ+Ø*×.Ñ.Ø(×,Ñ,Ð-Ø
ØØñ	€ð *×4Ñ4¸$Ð4Ð?€Ø&8×&=Ñ&=€Ô #á#Ø3ÙØ)Øñð ØØ
ØØØ"×+Ñ+ñÐ ñ #Ø4ÙØØØ ñð
 =ØØ
ØØØ"×7Ñ7ñÐ ñ  .Ø%Ø7ØØØ*×7Ñ7Ø1×KÑKØ"×,Ñ,à×ÑØ×ÑØ×ÑØ×Ñð	ð ØñÐ ñ& #3Ø/Ø7ØØØ*×7Ñ7Ø1×KÑKØ"×,Ñ,à×ÑØ×ÑØ×ÑØ×Ñð	ð ØØñ!#Ð ô(.�3˜õ .rW   