
    _j9n                        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mZmZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZmZ d d
l m!Z!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z1 d dl2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI d dl4mJZJmKZKmLZL  ejM        eN          ZO G d dee          ZPdS )    N)UUID)AnyMappingOptionalcastTupleSequenceDictList)override)__version__)UserIdentity)AsyncServerAPI)BaseHTTPClient)CreateCollectionConfigurationUpdateCollectionConfiguration'create_collection_configuration_to_json'update_collection_configuration_to_json)DEFAULT_DATABASEDEFAULT_TENANTSystemSettings)OpenTelemetryClientOpenTelemetryGranularitytrace_method)ProductTelemetryClient)async_to_sync)DatabaseTenant
Collection)Search)DeleteResult	Documents
EmbeddingsIDsIncludeIndexingStatusSchema	Metadatas	ReadLevelURIsWhereWhereDocument	GetResultQueryResultSearchResultCollectionMetadata%optional_embeddings_to_base64_stringsvalidate_batchconvert_np_embeddings_to_listIncludeMetadataDocuments!IncludeMetadataDocumentsDistances)"IncludeMetadataDocumentsEmbeddingsserialize_metadatadeserialize_metadatac                       e Zd ZU i Zeeej        f         ed<   de	f fdZ
dxdZdydZded	ed
eddfdZedy fd            Zdej        fdZedeeef         fd            Zedefd            Zdededeeef         defdZ edej                  edefd                        Z edej                  eefdededdfd                        Z edej                  eefdededefd                        Z edej                  eefdededdfd                        Z edej                  eddefde e         d e e         dede!e         fd!                        Z" ed"ej                  ededdfd#                        Z# ed$ej                  edede$fd%                        Z% ed&ej                  ede&fd'                        Z' ed(ej                  eddee(fde e         d e e         ded)ede!e)         f
d*                        Z* ed+ej                  eee(fded)edefd,                        Z+ ed-ej                  edddd.ee(fded/e e,         d0e e-         d1e e.         d2e/ded)ede)fd3                        Z0 ed4ej                  eee(fdeded)ede)fd5                        Z1 ed6ej                  eee(fd7e2ded)ede)fd8                        Z3 ed9ej                  edddee(fded/e e,         d0e e-         d1e e.         ded)ede)fd:                        Z4 ed;ej                  edddee(fd<e2d=e e         d>e e.         d?e e5         ded)eddfd@                        Z6 edAej                  eee(fd7e2d=eded)ede)f
dB                        Z7 edCej                  eee(fd7e2ded)edefdD                        Z8 edEej                  eee(fd7e2ded)ede9fdF                        Z: edGej                  eee(e;j<        fd7e2dHe=e>         ded)edIe;de?fdJ                        Z@ edKej                  eee(fdeded)eddfdL                        ZA edMej                  eee(e;j<        fd7e2ded)edIe;def
dN                        ZB edOej                  edPee(fd7e2dQeded)edeCf
dR                        ZD edSej                  edddddeEee(fd7e2dTe eF         dUe eG         de e         d e e         dVe eH         dWeIded)edeCfdX                        ZJ edYej                  eddddee(fd7e2dTe eF         dUe eG         dVe eH         de e         ded)edeKfdZ                        ZL ed[ejM                  d\eNeFe eO         e eP         e eQ         e eR         f         d]edefd^            ZS ed_ejM                  edddee(fdTeFd7e2d`eOdae eP         dbe eQ         dce eR         ded)ede/fdd                        ZT edeejM                  eddddee(fd7e2dTeFd`e eO         dae eP         dbe eQ         dce eR         ded)ede/fdf                        ZU edgejM                  edddee(fd7e2dTeFd`eOdae eP         dbe eQ         dce eR         ded)ede/fdh                        ZV ediejM                  eddPddeWee(fd7e2djeOdTe eF         dkedUe eG         dVe eH         dWeIded)edeXfdl                        ZY edmejM                  ede/fdn                        ZZ edoej                  edefdp                        Z[ede\fdq            Z] edrej                  defds            Z^ edtej                  de/fdu            Z_ edvej                  edefdw                        Z` xZaS )zAsyncFastAPI_clientssystemc                    t                                          |           |j                            d           |j                            d           |                     t                    | _        |                     t                    | _        |j        | _        t          
                    t          |j        j                  |j        j        |j        j        |j        j                  | _        d S )Nchroma_server_hostchroma_server_http_port)r?   r@   chroma_server_ssl_enableddefault_api_path)super__init__settingsrequirer   _opentelemetry_clientr   _product_telemetry_client	_settingsr;   resolve_urlstrr?   r@   rA   chroma_server_api_default_path_api_url)selfr=   	__class__s     W/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/chromadb/api/async_fastapi.pyrD   zAsyncFastAPI.__init__K   s        4555 9:::%)\\2E%F%F")-6L)M)M&$00"6?#EFF$*O$K&,o&O#_K	 1 
 
    returnc                 2   K   |                                   | S N)_get_clientrN   s    rP   
