CoolFace
Modelpublic

hymenjj/llama-cpp-python-prebuilt

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
llama_cache.cpython-311.pyc54 linesDownload Raw Back to __pycache__
1200�i����ddlZddlmZmZddlmZmZmZddlm	Z	ddl3Z4ddlZddl
TGd�de��ZGd	�d5e��ZeZGd�de��ZdS)
�N)�ABC�abstractmethod)�Optional�Sequence�Tuple)�OrderedDict�)�*c��eZdZdZddefd�Zeedefd�����Zde	edfde6e	edffd	�Zedeedd7fd���Z
edeedefd���Zedeed
d8ddfd���ZdS)�BaseLlamaCachez'Base cache class for a llama.cpp model.��capacity_bytesc��||_dS�N)r)�selfrs  �@/usr/local/lib/python3.11/site-packages/llama_cpp/llama_cache.py�__init__zBaseLlamaCache.__init__s��,������returnc��t�r��NotImplementedError�rs r�9cache_sizezBaseLlamaCache.cache_sizes10��"�!r�key.c��dSr��rrs  r�_find_longest_prefix_keyz'BaseLlamaCache._find_longest_prefix_keys	��	
�r�llama_cpp.llama.LlamaStatec��t�rrrs  r�__getitem__zBaseLlamaCache.__getitem__"���!�!rc��t�rrrs  r�__contains__zBaseLlamaCache.__contains__&r#r�valueNc��t�rr�rrr&s   r�__setitem__zBaseLlamaCache.__setitem__*s11��"�!r�r
)�__name__�12__module__�__qualname__�__doc__�intr�propertyrrrrrrr"�boolr%r)rrrrrsG������1�1�-�-�s�-�-�-�-���"�C�"�"�"��^��X�"�
�
�3��8�_�
�13�%��S��/�	"�
�
�
�
��"�x��}�"�1M�"�"�"��^�"��"���
�"�$�"�"�"��^�"��"��C�=�"�)E�"�	
�"�"�"��^�"�"�"rrc����eZdZdZddef�fd�
Zed���Zdeedfde	eedffd	�Z14deedd15fd�Zdeede
fd�Zdeed
d16fd�Z�xZS)�
LlamaRAMCachez&Cache for a llama.cpp model using RAM.r
rc�~��t���|��||_t��|_dSr)�superrrr�cache_state)rr�	__class__s  �rrzLlamaRAMCache.__init__4s:���
������(�(�(�,���
�M�M�	
���rc�b�td�|j���D����S)Nc��g|]	}|j��17Sr)�llama_state_size)�.0�states  r�18<listcomp>z,LlamaRAMCache.cache_size.<locals>.<listcomp>=s��R�R�R�u�E�*�R�R�Rr)�sumr6�valuesrs rrzLlamaRAMCache.cache_size;s.���R�R��8H�8O�8O�8Q�8Q�R�R�R�S�S�Srr.rc�~��d}d}�fd�|j���D��}|D]\}}||kr|}|}�|S)Nrc3�f�K�|]+}|tjj�|���fV��,dSr)�	llama_cpp�llama�Llama�longest_token_prefix)r;�krs  �r�	<genexpr>z9LlamaRAMCache._find_longest_prefix_key.<locals>.<genexpr>EsQ�����19�20���	��%�:�:�1�c�B�B�C�21�22�23�24�25�26r)r6�keys)rr�min_len�min_keyrHrF�27prefix_lens `     rrz&LlamaRAMCache._find_longest_prefix_key?sv�������28�29�30�31��%�*�*�,�,�32�33�34��"�	�	�M�A�z��G�#�#�$������rr c��t|��}|�|��}|�td���|j|}|j�|��|S�Nz
Key not found)�tupler�KeyErrorr6�move_to_end�rr�_keyr&s    rr"zLlamaRAMCache.__getitem__Os\���C�j�j���,�,�S�1�1���<��?�+�+�+�� ��&����$�$�T�*�*�*��rc�J�|�t|����duSr�rrNrs  rr%zLlamaRAMCache.__contains__X�!���,�,�U�3�Z�Z�8�8��D�Drr&c�<�t|��}||jvr|j|=||j|<|j|jkr]t	|j��dkrI|j�d���|j|jkrt	|j��dk�CdSdSdSdS)NrF)�last)rNr6rr�len�popitemr(s   rr)zLlamaRAMCache.__setitem__[s����C�j�j���$�"�"�"�� ��%� %������o�� 3�3�3��D�<L�8M�8M�PQ�8Q�8Q���$�$�%�$�0�0�0��o�� 3�3�3��D�<L�8M�8M�PQ�8Q�8Q�8Q�8Q�3�3�3�3�8Q�8Qrr*)r+r,r-r.r/rr0rrrrrr"r1r%r)�
__classcell__�r7s@rr3r31s"�������0�0���s��������T�T��X�T��
�3��8�_��35�%��S��/�	"����� �x��}��1M�����E���
�E�$�E�E�E�E�1�x��}�1�5Q�1�1�1�1�1�1�1�1rr3c����eZdZdZ	ddedef�fd�
Zed���Zde	ed	fd36e37e	ed	ffd�Zdeed38dfd
�Z
deed39efd�Zdeeddfd�Z�xZS)�LlamaDiskCachez'Cache for a llama.cpp model using disk.�.cache/llama_cacher
�	cache_dirrc�|��t���|��tj|��|_dSr)r5r�	diskcache�Cache�cache)rr_rr7s   �rrzLlamaDiskCache.__init__ks2���	������(�(�(��_�Y�/�/��404142rc�N�t|j�����Sr)r/rc�volumers rrzLlamaDiskCache.cache_sizeqs���4�:�$�$�&�&�'�'�'rr.rc��d}d}|j���D]1}tjj�||��}||kr|}|}�2|S)Nr)rc�iterkeysrBrCrDrE)rrrIrJrFrKs      rrz'LlamaDiskCache._find_longest_prefix_keyus`����-1����$�$�&�&�	�	�A�"��.�C�C�A�s�K�K�J��G�#�#�$������rr c��t|��}|�|��}|�td���|j�|��}|SrM)rNrrOrc�poprQs    rr"zLlamaDiskCache.__getitem__�sM���C�j�j���,�,�S�1�1���<��?�+�+�+�.2�j�n�n�T�.B�.B���rc�J�|�t|����duSrrTrs  rr%zLlamaDiskCache.__contains__�rUrr&c�$�tdtj���t|��}||jvr#tdtj���|j|=||j|<tdtj���|j|jkrit|j��dkrQtt|j����}|j|=|j|jkrt|j��dk�Qtdtj���dS)Nz"LlamaDiskCache.__setitem__: called)�filez"LlamaDiskCache.__setitem__: deletezLlamaDiskCache.__setitem__: setrz LlamaDiskCache.__setitem__: trim)43�print�sys�stderrrNrcrrrX�next�iter)rrr&�
key_to_removes    rr)zLlamaDiskCache.__setitem__�s���
�2���D�D�D�D��C�j�j���$�*����6�S�Z�H�H�H�H��44�3����45�3��
�/�c�j�A�A�A�A��o�� 3�3�3��D�J���!�8K�8K� ��d�j�!1�!1�2�2�M��46�=�)��o�� 3�3�3��D�J���!�8K�8K�	�0�s�z�B�B�B�B�B�Br)r^r
)r+r,r-r.�strr/rr0rrrrrr"r1r%r)rZr[s@rr]r]hs9�������1�1�MT�0�0��0�EH�0�0�0�0�0�0��(�(��X�(��
�3��8�_��47�%��S��/�	"�����	�x��}�	�1M�	�	�	�	�E���
�E�$�E�E�E�E�C�x��}�C�5Q�C�C�C�C�C�C�C�Crr])rn�abcrr�typingrrr�collectionsrra�llama_cpp.llamarB�llama_typesrr3�48LlamaCacher]rrr�<module>rzs+��49505152�#�#�#�#�#�#�#�#�����������53$�#�#�#�#�#�������������"�"�"�"�"�S�"�"�"�@01�01�01�01�01�N�01�01�01�h�54�3C�3C�3C�3C�3C�^�3C�3C�3C�3C�3Cr