CoolFace
Apppublic

Aigenthix/Graph_RAG

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

2"R6jY��\�SrSSKJrJrJr SSKr\R"\5r"SS5r	g)zDocument chunking service�)�List�Dict�AnyNc��\rSrSrSrSS\S\4SjjrS\S\\\	4S\3\\\	44S	jrSS4\	S\\\	4S\S\5\\\	44SjjrS
r
g)�ChunkerService�	z+Service for splitting documents into chunks�6chunk_size�overlapc��XlX lg)N�r	r7)�selfr	r8s   �a/Users/ssp/Downloads/SSP7/Claude folder/KnowledgeHut/POC1/backend/app/services/chunker_service.py�__init__�ChunkerService.__init__s��$�����text�metadata�returnc	�~�/nUR5nSnSnU[U5:au[XPR-[U55nSR	XEU5nURUU0UEUUUS.ES.5 US-
nXpR-9nU[U5:aMu[RS[U5S35 U$)z$Split text into chunks with metadatar� )�chunk_index�10start_word�end_word��chunk_idrr��Created z chunks from text)	�split�len�minr	�join�appendr11�logger�info)	r
rr�chunks�words�	start_idx�	chunk_idx�end_idx�12chunk_texts	         rr*�ChunkerService.chunk_texts������13�14����	��	��#�e�*�$��)�o�o�5�s�5�z�B�G����%�'�":�;�J��M�M�%�"����#,�"+� '�	�	�	
�
��N�I��,�,�.�I�!�#�e�*�$�$	���h�s�6�{�m�+<�=�>��
r�df�rows_per_chunkc�<�/nSn[S[U5U5H[nURXfU-nUR5nUR	UU0UEUU[Xc-[U55S.ES.5 US-
nM] [RS[U5S35 U$)zSplit DataFrame into chunksr)r�	row_start�row_endrrrz chunks from DataFrame)�ranger�iloc�	to_stringr"r r#r$)	r
r,rr-r%r(�i�chunk_dfr*s	         r�chunk_dataframe�ChunkerService.chunk_dataframe1s������	��q�#�b�'�>�2�A��w�w�q�~�#5�6�H�!�+�+�-�J��M�M�%�"����#,�!"�"�1�#5�s�2�w�?�	�	�	
�
��N�I�3�"	���h�s�6�{�m�+A�B�C��
rrN)i�2)�15)�__name__�16__module__�__qualname__�__firstlineno__�__doc__�intr�strrrrr*r6�__static_attributes__�rrrr	s���5��3��s������s�C�x�.��17�d�3��8�n�	�	�J!�	����s�C�x�.���	�1819�d�3��8�n�	��rr)20r>�typingrrr�logging�	getLoggerr:r#rrBrr�<module>rFs-���"�"��	�	�	�8�	$��D�Dr