CoolFace
Apppublic

universalsoftware/uchat

sourceHugging Facemitupdated 8mo agoView on Hugging Face
2likes
uchat.cpython-311.pyc63 linesDownload Raw Back to __pycache__
1�

2 S)f�����ddlZddlmZddlmZddlZddlZddlmZddl	m3Z4ddlmZddl
mZmZddlZd	Zejj���s6ejj���sed5��ned��nejd��d
ZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*e*d z
Z*e*d
d
d
d!�Z+d
Z,d"d
d
d
d!�Z-dZ.	ej/�0��Z1e1D]�Z2e2j+e+e2j3<e2j,Z,e2j-e-e2j3<e2j!Z!e2jZe2jZe2j Z e2jZe2jZe2j"Z"e2j#Z#e2j.Z.e2j$Z$e2j&Z&e2j%Z%e2j(Z(e2j'Z'e2j)Z)��n#YnxYwd#�Z4d$�Z5d%�Z6ed&d'�(��Z7ej8e��Z9ej:e�)��Z;e9�<de;d*d+i�,��Z=e=�>��Z?d-�Z@d.�ZAdS)/�N)�embedding_functions�)�Param)�OpenAI)�PyPDFLoader)�RecursiveCharacterTextSplitter)�islice�zip_longestzYugo60-GPT-GGUF.Q4_K_M.ggufzUMPS not available because the current PyTorch install was not built with MPS enabled.z~MPS not available because the current MacOS version is not 12.3+ and/or you do not have an MPS-enabled device on this machine.�mps�z&/Users/zoranpopovic/uchat/chroma_data/zall-MiniLM-L6-v2�chroma_dataz%./PDF/uputstvo_uz_eon_smart_box-1.pdfz,./PDF/uputstvo_uz_eon_smart_aplikaciju-1.pdfi �2��(gffffff�?g333333�?g�������?ig�������?gg333333�?TuZoveš se U-Chat AI asistent i pomažeš korisniku usluga kompanije United Group. Korisnik postavlja pitanje ili problem, upareno sa dodatnima saznanjima. Na osnovu toga napiši korisniku kratak i ljubazan odgovor koji kompletira njegov zahtev ili mu daje odgovor na pitanje. u�Usluge kompanije United Group uključuju i kablovsku mrežu za digitalnu televiziju, pristup internetu, uređaj EON SMART BOX za TV sadržaj, kao i fiksnu telefoniju.)�srpski�hrvatskiuslovenački�6makedonskiz- Dodatna saznanja su: c�l�t|��}td|z��|���S)NzLoaded: )r�print�load_and_split)�pdf_path�loaders  �&/Users/zoranpopovic/uchat/bot/uchat.py�load_and_split_documentrPs4��
��
"�
"�F�	�*�x�7� � � �� � �"�"�"�c	�H�d}tt|����D]j}tjdd||j�dd���dd�����dd��||_�ktt|����D]D}t||j��tkr	|d	kr|}�.|d	kr||||<|d8z
}�E|d	kr
|d|d9z10�}t||���}|�|��S)N�����z\s+� z. .rz\n�.z..rr)�11chunk_size�
chunk_overlap)	�range�len�re�sub�page_content�replace�min_lenr�split_documents)�pagesr r!�n�page�p�
text_splitters       r�split_text_into_chunksr/UsX��12�A��c�%�j�j�!�!�a�a��b�f�V�C�QV�W[�Q\�Qi�Qq�Qq�rw�xz�Q{�Q{�RD�RD�EJ�KN�RO�RO�?P�?P�?X�?X�Y]�^`�?a�?a�5��;�#;�#;�
�3�u�:�:�
�
�&�&��	�U�1�X�
"�	#�	#�G�	+�	+�
�a�C�C�Q���
�q�D�D��1�X�E�!�H�q�A�v�q����s�s�E�$�1�Q�3�$�K�E�2�j�Xe�f�f�f�M��(�(��/�/�/rc#�rK�t|��}	tt||����}|sdS|V��&)N)�iter�listr	)�iterabler+�it�batchs    r�batchedr6bsF����	
�h���B���V�B��]�]�#�#���	��F�����	rzhttp://localhost:4891/v1z13not-needed)�base_url�api_key)�14model_namez15hnsw:space�cosine)�name�embedding_function�metadatac
�F�����d}g}|ddd�D�]��|dz
}||dzd}tjj�|�fd�t	t|����D����fd�t	t|����D������t|��z
�t||dz��dkr�||dzdd�D]��tjj��dd��fd�t	dt�����D�����fd	�t	dt�����D�������t	dt�����D]}|dgz
}�	�t���dz16z
�����S)17N�����r�rc� ��g|]18}d�|z����S��id���.0�i�lasts  �r�19<listcomp>z%update_collection.<locals>.<listcomp>�s#���:�:�:�q�]�$�q�&�]�]�:�:�:rc	�"��g|]}��ddd�d���S)F�Noner��state�next�used�sourcer,�langrD)rFrG�g�jeziks  ��rrIz%update_collection.<locals>.<listcomp>�s>���I�I�I�lm�Q��5�F�TV�`e�g�g�I�I�Ir)�	documents�ids�	metadatasc�&��g|]
}d�|zdz20����S)rCrrDrEs  �rrIz%update_collection.<locals>.<listcomp>�s'���214�224�234�q�?��Q��q��?�?�244�254�264rc	�.��g|]}��dddd�d���S)rFrKrrLrD)rFrGrRrSr+s  ���rrIz%update_collection.<locals>.<listcomp>�sB���L�L�L�uv�1�a��d�E�V�]_�in�p�p�L�L�Lr)�bot�uchat�27collection�addr"r#)	�docsrHrSrMrOrTrGrRr+s	 ``    @@r�update_collectionr^}s6������
�5�	�4����A��J���q��q�j�e��U�1�W�
�a� �i�	�i�����:�:�:�:�E�#�i�.�.�$9�$9�:�:�:�I�I�I�I�I�qv�wz�|E�xF�xF�rG�rG�I�I�I�����28�c�)�n�n��d�29
�d�5��7�m�30�31�Q�32�33��u�Q�w�-����#�34�35�Q��I� �$�$��Q�R�R�5�364�374�384�394�E�!�C��F�F�O�O�404�414�424�L�L�L�L�L�L�z�AB�CF�GH�CI�CI�{J�{J�L�L�L�
%�
�
�
�
�43��#�a�&�&�/�/�	.�	.�Q�4�A�3�;�4�4�	
��Q�����	���44�;rc	������t|��}t|tt���t	ttjjtjjt���z����}t|d��D]{�tjj���fd�tt�����D���fd��D����fd��D������t���z
��|�S)N�Bc�,��g|]}d��|z����SrBrD)rFrGr5rHs  ��rrIzload_docs.<locals>.<listcomp>�s*���A�A�A�!�%�d�5��8�m�%�%�A�A�Arc�*��g|]}�|j��SrD)r&)rFrGr*s  �rrIzload_docs.<locals>.<listcomp>�s ���<�<�<��u�Q�x�,�<�<�<rc���g|]K}tttt�|jd���d���d���������LS)F)rOrK)rN)rM)rQ)�dictr=)rFrGrSr*s  ��rrIzload_docs.<locals>.<listcomp>�sj���D�D�D�xy�t�D��d�5��8�+<�5�&I�&I�&I�PV�!W�!W�!W�_e�f�f�f�mr�s�s�s�D�D�Dr)rUrTrV)
rr/�45CHUNK_SIZE�
CHUNK_OVERLAPr2r"rYrZrHr#r6r[r\)�pathrS�docus�document_indicesr5rHr*s `  @@@r�	load_docsrj�s������"�4�(�(�5�!�%��]�C�C�5��5��������E�46�47�1J�K�K�L�L���(�"�-�-���u��	�� � �A�A�A�A�A�u�S��Z�Z�/@�/@�A�A�A�<�<�<�<�e�<�<�<�D�D�D�D�D�~C�D�D�D�	!�	48�	49�	50�51	
��E�52�53����54�;r)B�chromadb�chromadb.utilsr�modelsr�os�torch�openair�$langchain_community.document_loadersr�langchain.text_splitterr�	itertoolsr	r55r$�model_id�backendsr�is_available�is_builtr�set_default_device�model�CHROMA_DATA_PATH�EMBED_MODEL�COLLECTION_NAME�PDF_PATH�	PDF_PATH2rerf�max_resultsr(�min_distance�max_distance�temperature�56max_tokens�top_p�frequency_penalty�presence_penalty�DEBUG�	system_sr�system�ctxpre�msg_content�max_conv�objects�all�edit_all�editrSrr/r6�oc�PersistentClient�
chroma_client�$SentenceTransformerEmbeddingFunction�embedding_func�get_or_create_collectionr[�countrHr^rjrDrr�<module>r�s�������.�.�.�.�.�.�������	�	�	�	�����������<�<�<�<�<�<�B�B�B�B�B�B�)�)�)�)�)�)�)�)�	�	�	�	�)��57
�~��&�&�(�(�$��>��&�&�(�(�O�
��(�	)�	)�	)�	)�	��N�	O�	O�	O�	O��E��U�#�#�#�58��;�� �� ��2��:�	�
�59��
���60���������61�	��������
c�	�	�v�v�	��2�b�PR�	S�	S��	��2��SU�eg�h�h������m���!�!�8����t��;�f�T�Z���{�f� $� 0�k�$�*����g��?�j��(�m��$�k��$�k���h��&�l��&�l���h��$�k��j�e��?�j��.���0���j�e�e�%��&��4����#�#�#�620�0�0�����V�/��F�F�F��)��)�*:�;�;�
�I�$�I�������
3�
3�
�)���)�4���63����������2����s
�B,F�F