__aenter__zAsyncFastAPI.__aenter__\   s      rQ   Nc                    K   t          | j                  dk    rP| j                                        \  }}|                                 d {V  t          | j                  dk    Nd S d S )Nr   )lenr<   popitemaclose)rN   _clients      rP   _cleanupzAsyncFastAPI._cleanup`   su      $-  1$$-//11KQ--//!!!!!!! $-  1$$$$$$rQ   exc_type	exc_value	tracebackc                 >   K   |                                   d {V  d S rT   r^   )rN   r_   r`   ra   s       rP   	__aexit__zAsyncFastAPI.__aexit__e   s,      mmoorQ   c                      t                                                       t          d fd            } |             d S )NrR   c                  @   K                                      d {V  d S rT   rc   rV   s   rP   sync_cleanupz'AsyncFastAPI.stop.<locals>.sync_cleanupl   s-      --//!!!!!!!!!rQ   rR   N)rC   stopr   )rN   rg   rO   s   ` rP   ri   zAsyncFastAPI.stoph   sN    		" 	" 	" 	" 	" 
	" 	rQ   c                 t   d }	 t          j                    }|                                }n# t          $ r d}Y nw xY w|| j        vrf| j        j        pi                                 }d|d<   dt          z   dz   |d<   t          j
        d || j        j        pd| j                  | j        |<   | j        |         S )	Nr   zapplication/jsonzContent-TypezChroma Python Client vz( (https://github.com/chroma-core/chroma)z
User-AgentF)timeoutheadersverifylimits)asyncioget_event_loop__hash__RuntimeErrorr<   rI   chroma_server_headerscopyr   httpxAsyncClientchroma_server_ssl_verifyhttp_limits)rN   	loop_hashlooprl   s       rP   rU   zAsyncFastAPI._get_clientr   s     		)++DII 	 	 	III	 DM))~;ArGGIIG&8GN#(<= L! (-'8~>G%'	( ( (DM)$ }Y''s   ', ;;c                 N    t          |                                 j                  S rT   )dictrU   rl   rV   s    rP   get_request_headersz AsyncFastAPI.get_request_headers   s    D$$&&.///rQ   c                     | j         S rT   )rM   rV   s    rP   get_api_urlzAsyncFastAPI.get_api_url   s
    }rQ   methodpathkwargsc                   K   d|v r8t          j        |                    d          t           j                  }||d<   t          j                            |dd d           }| j        |z   } |                                 j	        ||fi t          t          |           d {V }t          j        |           t          j        |j                  S )Njson)optioncontent/)safeencodingerrors)orjsondumpspopOPT_SERIALIZE_NUMPYurllibparsequoterM   rU   requestr   r   r   _raise_chroma_errorloadstext)rN   r   r   r   dataescaped_pathurlresponses           rP   _make_requestzAsyncFastAPI._make_request   s       V<

6 2 26;UVVVD $F9 |))$S4PT)UUml*3))++3FCUU4VCTCTUUUUUUUU*8444|HM***rQ   zAsyncFastAPI.heartbeatc                 h   K   |                      dd           d {V }t          |d                   S )Nget znanosecond heartbeatr   int)rN   r   s     rP   	heartbeatzAsyncFastAPI.heartbeat   sC       ++E266666666823444rQ   zAsyncFastAPI.create_databasenametenantc                 R   K   |                      dd| dd|i           d {V  d S )Npost	/tenants/
/databasesr   r   r   rN   r   r   s      rP   create_databasezAsyncFastAPI.create_database   se         ****$ ! 
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
rQ   zAsyncFastAPI.get_databasec                    K   |                      dd| d| d|i           d {V }t          |d         |d         |d                   S )	Nr   r   /databases/r   paramsidr   r   r   r   )r   r   )rN   r   r   r   s       rP   get_databasezAsyncFastAPI.get_database   s       ++111411f% , 
 
 
 
 
 
 
 
 ~HV$4Xh=O
 
 
 	
