
    i              	       ~    S SK Jr  S SKrS SKr\R                  " \5      r SS\R                  S\\   S\SS4S jjr	g)	    )ListNtrained_indexshard_fnamesivfdata_fnamereturnc                    [        U [        R                  5      (       a   S5       e/ nU Hx  n[        R	                  SU-   5        [        R
                  " U[        R                  5      n[        R                  " U5      nUR                  UR                  5        SUl
        Mz     U n[        R                  " U5      nUR                  S:X  d   S5       e[        R                  " UR                  UR                  U5      n[        R                  " 5       n	U H  n
U	R!                  U
5        M     [        R	                  SU	R#                  5       -  5        UR%                  U	R'                  5       U	R#                  5       U5      nU=Ul        Ul        UR)                  US5        UR*                  R-                  5         g)	zAdd the contents of the indexes stored in shard_fnames into the index
trained_index. The on-disk data is stored in ivfdata_fnamez1IndexIVFPQR is not supported as an on disk index.zread Fr   zworks only on empty indexzmerge %d inverted lists TN)
isinstancefaissIndexIVFPQRLOGinfo
read_indexIO_FLAG_MMAPextract_index_ivfappendinvlistsown_invlistsntotalOnDiskInvertedListsnlist	code_sizeInvertedListsPtrVector	push_backsizemerge_from_multipledatareplace_invliststhisdisown)r   r   r   	shift_idsivfsfnameindex	index_ivfr   
ivf_vectorivfr   s               d/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/faiss/contrib/ondisk.pymerge_ondiskr(      s~   
 u((  ;:; 
 D 	5!  (:(:;++E2	I&&' "'	  E''.I<<1999 ((,,mH
 --/JS!  HH'*//*;;<))*//*;Z__=NPYZF '-,EL9#x.MM    )F)
typingr   r
   logging	getLogger__name__r   Indexstrr(    r)   r'   <module>r1      sT      ! X].;;..23i.HK.	.r)   