
     sg              	         d dl mZ d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZ d dlZd dlmZmZmZmZ d dlmZ d dlmZmZ erd dlmZ dZej4                  j7                  d      ZeG ej:                  ej<                  j?                  ej<                  jA                  e!                  d	z  n ej:                         Z" eee"      Z# ee#      Z$ ed
e%      Z&e	Z' G d de      Z( e$dejR                  e'ge      	 	 	 	 	 	 dd       Z* e$de'e e
e      eg e
e(            	 	 	 	 	 	 	 	 	 	 dd       Z+ e$de'eeg e
e(            	 	 	 	 	 	 	 	 dd       Z, e$d e
e(      gd      dd       Z- e$dejR                   e
e(      e e
e      ge      	 	 	 	 	 	 	 	 	 	 dd       Z. e$deege'      	 	 	 	 	 	 d d       Z/ e$de'gd      d!d       Z0y)"    )annotationsN)	c_boolc_char_pc_intc_uint8c_floatc_void_pPOINTER_Pointer	Structure)UnionNewTypeOptionalTYPE_CHECKING)load_shared_library"ctypes_function_for_shared_library)CtypesArrayllavaLLAVA_CPP_LIBlib
clip_ctx_pc                  (    e Zd Zd ee      fdefgZy)llava_image_embedembedn_image_posN)__name__
__module____qualname__r
   r   r   _fields_     F/var/www/html/venv/lib/python3.12/site-packages/llama_cpp/llava_cpp.pyr   r   <   s    	''"#	Hr!   r   llava_validate_embed_sizec                    y Nr    )	ctx_llamactx_clips     r"   r#   r#   E        r!   !llava_image_embed_make_with_bytesc                    y r%   r    )r'   	n_threadsimage_bytesimage_bytes_lengths       r"   r)   r)   R   s     r!   $llava_image_embed_make_with_filenamec                    y r%   r    )r'   r+   
image_paths      r"   r.   r.   c   r(   r!   llava_image_embed_freec                    y r%   r    )r   s    r"   r1   r1   p       r!   llava_eval_image_embedc                    y r%   r    )r&   r   n_batchn_pasts       r"   r4   r4   w   s    " r!   clip_model_loadc                    y r%   r    )fname	verbositys     r"   r8   r8      s     r!   	clip_freec                    y r%   r    )ctxs    r"   r<   r<      r3   r!   )r&   llama_cpp.llama_context_pr'   r   returnbool)
r'   r   r+   Union[c_int, int]r,   zCtypesArray[c_uint8]r-   rB   r@   '_Pointer[llava_image_embed]')r'   r   r+   rB   r0   bytesr@   rC   )r   rC   )
r&   r?   r   rC   r6   rB   r7   z'_Pointer[c_int]'r@   rA   )r:   rD   r;   rB   r@   zOptional[clip_ctx_p])r>   r   )1
__future__r   osctypesr   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   _libllava_base_nameenvironget_libllava_override_pathPathpathabspathdirname__file___libllava_base_path	_libllavactypes_functionintr   clip_ctx_p_ctypesr   llama_context_p_ctypesr#   r)   r.   r1   r4   r8   r<   r    r!   r"   <module>r\      s   " 	
 
 
   (
   **..9 ZqZylgll277??277??83L#MNQVV  @L  @G  @L  @L  @N    35HI	4Y? \3'
 	  %%'89

(4>	
 'ww/7
  & *	 #
 *x(
%6DI"
 )G4E,F+GN O ((!"	 	((  	 
	" "Xu$57HI. J 0148 9r!   