rQ   zAsyncFastAPI.delete_databasec                 N   K   |                      dd| d|            d {V  d S )Ndeleter   r   r   r   s      rP   delete_databasezAsyncFastAPI.delete_database   s^         111411
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
rQ   zAsyncFastAPI.list_databaseslimitoffsetc           	         K   |                      dd| dt          j        ||d                     d {V }d |D             S )Nr   r   r   r   r   r   c                 V    g | ]&}t          |d          |d         |d                   'S )r   r   r   r   )r   ).0dbs     rP   
<listcomp>z/AsyncFastAPI.list_databases.<locals>.<listcomp>   sC     
 
 
 4r&z"X,GGG
 
 
rQ   r   r   _clean_params)rN   r   r   r   r   s        rP   list_databaseszAsyncFastAPI.list_databases   s       ++****!/"$   , 	
 	
 	
 	
 	
 	
 	
 	

 

 
 
 	
rQ   zAsyncFastAPI.create_tenantc                 J   K   |                      ddd|i           d {V  d S )Nr   z/tenantsr   r   r   )rN   r   s     rP   create_tenantzAsyncFastAPI.create_tenant   sZ         $ ! 
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
rQ   zAsyncFastAPI.get_tenantc                 p   K   |                      dd|z              d {V }t          |d                   S )Nr   r   r   )r   )r   r   )rN   r   	resp_jsons      rP   
get_tenantzAsyncFastAPI.get_tenant   s^       ,,$
 
 
 
 
 
 
 
	
 9V,----rQ   zAsyncFastAPI.get_user_identityc                 R   K   t          di |                     dd           d {V S )Nr   z/auth/identity )r   r   rV   s    rP   get_user_identityzAsyncFastAPI.get_user_identity  s?       RRT%7%7?O%P%PPPPPPPRRRrQ   zAsyncFastAPI.list_collectionsdatabasec           	         K   |                      dd| d| dt          j        ||d                     d {V }d |D             }|S )Nr   r   r   /collectionsr   r   c                 6    g | ]}t          j        |          S r   )CollectionModel	from_json)r   json_collections     rP   r   z1AsyncFastAPI.list_collections.<locals>.<listcomp>  s0     
 
 
;JO%o66
 
 
rQ   r   )rN   r   r   r   r   r   modelss          rP   list_collectionszAsyncFastAPI.list_collections  s       ,,AAA8AAA!/"$   - 	
 	
 	
 	
 	
 	
 	
 	
	
 
NW
 
 
 rQ   zAsyncFastAPI.count_collectionsc                 v   K   |                      dd| d| d           d {V }t          t          |          S )Nr   r   r   z/collections_count)r   r   r   )rN   r   r   r   s       rP   count_collectionszAsyncFastAPI.count_collections$  sf      
 ,,GGG8GGG
 
 
 
 
 
 
 
	
 C###rQ   zAsyncFastAPI.create_collectionFschemaconfigurationmetadataget_or_createc           
         K   |rt          ||          nd}|r|                                nd}	|                     dd| d| d||||	|d           d{V }
