
    _j|              
       *   d dl mZmZmZmZmZmZ d dlZd dl	m
Z
 d dlZd dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ ded	e
ej                 fd
Z G d deeee                                     Zdded	eeeeeef         f         fdZ ej                     ded	eej!        ddf         fd            Z"ej         ded	eej!        ddf         fd            Z#	 ddej!        ded	dfdZ$	 ddej!        ded	dfdZ%	 ddej!        ded	dfdZ&dS )    )Dict	GeneratorListOptionalSequenceUnionN)NDArray)URI
DataLoader	DocumentsIDsImageURIs)	ClientAPI)reset)hashing_multimodal_efdatareturnc                 N    t          j        |                                           S N)nparrayencode)r   s    g/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/chromadb/test/data_loader/test_data_loader.pyencode_datar      s    8DKKMM"""    c                   N    e Zd Zdeee                  deee                  fdZdS )DefaultDataLoaderurisr   c                     d |D             S )Nc                 4    g | ]}|d nt          |          S r   )r   ).0uris     r   
<listcomp>z.DefaultDataLoader.__call__.<locals>.<listcomp>   s(    JJJcS)9)9JJJr    )selfr   s     r   __call__zDefaultDataLoader.__call__   s    JJTJJJJr   N)	__name__
__module____qualname__r   r   r
   r   r   r'   r%   r   r   r   r      sP        KXhsm4 Khuo9N K K K K K Kr   r      nc                     d t          |           D             d t          |           D             d t          |           D             dS )Nc                     g | ]}| S r%   r%   r"   is     r   r$   z(record_set_with_uris.<locals>.<listcomp>   s    )))11)))r   c                     g | ]}d | S )	document_r%   r/   s     r   r$   z(record_set_with_uris.<locals>.<listcomp>   s    888!o!oo888r   c                     g | ]}d | S )uri_r%   r/   s     r   r$   z(record_set_with_uris.<locals>.<listcomp>   s    ......r   )ids	documentsr   )ranger,   s    r   record_set_with_urisr9      sV    ))a)))88uQxx888..U1XX...  r   clientc              #      K   t          |            |                     dt                      t                                }|V  |                     |j                   d S )Ncollection_with_data_loader)namedata_loaderembedding_function)r   create_collectionr   r   delete_collectionr=   r:   
collections     r   r<   r<      sl       
&MMM))*%''022 *  J
 
Z_-----r   c              #      K   t          |            |                     dt                                }|V  |                     |j                   d S )Ncollection_without_data_loader)r=   r?   )r   r@   r   rA   r=   rB   s     r   rE   rE   -   sc       
&MMM))-022 *  J 
Z_-----r   rE   
n_examplesc                 `   t          |          }t          j        t                    5  |                     |d         |d                    d d d            n# 1 swxY w Y   t          j        t                    5  |                     dg           d d d            d S # 1 swxY w Y   d S )Nr8   r5   r   r5   r   r   include)r9   pytestraises
ValueErroraddget)rE   rF   
record_sets      r   test_without_data_loaderrQ   :   s7    &
333J 
z	"	" 
 
&**5!F# 	+ 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
z	"	" = =&**F8*<<<= = = = = = = = = = = = = = = = = =s#   $AA!A>B##B'*B'r<   c                     t          |          }|                     |d         |d                    |                     dg          }|d         J |d         D ]}|J d S )Nr8   r5   r6   )r5   r6   r   rI   )r9   rN   rO   )r<   rF   rP   
get_resultr   s        r   test_without_urisrT   L   s     &
333J##u[) $   
 -00&0BBJf)))6"  |||| r   c                 `   t          |          }|                     |d         |d                    |                     dg          }|d         J t          |d                   D ]*\  }}|J |t	          |d         |                   k    sJ +|                     |d         t          |d         d                   ddg          }|d         J t          |d         d                   D ]:\  }}|J |d         J |t	          |d         d         |                   k    sJ ;d S )	Nr8   r5   r   rH   r   rI   r   )
query_uris	n_resultsrJ   )r9   rN   rO   	enumerater   querylen)r<   rF   rP   rS   r0   r   query_results          r   test_data_loaderr\   ]   s    &
333J##u $    -00&0BBJf)))Z/00 : :4{:f#5a#89999999 /44f%j(+,,  5  L +++\&1!455 ? ?4F#///{<#7#:1#=>>>>>>>? ?r   )r+   )'typingr   r   r   r   r   r   numpyr   numpy.typingr	   rK   chromadbchromadb.api.typesr
   r   r   r   r   r   chromadb.apir   chromadb.test.conftestr   #chromadb.test.ef.test_multimodal_efr   struint8r   r   intr9   fixture
Collectionr<   rE   rQ   rT   r\   r%   r   r   <module>rj      s   C C C C C C C C C C C C C C C C                   K K K K K K K K K K K K K K K K " " " " " " ( ( ( ( ( ( E E E E E E#c #gbh/ # # # #K K K K K
4#89 K K K C S%Y8L2M-M(N     
.
.x"D$./
. 
. 
. 
. 	.	.x"D$./	. 	. 	. 	. = =$,$7== 
= = = =& IJ !)!4BE	   $ IJ? ?!)!4?BE?	? ? ? ? ? ?r   