CoolFace
Apppublic

Aigenthix/Graph_RAG

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
chroma_db.cpython-313.pyc46 linesDownload Raw Back to __pycache__
1�

2�d;j��z�SrSSKJrJrJr SSKrSSKrSSKrSSKJ	r	 \R"\5r"SS\	5r
g)�%Chroma vector database implementation�)�List�Dict�AnyN�)�VectorDBProviderc3���\rSrSrSrSrS\\\4SS4Sjr	S\4\5\S	\6\S7\8\\\4S\4Sjr
SS\9\S
\S\10\\\44SjjrS\S\4SjrS\4SjrS\\\44SjrSrg)�ChromaDB�
rc� �SUlSUlg)N��client�11collection)�selfs �]/Users/ssp/Downloads/SSP7/Claude folder/KnowledgeHut/POC1/backend/app/vector_dbs/chroma_db.py�__init__�ChromaDB.__init__s���������config�returnNc�N�URSS5n[R"USS9 [R"US9UlUR12R
SSS0S	9Ul[RS13U35 g![an[RSU35 eSnAff=f)
zInitialize Chroma database�storage_pathz./data/chroma_dataT)�exist_ok)�path�
rag_documentsz14hnsw:space�cosine)�name�metadatazChroma database initialized at zFailed to initialize Chroma: N)�get�os�makedirs�chromadb�PersistentClientr�get_or_create_collectionr�logger�info�	Exception�error)rrr�es    r�15initialize�ChromaDB.initializes���
	��:�:�n�.B�C�D��K�K��t�,�"�3�3��>�D�K�"�k�k�B�B�$�&��1�C��D�O�16
�K�K�9�$��@�A���	��L�L�8���<�=���	�s�A9A<�<17B$�B�B$�vectors�idsrc���URRUUUS9 [RS[	U5S35 g![18a"n[R
SU35 SnAgSnAff=f)z Add vectors to Chroma collection)r-�19embeddings�	metadataszAdded z vectors to ChromaTz!Failed to add vectors to Chroma: NF)r�upsertr%r&�lenr'r()rr,r-rr)s     r�add_vectors�ChromaDB.add_vectors%sm��20	��O�O�"�"��"�"�
#�
�21
�K�K�&��S��22�*<�=�>����	��L�L�<�Q�C�@�A���	�s�=A�23A,�24A'�'A,�query_vector�top_kc��URRU/U/SQS9n/nU(awUS(am[US5S:�a[[USS5HFupVUSSUnSU-25nUSSUn	UR	UU	RSS	5U	US26.5 MH U$![a$n27[RSU2835 /sSn29A30$Sn31A32ff=f)
z$Search for similar vectors in Chroma)r/r0�	distances)�query_embeddings�	n_results�includer-rr8rr0�text�)�id�contentr�similarity_scorezSearch failed in Chroma: N)	r�queryr2�	enumerate�appendrr'r%r()rr5r6�results�search_results�idx�doc_id�distance�33similarityrr)s           r�search�ChromaDB.search8s���	��o�o�+�+�".���@�,��G� �N��7�5�>�c�'�%�.�.A�A�.E�#,�W�U�^�A�->�#?�K�C�&�{�3�A�6�s�;�H�!"�X��J�&�{�3�A�6�s�;�H�"�)�)�$�#+�<�<���#;�$,�,6�	+��
$@�"�!���	��L�L�4�Q�C�8�9��I��	�s�BB"�"34C�,C�C�CrGc���URRU/S9 [RSUS35 g![a"n[RSU35 SnAgSnAff=f)zDelete document from Chroma)r-zDeleted z from ChromaTzFailed to delete from Chroma: NF)r�deleter%r&r'r()rrGr)s   rrM�ChromaDB.deleteYs]��	��O�O�"�"��x�"�0��K�K�(�6�(�,�7�8����	��L�L�9�!��=�>���	�s�36�35A"�A�A"c��URcgURR5ng![a"n[R	SU35 SnAgSnAff=f)zCheck Chroma database healthNFTzChroma health check failed: �r�countr'r%r(�rrQr)s   r�health_check�ChromaDB.health_checkcsP��	����&���O�O�)�)�+�E����	��L�L�7��s�;�<���	�s�
+�+�36A�A�Ac��URR5nSUSS.$![a$n[R	SU35 0sSnA$SnAff=f)zGet Chroma database statistics�chromar)�type�	documents�collection_namezFailed to get Chroma stats: NrPrRs   r�	get_stats�ChromaDB.get_statsnsW��		��O�O�)�)�+�E� �"�#2��
��37�	��L�L�7��s�;�<��I��	�s�"�38A�A�A�Ar
)�)�__name__�39__module__�__qualname__�__firstlineno__�__doc__rr�strrr*r�float�boolr3�intrJrMrSrZ�__static_attributes__�rrr40r41
s���/����c�3�h���D��"��d�5�k�"���#�Y���t�C��H�~�&�	�4243��,���5�k����44�d�3��8�n�	�	�B�S��T��	�d�	��4��S��>�rr45)ra�typingrrrr"�loggingr �baser�	getLoggerr]r%r46rgrr�<module>rls9��+�"�"���	�"�	�	�	�8�	$��l��lr