t          j        |
          }|S )zCreates a collectionNr   r   r   r   )r   r   r   r   r   r   )r   serialize_to_jsonr   r   r   )rN   r   r   r   r   r   r   r   config_jsonserialized_schemar   models               rP   create_collectionzAsyncFastAPI.create_collection0  s       3M8LLL 	
 ;AJF44666d,,AAA8AAA$!,+!.  - 

 

 

 

 

 

 

 

	  ))44rQ   zAsyncFastAPI.get_collectionc           	      |   K   |                      dd| d| d|            d {V }t          j        |          }|S )Nr   r   r   /collections/r   r   r   )rN   r   r   r   r   r   s         rP   get_collectionzAsyncFastAPI.get_collectionR  sp       ,,HHH8HH$HH
 
 
 
 
 
 
 
	
  ))44rQ   z!AsyncFastAPI.get_collection_by_idcollection_idc           	      |   K   |                      dd| d| d|            d{V }t          j        |          }|S )zReturns a collection by its IDr   r   r   z/collections/by-id/Nr   )rN   r   r   r   r   r   s         rP   get_collection_by_idz!AsyncFastAPI.get_collection_by_idc  sp       ,,WWW8WWWW
 
 
 
 
 
 
 
	
  ))44rQ   z%AsyncFastAPI.get_or_create_collectionc           	      J   K   |                      ||||d||           d {V S )NT)r   r   r   r   r   r   r   )r   )rN   r   r   r   r   r   r   s          rP   get_or_create_collectionz%AsyncFastAPI.get_or_create_collectionw  sX       ++' , 
 
 
 
 
 
 
 
 	
rQ   zAsyncFastAPI._modifyr   new_namenew_metadatanew_configurationc           	         K   |                      dd| d| d| |||rt          |          nd d           d {V  d S )Nputr   r   r   )r   r   r   r   )r   r   )rN   r   r   r   r   r   r   s          rP   _modifyzAsyncFastAPI._modify  s         FFF8FF"FF ,$ %&%L%& & &   ! 
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
rQ   zAsyncFastAPI._forkc           
         K   |                      dd| d| d| dd|i           d {V }t          j        |          }|S )Nr   r   r   r   z/forkr   r   r   )rN   r   r   r   r   r   r   s          rP   _forkzAsyncFastAPI._fork  s       ,,VVV8VV-VVVh' - 
 
 
 
 
 
 
 
	
  ))44rQ   zAsyncFastAPI._fork_countc           
      |   K   |                      dd| d| d| d           d {V }t          |d                   S )Nr   r   r   r   z/fork_countcountr   rN   r   r   r   r   s        rP   _fork_countzAsyncFastAPI._fork_count  sq       ,,\\\8\\-\\\
 
 
 
 
 
 
 
	 9W%&&&rQ   z!AsyncFastAPI._get_indexing_statusc           
         K   |                      dd| d| d| d           d {V }t          |d         |d         |d         |d	         
          S )Nr   r   r   r   z/indexing_statusnum_indexed_opsnum_unindexed_ops	total_opsop_indexing_progress)r   r   r   r   )r   r'   r   s        rP   _get_indexing_statusz!AsyncFastAPI._get_indexing_status  s       ,,aaa8aa-aaa
 
 
 
 
 
 
 
	 %&78'(;<,!*+A!B	
 
 
 	
rQ   zAsyncFastAPI._searchsearches
read_levelc           
         K   d |D             |d}|                      dd| d| d| d|           d	{V }|                    d
d	          }|d |D             |d
<   t          |          S )z&Performs hybrid search on a collectionc                 6    g | ]}|                                 S r   )to_dict)r   ss     rP   r   z(AsyncFastAPI._search.<locals>.<listcomp>  s     777777rQ   )r   r   r   r   r   r   z/searchr   N	metadatasc                 .    g | ]}|d |D             nd S )Nc                 4    g | ]}|t          |          nd S rT   r9   r   r   s     rP   r   z3AsyncFastAPI._search.<locals>.<listcomp>.<listcomp>  <         7?6J(222PT  rQ   r   r   r   s     rP   r   z(AsyncFastAPI._search.<locals>.<listcomp>  sS     & & &  (	 $-   
 & & &rQ   )r   r   r0   )	rN   r   r   r   r   r   payloadr   metadata_batchess	            rP   _searchzAsyncFastAPI._search  s       87h777$
 

 ,,XXX8XX-XXX - 
 
 
 
 
 
 
 
	 %==d;;'& & "2& & &Ik" I&&&rQ   zAsyncFastAPI.delete_collectionc           	      T   K   |                      dd| d| d|            d {V  d S )Nr   r   r   r   r   )rN   r   r   r   s       rP   delete_collectionzAsyncFastAPI.delete_collection  sf         HHH8HH$HH
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
rQ   zAsyncFastAPI._countc           
         K   |                      dd| d| d| dd|j        i           d{V }t          t          |          S )	z0Returns the number of embeddings in the databaser   r   r   r   z/countr   r   N)r   valuer   r   )rN   r   r   r   r   r   s         rP   _countzAsyncFastAPI._count  s~       ,,WWW8WW-WWW *"23 - 
 
 
 
 
 
 
 
	 C###rQ   zAsyncFastAPI._peek
   nc                 T   K   |                      ||||t                     d {V }|S )N)r   r   r   include)_getr7   )rN   r   r  r   r   resps         rP   _peekzAsyncFastAPI._peek  sT       YY6  
 
 
 
 
 
 
 
 rQ   zAsyncFastAPI._getidswherewhere_documentr  c
                 t  K   d |D             }
