Ë
    BêñiB  ã                   óP   — d dl Zd dlmZ d dlmZmZ d	d„Zd	d„Zd	d„Z	d	d„Z
d	d„Zy)
é    N)Úmodels)Úreciprocal_rank_fusionÚdistribution_based_score_fusionc            	      ól  — t        j                  ddd¬«      t        j                  ddd¬«      t        j                  ddd¬«      gt        j                  d	d
d¬«      t        j                  ddd¬«      t        j                  ddd¬«      t        j                  ddd¬«      gg} t        | «      }|d   j                  dk(  sJ ‚|d   j                  dv sJ ‚t	        j
                  |d   j                  d«      sJ ‚|d   j                  dv sJ ‚t	        j
                  |d   j                  d«      sJ ‚y )NÚ1çš™™™™™¹?é   ©ÚidÚscoreÚversionÚ2çš™™™™™É?Ú3ç333333Ó?Ú5g      (@Ú6g       @Ú7g      @g      @r   )r   r   ç      à?é   )r   ÚScoredPointr   r   ÚnpÚiscloser   ©Ú	responsesÚfuseds     úe/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/qdrant_client/hybrid/test_reranking.pyÚtest_reciprocal_rank_fusionr      s  € ô ×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<ð	
ô ×Ñ #¨T¸1Ô=Ü×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<ð		
ð€Iô # 9Ó-€Eà�‰8�;‰;˜#ÒÐÐØ�‰8�;‰;˜*Ñ$Ð$Ð$Ü�:‰:�e˜A‘h—n‘n eÔ,Ð,Ð,Ø�‰8�;‰;˜*Ñ$Ð$Ð$Ü�:‰:�e˜A‘h—n‘n eÔ,Ð,Ñ,ó    c            
      ó  — t        j                  ddd¬«      t        j                  ddd¬«      t        j                  ddd¬«      gt        j                  ddd¬«      t        j                  ddd	¬«      t        j                  d
dd¬«      t        j                  ddd¬«      t        j                  ddd¬«      gg} t        | d¬«      }|d   j                  dk(  sJ ‚|d   j                  dk(  sJ ‚|d   j                  d
k(  sJ ‚y )Nr	   r   ç     @U@©r   r   r   ç      S@é   ç      Q@g      O@g     €N@é   g     €L@é   g     €I@r   g      F@©Úlimit)r   r   r   r   r   s     r   Ú$test_distribution_based_score_fusionr*      s÷   € ô ×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;ð	
ô ×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;ð	
ð€Iô ,¨I¸QÔ?€Eà�‰8�;‰;˜!ÒÐÐØ�‰8�;‰;˜!ÒÐÐØ�‰8�;‰;˜!ÒÐÑr   c                  ó,  — g g} t        | «      }|g k(  sJ ‚t        j                  ddd¬«      t        j                  ddd¬«      t        j                  ddd¬«      gg g} t        | «      }|d	   j                  dk(  sJ ‚t	        j
                  |d	   j                  d
«      sJ ‚|d   j                  dk(  sJ ‚t	        j
                  |d   j                  d«      sJ ‚|d   j                  dk(  sJ ‚t	        j
                  |d   j                  d«      sJ ‚y )Nr   r   r	   r
   r   r   r   r   r   r   gUUUUUUÕ?r   g      Ð?)r   r   r   r   r   r   r   r   s     r   Ú+test_reciprocal_rank_fusion_empty_responsesr,   6   s
  € Ø13°€IÜ" 9Ó-€EØ�BŠ;Ðˆ;ô ×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<Ü×Ñ #¨S¸!Ô<ð	
ð
 	ð€Iô # 9Ó-€Eà�‰8�;‰;˜#ÒÐÐÜ�:‰:�e˜A‘h—n‘n eÔ,Ð,Ð,Ø�‰8�;‰;˜#ÒÐÐÜ�:‰:�e˜A‘h—n‘n eÔ,Ð,Ð,Ø�‰8�;‰;˜#ÒÐÐÜ�:‰:�e˜A‘h—n‘n eÔ,Ð,Ñ,r   c                  óV  — g g} t        | d¬«      }|g k(  sJ ‚t        j                  ddd¬«      t        j                  ddd¬«      t        j                  ddd	¬«      gg g} t        | d¬«      }|d   j                  dk(  sJ ‚|d   j                  dk(  sJ ‚|d
   j                  dk(  sJ ‚y )Nr'   r(   r	   r   r!   r"   r#   r$   r%   r   )r   r   r   r   r   s     r   Ú3test_distribution_based_score_fusion_empty_responser.   N   sº   € Ø13°€IÜ+¨I¸QÔ?€EØ�BŠ;Ðˆ;ô ×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;Ü×Ñ !¨Q°dÔ;ð	
ð
 	ð€Iô ,¨I¸QÔ?€Eà�‰8�;‰;˜!ÒÐÐØ�‰8�;‰;˜!ÒÐÐØ�‰8�;‰;˜!ÒÐÑr   c                  óÈ  — d} t        j                  dd| ¬«      t        j                  dd| ¬«      t        j                  dd| ¬«      gg g}t        t        j                  dd| ¬«      ggd¬«      }|d   j                  dk(  sJ ‚|d   j                  dk(  sJ ‚t        |d¬«      }t        |«      dk(  sJ ‚t        |D �cg c]  }|j                  dk(  ‘Œ c}«      sJ ‚y c c}w )	Nr!   r	   r   r"   r$   r'   r(   r   )r   r   r   r   r   ÚlenÚall)r   r   r   Úps       r   Ú2test_distribution_based_score_fusion_zero_variancer3   c   sä   € Ø€Eô ×Ñ !¨Q°eÔ<Ü×Ñ !¨Q°eÔ<Ü×Ñ !¨Q°eÔ<ð	
ð
 	ð€Iô ,Ü
×
Ñ
 ¨1°EÔ
:Ð	;Ð<ÀAô€Eð �‰8�;‰;˜!ÒÐÐØ�‰8�>‰>˜SÒ Ð Ð ä+¨I¸QÔ?€EÜˆu‹:˜Š?Ðˆ?Ü¨Ö. 1�—‘˜3“Ò.Ô/Ð/Ñ/ùÒ.s   Â?C)ÚreturnN)Únumpyr   Úqdrant_client.httpr   Úqdrant_client.hybrid.fusionr   r   r   r*   r,   r.   r3   © r   r   ú<module>r9      s'   ðÛ å %ß _ó-ó0ó.-ó0ô*0r   