
    *i"                    z   S SK Jr  S SKrS SKJrJrJrJrJrJ	r	J
r
JrJrJrJrJr  S SKrS SKJrJrJrJr  S SKJr  S SKJrJr  \(       a  S SKJr  Sr\R:                  R=                  S5      r\cG  \R@                  " \RB                  RE                  \RB                  RG                  \$5      5      5      S	-  O\R@                  " 5       r%\" \\%5      r&\" \&5      r'\" S
\(5      r)\
r*\" S\(5      r+\
r,\" S\(5      r-\
r.\" S\(5      r/\
r0\" S\(5      r1\
r2S r3Sr4Sr5 " S S\5      r6 " S S\5      r7\'" S/ \5      S9S j5       r8\'" S/ \65      S:S j5       r9\'" S\\Rt                  \6/\*5              S;S j5       r;\'" S\*/S5      S<S j5       r<\'" S\*/\5      S=S j5       r=\'" S\\\" \5      /\,5              S>S  j5       r>\'" S!\,/S5      S?S" j5       r?\'" S#/ \25      S@S$ j5       r@\'" S%\2/S5      SAS& j5       rA\'" S'\2/\5      SBS( j5       rB\'" S)\2\/\05            SCS* j5       rC\'" S+\*\2\" \75      \" \,5      \/\5                  SDS, j5       rD\'" S-\0/\5      SES. j5       rE\'" S/\0/\5      SES0 j5       rF\'" S1\0\" \5      /\" \R                  5      5            SFS2 j5       rH\'" S3\*\" \5      \/\,5              SGS4 j5       rI\'" S5\2/\5      SBS6 j5       rJ\'" S7\*\R                  \0\R                  \R                  \\\" \R                  5      /\5                        SHS8 j5       rNg)I    )annotationsN)c_boolc_char_pc_intc_uint8c_uint32c_floatc_void_pc_size_tPOINTER_Pointer	Structurebyref)UnionNewTypeOptionalTYPE_CHECKING)load_shared_library"ctypes_function_for_shared_library)CtypesArraymtmdMTMD_CPP_LIBlibmtmd_context_pmtmd_bitmap_pmtmd_image_tokens_pmtmd_input_chunk_pmtmd_input_chunks_p      c                  <    \ rS rSrS\4S\4S\4S\4S\4S\4/rSrg	)
mtmd_context_paramsK   use_gpuprint_timings	n_threads	verbosityimage_markermedia_marker N)	__name__
__module____qualname____firstlineno__r   r   r   _fields___static_attributes__r*       P/var/www/html/ai-backend/venv/lib/python3.13/site-packages/llama_cpp/mtmd_cpp.pyr"   r"   K   s9    	F	&!	e	e	"	"Hr1   r"   c                  *    \ rS rSrS\4S\4S\4/rSrg)mtmd_input_textU   textadd_specialparse_specialr*   N)r+   r,   r-   r.   r   r   r/   r0   r*   r1   r2   r4   r4   U   s!    			&!Hr1   r4   mtmd_default_markerc                     g Nr*   r*   r1   r2   r9   r9   a       r1   mtmd_context_params_defaultc                     g r;   r*   r*   r1   r2   r=   r=   f   r<   r1   mtmd_init_from_filec                   g r;   r*   )mmproj_fname
text_model
ctx_paramss      r2   r?   r?   m        r1   	mtmd_freec                   g r;   r*   ctxs    r2   rE   rE   {   r<   r1   mtmd_support_visionc                   g r;   r*   rG   s    r2   rI   rI      r<   r1   mtmd_bitmap_initc                   g r;   r*   )nxnydatas      r2   rK   rK      rD   r1   mtmd_bitmap_freec                   g r;   r*   )bitmaps    r2   rP   rP      r<   r1   mtmd_input_chunks_initc                     g r;   r*   r*   r1   r2   rS   rS      r<   r1   mtmd_input_chunks_freec                   g r;   r*   chunkss    r2   rU   rU      r<   r1   mtmd_input_chunks_sizec                   g r;   r*   rW   s    r2   rY   rY      r<   r1   mtmd_input_chunks_getc                   g r;   r*   )rX   idxs     r2   r[   r[           r1   mtmd_tokenizec                   g r;   r*   )rH   outputr6   bitmaps	n_bitmapss        r2   r_   r_      s    & r1   mtmd_input_chunk_get_n_tokensc                   g r;   r*   chunks    r2   rd   rd      r<   r1   mtmd_input_chunk_get_typec                   g r;   r*   rf   s    r2   rh   rh      r<   r1    mtmd_input_chunk_get_tokens_textc                   g r;   r*   )rg   n_tokens_outputs     r2   rj   rj      r^   r1    mtmd_helper_bitmap_init_from_bufc                   g r;   r*   )rH   buflengths      r2   rm   rm      rD   r1   mtmd_helper_get_n_tokensc                   g r;   r*   rW   s    r2   rq   rq      r<   r1   mtmd_helper_eval_chunk_singlec                   g r;   r*   )rH   lctxrg   n_pastseq_idn_batchlogits_last
new_n_pasts           r2   rs   rs      s    2 r1   )returnbytes)r{   r"   )rA   r|   rB   zllama_cpp.llama_model_prC   r"   r{   zOptional[mtmd_context_p])rH   r   )rH   r   r{   bool)rM   Union[c_uint32, int]rN   r~   rO   CtypesArray[c_uint8]r{   Optional[mtmd_bitmap_p])rR   r   )r{   zOptional[mtmd_input_chunks_p])rX   r   )rX   r   r{   int)rX   r   r]   Union[c_size_t, int]r{   zOptional[mtmd_input_chunk_p])rH   r   ra   r   r6   z'_Pointer[mtmd_input_text]'rb   z!CtypesArray[mtmd_bitmap_p_ctypes]rc   r   r{   r   )rg   r   r{   r   )rg   r   rl   z'_Pointer[c_size_t]'r{   z+Optional['_Pointer[llama_cpp.llama_token]'])rH   r   ro   r   rp   r   r{   r   )rH   r   ru   zllama_cpp.llama_context_prg   r   rv   zllama_cpp.llama_posrw   zllama_cpp.llama_seq_idrx   zUnion[c_int, int]ry   zUnion[c_bool, bool]rz   z'_Pointer[llama_cpp.llama_pos]'r{   r   )O
__future__r   osctypesr   r   r   r   r   r	   r
   r   r   r   r   r   pathlibtypingr   r   r   r   llama_cpp.llama_cpp	llama_cppllama_cpp._ctypes_extensionsr   r   r   _libmtmd_base_nameenvironget_libmtmd_override_pathPathpathabspathdirname__file___libmtmd_base_path_libmtmdctypes_functionr   r   mtmd_context_p_ctypesr   mtmd_bitmap_p_ctypesr   mtmd_image_tokens_p_ctypesr   mtmd_input_chunk_p_ctypesr   mtmd_input_chunks_p_ctypesMTMD_INPUT_CHUNK_TYPE_TEXTMTMD_INPUT_CHUNK_TYPE_IMAGEMTMD_INPUT_CHUNK_TYPE_AUDIOr"   r4   r9   r=   llama_model_p_ctypesr?   rE   rI   rK   rP   rS   rU   rY   r[   r_   rd   rh   llama_tokenrj   rm   rq   llama_context_p_ctypes	llama_posllama_seq_idrs   r*   r1   r2   <module>r      sy   " 	      (
   7 YoYwW\\"''//"''//(2K"LMPUU  ~E  ~J  ~J  ~L  13EF4X> )3/  - 3S9 % 137 $ 3S9 %     ) i  &H5 6 .4GH I y--/BC
' $
 
 45t< = &)>(?H I x)*
 
 
 #&:%;TB C )2/IJ K ),F+GN O ),F+GR S *
&:!
 " $% 

	 & /	
 $ 	
 03L2MxX Y ,/H.I5Q R & 12I!!"
0D0
 &GG,h7
		 !
 
 +.H-I8T U #((!	##$	 
	
#   	
 #  % 0 	r1   