|                      dd| d|	 d| d||||||
d           d {V }|                    d	d           }|d
 |D             }t          |d         |                    dd           ||                    dd           d |                    dd           |          S )Nc                     g | ]
}|d k    |S r   r   r   is     rP   r   z%AsyncFastAPI._get.<locals>.<listcomp>@      >>>!!v++A+++rQ   r   r   r   r   z/get)r  r  r   r   r  r  r   r   c                 4    g | ]}|t          |          nd S rT   r  r  s     rP   r   z%AsyncFastAPI._get.<locals>.<listcomp>Q  s;        3;2F$X...D  rQ   r  
embeddings	documentsuris)r  r  r   r  r   r   included)r   r   r.   )rN   r   r  r  r   r   r  r  r   r   filtered_includer   r   s                rP   r  zAsyncFastAPI._get1  s'      ?>w>>>,,UUU8UU-UUU "0+  - 
 
 
 
 
 
 
 
	 MM+t44	   )  I
 %  }}\488mmK66vt,,
 
 
 	
rQ   zAsyncFastAPI._deletec           
         K   |||d}|||d<   |                      dd| d| d| d|           d {V }	t          |	r|	                    d	d
          nd
          S )N)r  r  r  r   r   r   r   r   z/deleter   deletedr   )r$  )r   r"   r   )
