Team Ai
Apppublic

afulara/PythonicRAG-FastAPI-React

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes
vectordatabase.cpython-313.pyc35 linesDownload Raw Back to __pycache__
1�

2ʱ�g2���SSKrSSKJr SSKJrJrJr SSKJ	r	 SSK3r4S\RS\RS\4Sjr
"S	S55r\S:Xa�/SQr\"5r\6R$"\R'\55rS
r\R+S\S9r\"S\S3\5 \R1S5r\"S\5 \R+S\SS9r\"S\S3\5 gg)�N)�defaultdict)�List�Tuple�Callable)�EmbeddingModel�vector_a�vector_b�returnc��[R"X5n[RRU5n[RRU5nX#U--$)z3Computes the cosine similarity between two vectors.)�np�dot�linalg�norm)rr	�dot_product�norm_a�norm_bs     �{/Users/aqsa/AI Projects/AIE6 Class Projects/AIE6-DeployPythonicRAG/fastapi-react-app/backend/aimakerspace/vectordatabase.py�cosine_similarityrsA���&�&��,�K�
�Y�Y�^�^�H�
%�F�
�Y�Y�^�^�H�
%�F��6�/�*�*�c��\rSrSrSS\4SjjrS\S\RSS4Sjr	\74S	\RS8\S\S\
\\\44Sjjr\9S
4S\S10\S\S\S\
\\\4411SjjrS\S\R4SjrS\
\SS4SjrSrg)�VectorDatabase�N�embedding_modelc�p�[[R5UlU=(d12 [	5Ulg�N)rr�array�vectorsrr)�selfrs  r�__init__�VectorDatabase.__init__s"��"�2�8�8�,���.�B�.�2B��r�key�vectorr13c� �X RU'gr)r)rr!r"s   r�insert�VectorDatabase.inserts��"���S�r�query_vector�k�distance_measurec	��URR5VVs/sHupEXC"X54PM nnn[USSS9SU$s snnf)Nc��US$)N��)�xs r�<lambda>�'VectorDatabase.search.<locals>.<lambda>"s��A�a�DrT)r!�reverse)r�items�sorted)rr&r'r(r!r"�scoress       r�search�VectorDatabase.searchs[�� $�|�|�1�1�3�14�3����"�<�8�9�3�	�15��f�.�$�?���C�C��	16s�AF�17query_text�return_as_textc��URRU5nURXRU5nU(aUVs/sHowSPM	 sn$U$s snf)Nr)r�
get_embeddingr4)rr6r'r(r7r&�results�results        r�search_by_text�VectorDatabase.search_by_text$sL���+�+�9�9�*�E���+�+�l�/?�@��4B��0��f�q�	��0�O��O��0s�Ac�:�URRUS5$r)r�get)rr!s  r�retrieve_from_key� VectorDatabase.retrieve_from_key/s���|�|����T�*�*r�list_of_textc���# �URRU5IShv�Nn[X5H+up4URU[R18"U55 M- U$N@7fr)r�async_get_embeddings�zipr$rr)rrB�19embeddings�text�	embeddings     r�abuild_from_list�VectorDatabase.abuild_from_list2sQ����/�/�D�D�\�R�R�20�"�<�<�O�D��K�K��b�h�h�y�1�2� =���S�s�A$�A"�AA$)rrr)�__name__�21__module__�__qualname__�__firstlineno__rr�strrrr$r�intrrr�floatr4�boolr<r@rI�__static_attributes__r,rrrrs���C��C�#�#�#�r�x�x�#�D�#�&7�	22D��h�h�23D��24D�#�	25D�2627�e�C��J��	 �28D� &7�$�	P��	P��	P�#�		P�29�	P�30�e�C��J��	 �
	P�+�S�+�R�X�X�+��4��9��AQ�rr�__main__)�#I like to eat broccoli and bananas.z2I ate a banana and spinach smoothie for breakfast.z!Chinchillas and kittens are cute.z%My sister adopted a kitten yesterday.z:Look at this cute hamster munching on a piece of broccoli.�zI think fruit is awesome!)r'zClosest z vector(s):rUzRetrieved vector:T)r'r7z	 text(s):)�numpyr�collectionsr�typingrrr�#aimakerspace.openai_utils.embeddingr�asynciorrQrrrKrB�	vector_db�runrIr'r<�searched_vector�printr@�retrieved_vector�relevant_textsr,rr�<module>rbs����#�(�(�>��+����+�B�H�H�+��+�&�&�R�z���L�� �I����I�6�6�|�D�E�I�	�A��.�.�/J�a�.�P�O�	�H�Q�C�{�31#�_�5� �2�2�-���32�33�/�0��-�-�#�q��.��N�34�H�Q�C�y�35!�>�2�1r