rN   r   r  r  r  r   r   r   bodyr  s
             rP   _deletezAsyncFastAPI._delete`  s        %SNSS!DM''XXX8XX-XXX ( 
 
 
 
 
 
 
 

 d$IDHHY$:$:$:JJJJrQ   zAsyncFastAPI._submit_batchbatchr   c                   K   |                                   d{V }d}|d         d |d         D             }|d         |rt          |d                   n|d         ||d         |d         d}|                     d	||
           d{V S )z?
        Submits a batch of embeddings to the database
        N   c                 4    g | ]}|t          |          nd S rT   )r8   r  s     rP   r   z.AsyncFastAPI._submit_batch.<locals>.<listcomp>  s;     $ $ $ 190D"8,,,$$ $ $rQ   r            )r  r  r   r  r   r   r   )supports_base64_encodingr2   r   )rN   r'  r   r.  serialized_metadatasr   s         rP   _submit_batchzAsyncFastAPI._submit_batchv  s       *.)F)F)H)H#H#H#H#H#H#H #8$ $ %a$ $ $  8'?aIIIq-q!H
 
 '' ( 
 
 
 
 
 
 
 
 	
rQ   zAsyncFastAPI._addr  r   r  r   c	                    K   |||||f}	t          |	d|                                  d {V i           |                     |	d| d| dt          |           d           d {V  dS )Nmax_batch_sizer   r   r   z/addTr3   get_max_batch_sizer0  rK   )
rN   r  r   r  r   r  r   r   r   r'  s
             rP   _addzAsyncFastAPI._add  s       
 	u/t7N7N7P7P1P1P1P1P1P1PQRRR  ZZZ8ZZ#mBTBTZZZ
 
 	
 	
 	
 	
 	
 	
 	
 trQ   zAsyncFastAPI._updatec	                    K   |||nd |||f}	t          |	d|                                  d {V i           |                     |	d| d| dt          |           d           d {V  dS )Nr2  r   r   r   z/updateTr3  
rN   r   r  r  r   r  r   r   r   r'  s
             rP   _updatezAsyncFastAPI._update  s       $0JJd
 	u/t7N7N7P7P1P1P1P1P1P1PQRRR  ]]]8]]#mBTBT]]]
 
 	
 	
 	
 	
 	
 	
 	

 trQ   zAsyncFastAPI._upsertc	                    K   |||||f}	t          |	d|                                  d {V i           |                     |	d| d| dt          |           d           d {V  dS )Nr2  r   r   r   z/upsertTr3  r7  s
             rP   _upsertzAsyncFastAPI._upsert  s       
 	u/t7N7N7P7P1P1P1P1P1P1PQRRR  ]]]8]]#mBTBT]]]
 
 	
 	
 	
 	
 	
 	
 	
 trQ   zAsyncFastAPI._queryquery_embeddings	n_resultsc
                   K   d |D             }
|                      dd| d|	 d| d||t          |          nd ||||
d           d {V }|                    d	d           }|d
 |D             }t          |d         |                    dd           |                    dd           ||                    dd           |                    dd           d |          S )Nc                     g | ]
}|d k    |S r  r   r  s     rP   r   z'AsyncFastAPI._query.<locals>.<listcomp>   r  rQ   r   r   r   r   z/query)r  r;  r<  r  r  r  r   r   c                 .    g | ]}|d |D             nd S )Nc                 4    g | ]}|t          |          nd S rT   r  r  s     rP   r   z2AsyncFastAPI._query.<locals>.<listcomp>.<listcomp>  r  rQ   r   r  s     rP   r   z'AsyncFastAPI._query.<locals>.<listcomp>  sS            (	 $-   
      rQ   r  	distancesr  r  r   )r  rA  r  r   r  r   r   r!  )r   r4   r   r/   )rN   r   r;  r  r<  r  r  r  r   r   r"  r   r  s                rP   _queryzAsyncFastAPI._query  sT      ?>w>>>,,WWW8WW-WWW#/ %BBR$S$S$S&"0+	 	 - 
 
 
 
 
 
 
 
	 %==d;;'    "2      % mmK66 }}\488&mmK66vt,,	
 	
 	
 		
rQ   zAsyncFastAPI.resetc                 h   K   |                      dd           d {V }t          t          |          S )Nr   z/reset)r   r   boolrN   r   s     rP   resetzAsyncFastAPI.reset(  s?       ,,VX>>>>>>>>	D)$$$rQ   zAsyncFastAPI.get_versionc                 h   K   |                      dd           d {V }t          t          |          S )Nr   z/version)r   r   rK   rE  s     rP   get_versionzAsyncFastAPI.get_version.  s?       ,,UJ????????	C###rQ   c                     | j         S rT   )rI   rV   s    rP   get_settingszAsyncFastAPI.get_settings4  s
    ~rQ   z"AsyncFastAPI.get_pre_flight_checksc                 h   K   | j         #|                     dd           d {V }|| _         | j         S )Nr   z/pre-flight-checks)pre_flight_checksr   rE  s     rP   get_pre_flight_checksz"AsyncFastAPI.get_pre_flight_checks8  sJ       !)"008LMMMMMMMMI%.D"%%rQ   z%AsyncFastAPI.supports_base64_encodingc                    K   |                                   d {V }t          t          |                    dd                    }|S )Nr.  F)rM  r   rD  r   )rN   rL  b64_encoding_enableds      rP   r.  z%AsyncFastAPI.supports_base64_encodingA  s[       #'"<"<">">>>>>>>##''(BEJJ 
  
 $#rQ   zAsyncFastAPI.get_max_batch_sizec                    K   |                                   d {V }t          t          |                    dd                    }|S )Nr2  )rM  r   r   r   )rN   rL  r2  s      rP   r4  zAsyncFastAPI.get_max_batch_sizeK  sS       #'"<"<">">>>>>>>c#4#8#89I2#N#NOOrQ   )rR   r;   rh   )b__name__
__module____qualname__r<   r
   r   ru   rv   __annotations__r   rD   rW   r^   r   rd   r   ri   rU   r   rK   r}   r   r   r   r   	OPERATIONr   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r(   r   r1   rD  r   r   r   r   r   r   r   r   r   r'   r   r*   INDEX_AND_WALr   r!   r0   r  r	  r  r.   r  r5   r%   r,   r-   r&   r  r"   r&  ALLr   r$   r)   r#   r+   r0  r5  r8  r:  r6   r/   rB  rF  rH  r   rJ  rM  r.  r4  __classcell__)rO   s   @rP   r;   r;   @   s!         .0Hd3))*///
v 
 
 
 
 
 
"   " " " "
   PT          X(U. ( ( ( (> 0WS#X%6 0 0 0 X0 S    X++!$+04S#X+	+ + + +$ \*,D,NOO5 5 5 5 X PO5 \02J2TUU %	
 	
	
 	
 
		
 	
 	
 X VU	
 \-/G/QRR %
 

 
 
	
 
 
 X SR
 \02J2TUU %
 

 
 
	
 
 
 X VU
 \/1I1STT  $ $$	
 
}
 
 	

 
(	
 
 
 X UT
, \.0H0RSS
 
 
 
 
 X TS
 \+-E-OPP.S .V . . . X QP. \24L4VWWS S S S X XWS \13K3UVV  $ $$( }  	
  
/	"   X WV. \24L4VWW*<L$ $$69$	$ $ $ X XW$ \24L4VWW $(AE15#$(      =>	
 -.    
   X XW@ \/1I1STT %(	   	
 
   X UT \+-E-O   %(	   	
 
   X   \/1I1S   $(AE15$(
 

  
   =>	

 -.
 
 
 

 
 
 X 
& \(*B*LMM #'59EI$(
 

 3-
 12	

 $$AB
 
 
 

 
 
 X NM
. \&(@(JKK
 %(   	
  
   X LK \,.F.PQQ %(	
' 
'
' 
' 	
'
 

' 
' 
' X RQ
' \+-E-O   %(	
 

 
 	

 

 
 
 X 
" \(*B*LMM
 %( ) 7 '  ' ' v, ' 	 '
  '  ' 
 '  '  ' X NM 'D \24L4VWW %(		
 	
	
 	
 		

 
	
 	
 	
 X XW	
 \')A)KLL %( ) 7$ $$ $ 	$
 $ 
$ $ $ X ML$  \&(@(JKK $(   	
  
   X LK" \%'?'IJJ "!%# $263$(+
 +
+
 c]+
 	+

 }+
 +
 !/+
 +
 +
 +
 
+
 +
 +
 X KJ+
Z \(*B*LMM "!%26#$(K KK c]K 	K
 !/K }K K K 
K K K X NMK( \.0H0LMM%
Z YYTN	
%
 %
 
%
 %
 %
 NM%
N \%'?'CDD *.)-#$(   	
 I& I& tn   
   X ED2 \(*B*FGG
 ,0)-)-#$(   Z(	
 I& I& tn   
   X HG6 \(*B*FGG *.)-#$(   	
 I& I& tn   
   X HG2 \')A)EFF
 "!%26<$(3
 3
3
 %3
 c]	3

 3
 3
 !/3
 3
 3
 3
 
3
 3
 3
 X GF3
j \&(@(DEE%T % % % X FE% \,.F.PQQ$3 $ $ $ X RQ$ h    X \,.F.P &S & & & & \/1I1S $ $ $ $ $ \35M5WXX#    X YX    rQ   r;   )Qro   uuidr   urllib.parser   r   typingr   r   r   r   r   r	   r
   r   loggingru   	overridesr   chromadbr   chromadb.authr   chromadb.api.async_apir   chromadb.api.base_http_clientr   %chromadb.api.collection_configurationr   r   r   r   chromadb.configr   r   r   r    chromadb.telemetry.opentelemetryr   r   r   chromadb.telemetry.productr   chromadb.utils.async_to_syncr   chromadb.typesr   r   r    r   "chromadb.execution.expression.planr!   chromadb.api.typesr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   	getLoggerrR  loggerr;   r   rQ   rP   <module>rm     s4               L L L L L L L L L L L L L L L L L L L L                     & & & & & & 1 1 1 1 1 1 8 8 8 8 8 8            O N N N N N N N N N N N         
 > = = = = = 6 6 6 6 6 6 J J J J J J J J J J 5 5 5 5 5 5                                             0          
	8	$	$P P P P P>> P P P P PrQ   