
    Ng                    Z   d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
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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$ d dl%m&Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9  G d de!          Z:dS )    N)get_all_start_methods)Any	AwaitableCallableDictIterableListMappingOptionalSequenceTupleTypeUnionget_args)Compression)Url	parse_url)grpc)	construct)
BearerAuth)AsyncQdrantBase)get_async_channel)common_types)get_args_subscribed)
GrpcToRest
RestToGrpc!grpc_payload_schema_to_field_type)AsyncApiClient	AsyncApismodels)ParallelWorkerPool)GrpcBatchUploader)RestBatchUploader)BaseUploaderc            )       &    e Zd Z	 	 	 	 	 	 	 	 	 	 	 ddee         dee         deded	ee         d
ee         dee         dee         dee         deeeef                  dee	e
g ef         e
g ee         f         f                  def fdZedefd            Zddee         deddfdZededeee         eee         ee         f         fd            ZddZddZddZddZddZedej        fd            Zedej        fd            Zedej        fd            Zedej         fd            Z!ede"e#         fd             Z$ede"e#         fd!            Z%	 	 dd"ed#e&e'j(                 d$ee'j)                 dee         dede*e*e'j+                          fd%Z,	 	 	 	 	 	 	 	 	 	 	 dd"ed(e	e&e         eee*e         f         e'j-        e'j.        e'j/        f         d)ee'j0                 d*ee'j1                 d+ed,ee         d-e	ee&e         e'j2        f         d.e	ee&e         f         d/ee         d0ed$ee'j)                 d1ee'j3                 dee         dede*e'j+                 fd2Z4	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd"ed3ee'j5                 d4ee         d5e	e'j6        e*e'j6                 df         d)ee'j0                 d*ee'j1                 d+ed,ee         d-e	ee&e         e'j2        f         d.e	ee&e         f         d/ee         d6ee'j7                 d$ee'j)                 d1ee'j3                 dee         dede'j8        f"d7Z9	 	 dd"ed#e&e'j:                 d$ee'j)                 dee         dede*e'j8                 fd8Z;	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd"ed:ed3e	e'j<        e*e         e*e*e                  e'j=        e'j5        e'j/        e'j>        df         d4ee         d5e	e'j6        e*e'j6                 df         d)ee'j0                 d*ee'j1                 d+ed;ed-e	ee&e         e'j2        f         d.e	ee&e         f         d/ee         d<ee'j?                 d6ee'j7                 d$ee'j)                 d1ee'j3                 dee         dede'j@        f&d=ZA	 	 	 	 	 	 	 	 	 	 	 dd"ed(e	e&e         eee*e         f         e'j-        e'j.        e'j/        f         d:ed)eeBj0                 d*eeBj1                 d+ed;ed-e	ee&e         eBj2        f         d.e	ee&e         f         d/ee         d<ee'j?                 d$ee'j)                 d1ee'j3                 dee         dede'j@        f d?ZC	 	 	 	 	 	 	 dd"ed)ee'j0                 d+ed@ed4ee         d$ee'j)                 d1ee'j3                 dee         dede'jD        fdAZE	 	 	 	 	 	 	 dd"ed)ee'j0                 d+ed@ed4ee         d$ee'j)                 d1ee'j3                 dee         dede'jF        fdBZG	 	 dd"ed#e&e'jH                 d$ee'j)                 dee         dede*e*e'j+                          fdCZI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd"edEee&e'jJ                          dFee&e'jJ                          d)ee'j0                 d*ee'j1                 d+ed,ed-e	ee*e         e'j2        f         d.e	ee*e         f         d/ee         d4ee         d6ee'j7                 dGee'jK                 d$ee'j)                 d1ee'j3                 dee         dede*e'j+                 f$dHZL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd"ed:edEee&e	e'j<        e*e         f                           dFee&e	e'j<        e*e         f                           d)eeBj0                 d*eeBj1                 d+ed;ed/ee         d-e	ee&e         eBj2        f         d.e	ee&e         f         d4ee         d6eeBj7                 d<ee'j?                 dGee'jK                 d$ee'j)                 d1ee'j3                 dee         dede'j@        f(dIZM	 	 	 	 	 	 	 	 	 	 	 	 	 dd"edJee'jN                 dKee&e'jO                          d)ee'j0                 d*ee'j1                 d+ed,ed-e	ee*e         e'j2        f         d.e	ee*e         f         d4ee         d6ee'j7                 d$ee'j)                 d1ee'j3                 dee         dede*e'j+                 f dLZP	 	 dd"ed#e&e'jQ                 d$ee'j)                 dee         dede*e*e'j+                          fdMZR	 	 	 	 	 	 	 	 	 dd"edNee'j0                 d+edOee'jS                 d,ee'j<                 d-e	ee&e         e'j2        f         d.e	ee&e         f         d$ee'j)                 d1ee'j3                 dee         dedee*e'jT                 ee'j<                 f         fdPZU	 	 	 	 dd"edQee'j0                 dRed1ee'j3                 dee         dede'jV        fdSZW	 	 	 	 	 	 dd"edTedUee'j0                 d+edRedee         d$ee'j)                 d1ee'j3                 dede'jX        fdVZY	 	 	 dd"edWe'jZ        dXedYee'j[                 d1ee'j3                 dede'j\        fdZZ]	 	 	 dd"edWe&e'j^                 dXedYee'j[                 d1ee'j3                 dede'j\        fd[Z_	 	 	 dd"ed\e&e         dWe'j`        dXedYee'j[                 d1ee'j3                 dede'j\        fd]Za	 	 	 	 	 dd"ed^e&e'j<                 d-e	ee&e         e'j2        f         d.e	ee&e         f         d$ee'j)                 d1ee'j3                 dee         dede*e'jT                 fd_ZbecdWe'j`        deej`        eej3                 f         fd`            ZdecdWe'j`        d1ee'j3                 deBj`        fda            Zeecdbej`        de*ej<                 fdc            ZfecdWe'j`        deee*eBjg                          eeBj0                 f         fdd            Zh	 	 	 dd"edbe'j`        dXedYee'j[                 d1ee'j3                 dede'j\        fdeZi	 	 	 	 dd"edfe'jj        dWe'j`        dTee         dXedYee'j[                 d1ee'j3                 dede'j\        fdgZk	 	 	 dd"edfe'jj        dWe'j`        dXedYee'j[                 d1ee'j3                 dede'j\        fdhZl	 	 	 dd"edie&e         dWe'j`        dXedYee'j[                 d1ee'j3                 dede'j\        fdjZm	 	 	 dd"edbe'j`        dXedYee'j[                 d1ee'j3                 dede'j\        fdkZn	 	 dd"edle&e'jo                 dXedYee'j[                 dede*e'j\                 fdmZp	 ddne&e'jq                 dee         dedefdoZrd"edede'js        fdpZtdede'js        fdqZudede'jv        fdrZwd"edede'jx        fdsZyd"ededefdtZz	 	 	 	 	 	 	 dd"eduee'j{                 dvee'j|                 dwee'j}                 dxee'j~                 dyee'j                 dee         dzeeee'j        f                  dedefd{Z	 dd"edee         dedefd|Z	 	 	 	 	 	 	 	 	 	 	 	 dd"edwe	e'j        eee'j        f         f         d}ee         d~ee         dee         dee         dxee'j~                 duee'j{                 dee'j                 dyee'j                 dee'j                 dee         dzeeee'j        f                  dee'j                 dedef dZ	 	 	 	 	 	 	 	 	 	 	 	 dd"edwe	e'j        eee'j        f         f         d}ee         d~ee         dee         dee         dxee'j~                 duee'j{                 dee'j                 dyee'j                 dee'j                 dee         dzeeee'j        f                  dee'j                 dedef dZedee         fd            Z	 	 	 	 dded"edededee         dXed1ee'j3                 ddfdZ	 	 	 	 	 	 dd"edee'jT                 dededee         dedXed1ee'j3                 deddfdZ	 	 	 	 	 	 dd"edWee'j                 dededee         dedXed1ee'j3                 deddfdZ	 	 	 	 	 	 	 	 dd"ed\e	eee'j/        f         e'j/        ee'j                 f         dfeeeeef                           d^eee'j<                          dededee         dedXed1ee'j3                 deddfdZ	 	 	 	 dd"ededee'j                 dee'j                 dXedYee'j[                 dede'j\        fdZ	 	 dd"ededXedYee'j[                 dede'j\        fdZd"edede*e'j                 fdZ	 dd"edXededee'j                 fdZ	 dd"ededXededee         f
dZdede*e'j                 fdZ	 ddXedede'j        fdZ	 ddedXededee         fdZ	 	 	 	 dd"eded
ee         dee         dee'j                 dXededee         fdZd"ededede*e'j                 fdZ	 dd"ededXededee'j                 f
dZ	 dd"edededXededee         fdZ	 	 	 	 dd"ededed
ee         dee         dee'j                 dXededee         fdZdedede'j        fdZdede'j        fdZdede'j        fdZ	 	 	 	 dd"ede'j        dee         d~ee         dee*e                  dee         dedefdZ	 dd"ede'j        dee         dedef
dZde'j        fdZ xZS )AsyncQdrantRemoteN    Furlport	grpc_portprefer_grpchttpsapi_keyprefixtimeouthostgrpc_optionsauth_token_providerkwargsc                     t                      j        d#i | || _        || _        |
| _        ||n|d u| _        | j        rdnd| _        |pd| _        t          | j                  dk    r | j        d         dk    rd| j         | _        ||	t          d| d|	           |	9|	
                    d          s|	
                    d	          rt          d
          |r|
                    d          rd| }t          |          }|j        |j        c| _        | _        |j        r|j        dk    | _        |j        | _        | j        r| j        n|| _        | j        r!|j        rt          d| d|j                   | j        dvrt          d| j                   n|	pd| _        || _        |t%          j        |          nd | _        || _        || _        |                    dd           }|| j        dv rt1          j        d d          }|                    dd          }g | _        |                    di           | _        |E| j        dk    rt9          j        d           || j        d<   | j                            d|f           |                    dd           }|4t?          |t@                    stC          dtE          |                     |t@          j#        k    rt          d          || _$        | j        | j         d| j         n| j        }| j         d| | j         | _%        | j        |d|| _&        |
|| j&        d<   | j        | j        | j&        d<   | j        =| j        dk    rt9          j        d            tO          | j                  }|| j&        d!<   tQ          d#d"| j%        i| j&        | _)        d | _*        d | _+        d | _,        d | _-        d | _.        d| _/        d S )$Nr-   http r   /z+Only one of (url, host) can be set. url is z
, host is zhttp://zhttps://zk`host` param is not expected to contain protocol (http:// or https://). Try to use `url` parameter instead.	localhostz//z9Prefix can be set either in `url` or in `prefix`. url is z, prefix is )r6   r-   zUnknown scheme: limits)r9   z	127.0.0.1)max_connectionsmax_keepalive_connectionshttp2Fmetadataz,Api key is used with an insecure connection.zapi-keygrpc_compressionzLExpected 'grpc_compression' to be of type grpc.Compression or None, but got zfgrpc.Compression.Deflate is not supported. Try grpc.Compression.Gzip or grpc.Compression.NoCompression:z://)headersr=   r0   z8Auth token provider is used with an insecure connection.authr1    )0super__init___prefer_grpc
_grpc_port_grpc_options_https_scheme_prefixlen
ValueError
startswithr   r1   r*   _host_portschemepathmathceil_timeout_api_key_auth_token_providerpophttpxLimits_grpc_headers_rest_headerswarningswarnappend
isinstancer   	TypeErrortypeDeflate_grpc_compressionrest_uri
_rest_argsr   r   openapi_client_grpc_channel_grpc_points_client_grpc_collections_client_grpc_snapshots_client_grpc_root_client_closed)selfr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   
parsed_urlr:   r=   r?   addressbearer_auth	__class__s                      ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/qdrant_client/async_qdrant_remote.pyrE   zAsyncQdrantRemote.__init__7   s   " 	""6"""'#)$0eegT6I"&+9ww6|t|q  T\!_%;%;-t|--DL?t/`3``Z^``aaa!;!;tz?Z?Z~    	~~k** ! 3jj'nnJ(2$TZ  1(/7:)0'+z;tDJ| 
  rPSrrakaprr   |#444 !BDL!B!BCCC 5 ,DJDJ.5.A	'***t$7!Hd++>z777dVWXXX

7E**#ZZ
B77|v%%LMMM,3Dy)%%y'&:;;;28**=OQU2V2V'<Lk1Z1Z'w_cdt_u_uww   {222x   "226*2HTZ..$*...dj<CCGCT\CC&*&85SSFS(.DOH%=$)-DOI&$0|v%%XYYY$T%>??K&1DOF#9B :
 :
:
"&/:
 :
 ">B HL%DH#<@"    returnc                     | j         S N)rm   rn   s    rs   closedzAsyncQdrantRemote.closed   s
    |rt   
grpc_gracec                 t  K   t          | d          rY| j        R	 | j                            |           d {V  n/# t          $ r t	          j        d           Y nt          $ r Y nw xY w	 | j                                         d {V  n$# t          $ r t	          j        d           Y nw xY wd| _
        d S )Nrh   )gracezKUnable to close grpc_channel. Connection was interrupted on the server sidezNUnable to close http connection. Connection was interrupted on the server sideT)hasattrrh   closeAttributeErrorloggingwarningRuntimeErrorr6   aclose	Exceptionrm   )rn   rz   r4   s      rs   r~   zAsyncQdrantRemote.close   s      4)) 	d.@.L(..Z.@@@@@@@@@@!   a         	)""$$$$$$$$$$ 	 	 	O`    	 s'   != A)	A)(A)-B B.-B.c                 j    t          |           }|j        |j        |j        |j        f\  }}}}||||fS rw   )r   rQ   r1   r*   rR   )r)   parse_resultrQ   r1   r*   r/   s         rs   
_parse_urlzAsyncQdrantRemote._parse_url   sF    %cNN	(
$tV dF++rt   c           	          | j         rt          d          | j        @t          | j        | j        | j        | j        | j        | j	        | j
                  | _        d S d S )Nz=Client was closed. Please create a new QdrantClient instance.)r1   r*   sslr>   optionscompressionr3   )rm   r   rh   get_channelrO   rG   rI   r[   rH   rd   rW   rx   s    rs   _init_grpc_channelz$AsyncQdrantRemote._init_grpc_channel   sq    < 	`^___%!,Z_K+* 2$($=" " "D &%rt   c                 j    |                                   t          j        | j                  | _        d S rw   )r   r   
PointsStubrh   ri   rx   s    rs   _init_grpc_points_clientz*AsyncQdrantRemote._init_grpc_points_client   s/    !!!#'?43E#F#F   rt   c                 j    |                                   t          j        | j                  | _        d S rw   )r   r   CollectionsStubrh   rj   rx   s    rs   _init_grpc_collections_clientz/AsyncQdrantRemote._init_grpc_collections_client   s0    !!!(,(<T=O(P(P%%%rt   c                 j    |                                   t          j        | j                  | _        d S rw   )r   r   SnapshotsStubrh   rk   rx   s    rs   _init_grpc_snapshots_clientz-AsyncQdrantRemote._init_grpc_snapshots_client   s0    !!!&*&89K&L&L###rt   c                 j    |                                   t          j        | j                  | _        d S rw   )r   r   
QdrantStubrh   rl   rx   s    rs   _init_grpc_root_clientz(AsyncQdrantRemote._init_grpc_root_client   s/    !!!!%1C!D!Drt   c                 F    | j         |                                  | j         S )zgRPC client for collections methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )rj   r   rx   s    rs   grpc_collectionsz"AsyncQdrantRemote.grpc_collections   s(     (0..000,,rt   c                 F    | j         |                                  | j         S )z}gRPC client for points methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )ri   r   rx   s    rs   grpc_pointszAsyncQdrantRemote.grpc_points   s(     #+))+++''rt   c                 F    | j         |                                  | j         S )zgRPC client for snapshots methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )rk   r   rx   s    rs   grpc_snapshotsz AsyncQdrantRemote.grpc_snapshots   s(     &.,,...**rt   c                 F    | j         |                                  | j         S )z{gRPC client for info methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )rl   r   rx   s    rs   	grpc_rootzAsyncQdrantRemote.grpc_root   s(     !)'')))%%rt   c                     | j         S ztREST Client

        Returns:
            An instance of raw REST API client, generated from OpenAPI schema
        rg   rx   s    rs   restzAsyncQdrantRemote.rest       ""rt   c                     | j         S r   r   rx   s    rs   r6   zAsyncQdrantRemote.http  r   rt   collection_namerequestsconsistencyc                   K   | j         rfd|D             }t          |t          t          j                            rt          j        |          }| j                            t          j
        |||          ||n| j                   d {V }d |j        D             S d |D             }| j        j                            ||t          j        |                     d {V j        }|
J d            |S )	Nc                 r    g | ]3}t          |t          j                  rt          j        |          n|4S rC   )r`   r    SearchRequestr   convert_search_request.0rr   s     rs   
<listcomp>z2AsyncQdrantRemote.search_batch.<locals>.<listcomp>  sR         a!566
1!_EEE  rt   )r   search_pointsread_consistencyr0   r0   c                 0    g | ]}d  |j         D             S )c                 6    g | ]}t          j        |          S rC   r   convert_scored_pointr   hits     rs   r   z=AsyncQdrantRemote.search_batch.<locals>.<listcomp>.<listcomp>0  #    JJJ#055JJJrt   resultr   r   s     rs   r   z2AsyncQdrantRemote.search_batch.<locals>.<listcomp>/  6       OPJJJJJ  rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   SearchPointsr   convert_search_pointsr   s     rs   r   z2AsyncQdrantRemote.search_batch.<locals>.<listcomp>3  sL        8B!TEV7W7W^
0333]^  rt   searches)r   r   r0   search_request_batchzSearch batch returned None)rF   r`   r   r    ReadConsistencyr   convert_read_consistencyr   SearchBatchr   SearchBatchPointsrU   r   r6   
points_apisearch_batch_pointsSearchRequestBatchrn   r   r   r   r0   r4   grpc_reshttp_ress    `      rs   search_batchzAsyncQdrantRemote.search_batch  s       #	    "	  H +':6;Q'R'RSS O(A+NN7;7G7S7S&$3"*%0#	   $+#6DM 8T 8 8 2 2 2 2 2 2H T\Tc    !  H
 i*>>$3 +#)/)BH)U)U)U	 ?           '')E'''Ort   
   Tquery_vectorquery_filtersearch_paramslimitoffsetwith_payloadwith_vectorsscore_thresholdappend_payloadshard_key_selectorc                   K   |
st          j        d           |
}t          |t          j                  r|                                }| j        rTd }d }t          |t          j                  r|j	        }|j
        }nt          |t          j                  r3|j
        }t          j        |j	        j                  }|j	        j        }n5t          |t                     r|d         }|d         }nt#          |          }t          |t$          j                  rt)          j        |          }t          |t$          j                  rt)          j        |          }t          |t1          t$          j                            rt)          j        |          }t          |t1          t$          j                            rt)          j        |          }t          |t1          t$          j                            rt)          j        |          }t          |t1          t$          j                            rt)          j         |          }| j!        "                    t          j#        ||||||||||	||||          ||n| j$                   d {V }d |j%        D             S t          |t                     r"t          j        |d         |d         	          }t          |t          j                  rtM          j        |          }t          |t          j                  rtM          j        |          }t          |t          j'                  rtM          j(        |          }| j)        j*        +                    |||t%          j,        ||||||||	|
	  	                   d {V }|j%        }|
J d            |S )NzUUsage of `append_payload` is deprecated. Please consider using `with_payload` insteaddatar      model)r   vectorvector_namefilterr   r   r   r   paramsr   r   r0   sparse_indicesr   r   c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z,AsyncQdrantRemote.search.<locals>.<listcomp>  #    OOOSJ3C88OOOrt   namer   )	r   r   r   r   r   with_vectorr   r   	shard_key)r   r   r0   search_requestSearch returned None)-r   r   r`   npndarraytolistrF   typesNamedVectorr   r   NamedSparseVectorr   SparseIndicesindicesvaluestuplelistr    Filterr   convert_filterSearchParamsconvert_search_paramsr   WithPayloadInterfaceconvert_with_payload_interface
WithVectorconvert_with_vectorsr   r   ShardKeySelectorconvert_shard_key_selectorr   Searchr   rU   r   r   WithPayloadSelectorconvert_with_payload_selectorr6   r   r   r   )rn   r   r   r   r   r   r   r   r   r   r   r   r   r0   r4   r   r   r   ressearch_resultr   s                        rs   searchzAsyncQdrantRemote.searchB  s     .  	*Og   *LlBJ// 	1'..00L J	K!N,(9:: ,%,*/L%*ABB ,*/!%!39L9T!U!U!U%,3L%00 ,*1o%al++,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"-1-=-D-D!$3! +'!!-!-($3%0##1'9    $+?# .E . . ( ( ( ( ( (C& POCJOOOO,.. _$0l1ol[\o^^^,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU"&)"6"D"D /'%3''!( ,!-$30
  
  
 	 #E # #      M  9F8LF%%'=%%%Mrt   queryusingprefetchlookup_fromc                 &  K   | j         rtt          |t          t          j                            rt          j        |          }t          |t          j                  rt          j        |          g}t          |t                    rd |D             }t          |t          j
                  rt          j        |          }t          |t          j                  rt          j        |          }t          |	t          t          j                            rt          j        |	          }	t          |
t          t          j                            rt          j        |
          }
t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j        |          }t          |t          t          j                            rt          j        |          }| j                            t5          j        |||||||
|	|||||||          ||n| j                   d {V }d |j        D             }t          j        |          S t          |t4          j                  rt?          j        |          }t          |t4          j                   rt?          j        |          }t          |t                    rd |D             }t          |t4          j
                  rt?          j        |          }t          |t4          j                  rt?          j        |          }t          |	t4          j!                  rt?          j"        |	          }	t          |t4          j                  rt?          j        |          }t          j#        ||||||||||
|	|          }| j$        j%        &                    ||||	           d {V }|j        }|
J d
            |S )Nc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   r`   r    Prefetchr   convert_prefetch_queryr   ps     rs   r   z2AsyncQdrantRemote.query_points.<locals>.<listcomp>  K        =Gq&/<Z<ZaJ5a888`a  rt   r   )r   r  r  r   r   r   r   r   r   r   r  r  r0   r   r   r   c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z2AsyncQdrantRemote.query_points.<locals>.<listcomp>  s#    XXXcZ<SAAXXXrt   pointsc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   r`   r   PrefetchQueryr   r  r  s     rs   r   z2AsyncQdrantRemote.query_points.<locals>.<listcomp>  O         "!T%788J5a888  rt   )r   r  r  r  r   r   r   r   r   r   r   r  )r   r   r0   query_requestr   )'rF   r`   r   r    Queryr   convert_queryr  r  r   r   r   r   r   r   r   r   r  r  LookupLocationconvert_lookup_locationr   r   r  r  r   r   QueryPointsrU   r   QueryResponser   r  r  r  QueryRequestr6   r   query_points)rn   r   r  r  r  r   r   r   r   r   r   r   r  r   r   r0   r4   r  scored_pointsr  query_resultr   s                         rs   r&  zAsyncQdrantRemote.query_points  sJ     &  X	%&,!7!788 8"077(FO44 I&=hGGH(D))  %   ,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+v'<== N(@MM+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^",0,<,B,B $3%'!!-!-($3 +#'9%0  " $+?% -C - - ' ' ' ' ' 'C( YXSZXXXM'}====%,, 8"077(D$677 G%<XFF(D))   &	   ,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU+t':;; N(@MM"/,!#$ /()'  M "&!5!B!B /'+	 "C " "      L 6B5HF%%'=%%%Mrt   c                   K   | j         rfd|D             }t          |t          t          j                            rt          j        |          }| j                            t          j
        |||          ||n| j                   d {V }d |j        D             S d |D             }| j        j                            ||t          j        |                     d {V j        }|
J d            |S )	Nc                 r    g | ]3}t          |t          j                  rt          j        |          n|4S rC   )r`   r    r%  r   convert_query_requestr   s     rs   r   z8AsyncQdrantRemote.query_batch_points.<locals>.<listcomp>"  sR         a!455
0ODDD  rt   )r   r&  r   r0   r   c                 V    g | ]&}t          j        d  |j        D                       'S )c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   zCAsyncQdrantRemote.query_batch_points.<locals>.<listcomp>.<listcomp>5  s#    UUUSJ;C@@UUUrt   r  )r    r$  r   r   s     rs   r   z8AsyncQdrantRemote.query_batch_points.<locals>.<listcomp>3  sO         $UUAHUUU    rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   r#  r   convert_query_pointsr   s     rs   r   z8AsyncQdrantRemote.query_batch_points.<locals>.<listcomp>:  sL        7ADDT6U6U\
/222[\  rt   r   )r   r   r0   query_request_batchzQuery batch returned None)rF   r`   r   r    r   r   r   r   
QueryBatchr   QueryBatchPointsrU   r   r6   r   query_batch_pointsQueryRequestBatchr   s    `      rs   r3  z$AsyncQdrantRemote.query_batch_points  s       &	    "	  H +':6;Q'R'RSS O(A+NN6:6F6Q6Q%$3!)%0#	   $+#6DM 7R 7 7 1 1 1 1 1 1H  "	    !  H
 i*==$3 +#(.(@((S(S(S	 >           '')D'''Ort      group_by
group_sizewith_lookupc                 V	  K   | j         rt          |t          t          j                            rt          j        |          }t          |t          j                  rt          j        |          g}t          |t                    rd |D             }t          |t          j
                  rt          j        |          }t          |t          j                  rt          j        |          }t          |
t          t          j                            rt          j        |
          }
t          |t          t          j                            rt          j        |          }t          |t          j                  rt          j        |          }t          |t*                    rt-          j        |          }t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j        |          }t          |t          t          j                            rt          j        |          }| j                            t-          j        di d|d|d|d|d|d	|d
|
d|d|d|d|d|	d|d|d|d|d|||n| j                    d {V j!        }tE          j#        |          S t          |t,          j                  rtE          j        |          }t          |t,          j$                  rtE          j        |          }t          |t                    rd |D             }t          |t,          j
                  rtE          j        |          }t          |t,          j                  rtE          j        |          }t          |
t,          j%                  rtE          j&        |
          }
t          |t,          j                  rtE          j        |          }t          |t,          j                  rtE          j        |          }t          j'        ||||||||||	||
||          }| j(        j)        *                    ||||           d {V }|
J d            |j!        S )Nc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   r  r  s     rs   r   z9AsyncQdrantRemote.query_points_groups.<locals>.<listcomp>m  r  rt   r   
collectionr   r  r  r   r   r   r   r   r   r  r6  r7  r8  r  r0   r   r   r   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   r  r  s     rs   r   z9AsyncQdrantRemote.query_points_groups.<locals>.<listcomp>  r  rt   )r   r  r  r  r   r   r   r   r6  r7  r   r   r8  r  )r   r   r0   query_groups_requestz%Query points groups API returned NonerC   )+rF   r`   r   r    r  r   r   r  r  r   r   r   r   r   r   r   r   r  r  
WithLookupconvert_with_lookupstrr   r!  r"  r   r   r  r  r   QueryGroupsQueryPointGroupsrU   r   r   convert_groups_resultr  r  r  QueryGroupsRequestr6   r   query_points_groups)rn   r   r6  r  r  r  r   r   r   r7  r   r   r   r8  r  r   r   r0   r4   r   r  r(  s                         rs   rF  z%AsyncQdrantRemote.query_points_groupsI  sE     <  b	'%&,!7!788 8"077(FO44 I&=hGGH(D))  %   ,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+v'899 J(<[II+s++ F"oEEE+v'<== N(@MM+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"&22)   (7#e "*  ,|	
 $e &2\ &2\  -} )8 $e "* $.: %0K %0K !(  ,>+=!" *5#& (/GGDM) 3        , / 0 3F;;;%,, 8"077(D$677 G%<XFF(D))   &	   ,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU+t77 J(<[II+t':;; N(@MM"5,!#$ /!%()''  M  "&!5!I!I /'%2	 "J " "      L  ++-T+++&&rt   r   c                   K   | j         rd }d }t          |t          j                  rt	          j        |          }t          |t                    rt          j        |          }t          |t          j	                  r|j
        }|j        }nt          |t          j                  r3|j        }t          j        |j
        j                  }|j
        j        }n5t          |t                     r|d         }|d         }nt#          |          }t          |t          j                  rt	          j        |          }t          |t          j                  rt	          j        |          }t          |t-          t          j                            rt	          j        |          }t          |	t-          t          j                            rt	          j        |	          }	t          |t-          t          j                            rt	          j        |          }t          |t-          t          j                            rt	          j        |          }| j                             t          j!        di d|d|d|d	|d
|d|d|	d|d|d|
d|d|d|d|d|d|||n| j"                   d {V j#        }tI          j%        |          S t          |t          j                  rtI          j        |          }t          |t                     r(tM          t          j	        |d         |d                   }t          |tN          j(                  r|)                                }t          |t          j                  rtI          j        |          }t          |t          j                  rtI          j        |          }t          |t          j*                  rtI          j+        |          }tM          t          j,        |||||	|
|||||          }| j-        j.        /                    ||||           d {V j#        S )Nr;  r   r   r   r   r   r   r   r   r   r7  r   r   r   r   r6  r   r8  r0   r   r   r   r   )r   r   r   r   r   r   r6  r7  r   r8  r   )search_groups_requestr   r   r0   rC   )0rF   r`   r    r?  r   r@  rA  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r  r  r   SearchGroupsSearchPointGroupsrU   r   r   rD  r   r   r   r   r  r  SearchGroupsRequestrg   r   search_point_groups)rn   r   r   r6  r   r   r   r7  r   r   r   r8  r   r   r0   r4   r   r   r   r   rH  s                        rs   search_groupszAsyncQdrantRemote.search_groups  s     0  [	K!N+v'899 J(<[II+s++ F"oEEE,(9:: ,%,*/L%*ABB ,*/!%!39L9T!U!U!U%,3L%00 ,*1o%al++,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"&33*   (7%v %0K  ,|	
 $e $.: &2\ &2\  -} )8 "* *5 %0K !( (6~  ,>+=!$ (/':GG' 4        * - . 3F;;;+t77 J(<[II,.. (&\!_\RS_      ,
33 5+2244,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU$-*##$)( /!%',% % %! )4HH*?$3 +#	 I         rt   samplec	                    K   | j         rt          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }t          |t          t          j	                            rt	          j
        |          }| j                            t          j        ||||||||          ||n| j                   d {V }
t!          j        |
j                  S t          |t          j                  rt!          j        |          }| j        j                            |||t          j        |||||                     d {V j        }|
J d            |S )Nr   r   r   rN  r   r  r0   r   r   r   r   r   rN  r  r   r   r   r0   search_matrix_requestz(Search matrix pairs returned None result)rF   r`   r    r   r   r   r   r  r  r   r   r   SearchMatrixPairsr   SearchMatrixPointsrU   r   convert_search_matrix_pairsr   rg   r   search_matrix_pairsSearchMatrixRequestrn   r   r   r   rN  r  r   r   r0   r4   responsesearch_matrix_results               rs   rW  z%AsyncQdrantRemote.search_matrix_pairs@  s       	K,66 M)8|LLL,.A&BY.Z.Z[[ _%/%JK]%^%^"+':6;Q'R'RSS O(A+NN!-??'$3'!#%0'9	 	 	 $+#6DM @        H 9(/JJJlDK00 	I%4<HHHL%0DD /'&,&@0!'' ' '	 E          	 $//1[///##rt   c	                    K   | j         rt          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }t          |t          t          j	                            rt	          j
        |          }| j                            t          j        ||||||||          ||n| j                   d {V }
t!          j        |
j                  S t          |t          j                  rt!          j        |          }| j        j                            |||t          j        |||||                     d {V j        }|
J d            |S )Nr   rP  r   rQ  rR  z*Search matrix offsets returned None result)rF   r`   r    r   r   r   r   r  r  r   r   r   SearchMatrixOffsetsr   rU  rU   r   convert_search_matrix_offsetsr   rg   r   search_matrix_offsetsrX  rY  s               rs   r_  z'AsyncQdrantRemote.search_matrix_offsetst  s       	M,66 M)8|LLL,.A&BY.Z.Z[[ _%/%JK]%^%^"+':6;Q'R'RSS O(A+NN!-AA'$3'!#%0'9	 	 	 $+#6DM B        H ;HOLLLlDK00 	I%4<HHHL%0FF /'&,&@0!'' ' '	 G          	 $//1]///##rt   c                   K   | j         rfd|D             }t          |t          t          j                            rt          j        |          }| j                            t          j
        |||          ||n| j                   d {V }d |j        D             S d |D             }| j        j                            |t          j        |                     d {V j        }|S )Nc                 r    g | ]3}t          |t          j                  rt          j        |          n|4S rC   )r`   r    RecommendRequestr   convert_recommend_requestr   s     rs   r   z5AsyncQdrantRemote.recommend_batch.<locals>.<listcomp>  sR         a!899
4QHHH  rt   )r   recommend_pointsr   r0   r   c                 0    g | ]}d  |j         D             S )c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z@AsyncQdrantRemote.recommend_batch.<locals>.<listcomp>.<listcomp>  r   rt   r   r   s     rs   r   z5AsyncQdrantRemote.recommend_batch.<locals>.<listcomp>  r   rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   RecommendPointsr   convert_recommend_pointsr   s     rs   r   z5AsyncQdrantRemote.recommend_batch.<locals>.<listcomp>  sO         a!566
3A666  rt   r   )r   r   recommend_request_batch)rF   r`   r   r    r   r   r   r   RecommendBatchr   RecommendBatchPointsrU   r   r6   r   recommend_batch_pointsRecommendRequestBatchr   s    `      rs   recommend_batchz!AsyncQdrantRemote.recommend_batch  s       #	    "	  H +':6;Q'R'RSS O(A+NN7;7G7V7V)$3%-%0#	   $+#6DM 8W 8 8 2 2 2 2 2 2H T\Tc     "	  H i*AA$3 +,2,HRZ,[,[,[ B        
   Ort   r   positivenegativestrategyc                 t  K   |g }|g }| j         r{t          j        |          }t          j        |          }t          j        |          }t          j        |          }t	          |t
          j                  rt          j        |          }t	          |t
          j                  rt          j	        |          }t	          |t          t
          j                            rt          j        |          }t	          |	t          t
          j                            rt          j        |	          }	t	          |t
          j                  rt          j        |          }t	          |t          t
          j                            rt          j        |          }t	          |t&          t
          j        f          rt          j        |          }t	          |t          t
          j                            rt          j        |          }| j                            t5          j        di d|d|d|d|d|d|d|	d	|d
|d|
d|d|d|d|d|d|d|d|||n| j                   d {V }d |j        D             S d |D             }d |D             }t	          |t4          j                  rt=          j        |          }t	          |t4          j                  rt=          j	        |          }t	          |t4          j                  rt=          j         |          }t	          |t4          j                  rt=          j        |          }| j!        j"        #                    |||t          j$        ||||||||	|
||||                     d {V j        }|
J d            |S )Nr   r   rp  rq  r   r   r   r   r   r   r   r  r  r   rr  positive_vectorsnegative_vectorsr   r0   r   c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z/AsyncQdrantRemote.recommend.<locals>.<listcomp>  r   rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   r`   r   PointIdr   convert_point_idr   examples     rs   r   z/AsyncQdrantRemote.recommend.<locals>.<listcomp>  N         gt|44
+G444  rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r{  s     rs   r   z/AsyncQdrantRemote.recommend.<locals>.<listcomp>!  r}  rt   )r   rp  rq  r   r   r   r   r   r   r  r  rr  r   )r   r   r0   recommend_request"Recommend points API returned NonerC   )%rF   r   !convert_recommend_examples_to_ids%convert_recommend_examples_to_vectorsr`   r    r   r   r   r   r   r   r   r  r  r!  r"  r   r   rA  RecommendStrategyconvert_recommend_strategyr  r  r   	Recommendr   rh  rU   r   r   r  r  rg   r   rd  rb  )rn   r   rp  rq  r   r   r   r   r   r   r   r  r  rr  r   r   r0   r4   positive_idsrt  negative_idsru  r  r   s                           rs   	recommendzAsyncQdrantRemote.recommend  s     ( HH Y	%GQQL)OPXYY%GQQL)OPXYY,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+v'<== N(@MM+':6;Q'R'RSS O(A+NN(S&*B$CDD K%@JJ,.A&BY.Z.Z[[ _%/%JK]%^%^"-1-=-G-G$   $3O)\ *\ (<	
  % "6 ". ". )= %4O  % !, &1[ &X &6%5  &6%5!" (:'9#$ $G%( $+#6DM+ .H . . ( ( ( ( ( (C. POCJOOOO   (	  H   (	  H ,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU+t':;; N(@MM)4EE$3 +#&,&=+!)!),#%%1$0(7$/#!)"4' ' '	 F        ( + , %%'K%%%Mrt   c                   K   ||ng }||ng }| j         rt          |t          j                  rt	          j        |          }t          |t                    rt          j        |          }t	          j        |          }t	          j	        |          }t	          j        |          }t	          j	        |          }t          |t          j
                  rt	          j        |          }t          |t          j                  rt	          j        |          }t          |
t          t          j                            rt	          j        |
          }
t          |t          t          j                            rt	          j        |          }t          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }t          |t          t          j        f          rt	          j        |          }t          |t          t          j                            rt	          j        |          }| j                            t          j        di d|d|d|d|d|d|d	|d
|d|
d|d|	d|d|d|d|d|d|d|d|d|||n| j                   d {V j        }|
J d            tA          j!        |          S t          |t          j                  rtA          j        |          }d |D             }d |D             }t          |t          j
                  rtA          j        |          }t          |t          j                  rtA          j        |          }t          |
t          j"                  rtA          j#        |
          }
t          |t          j                  rtA          j        |          }| j$        j%        &                    |||tO          t          j(        f||||||||
||	|||||d           d {V j        }|
J d            |S )Nr;  r   r   rp  rq  r   r6  r   r7  r   r   r   r   r  r  r   r8  rr  rt  ru  r   r0   r   z"Recommend groups API returned Nonec                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r   point_ids     rs   r   z6AsyncQdrantRemote.recommend_groups.<locals>.<listcomp>  N         h55
+H555  rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r  s     rs   r   z6AsyncQdrantRemote.recommend_groups.<locals>.<listcomp>  r  rt   )rp  rq  r   r6  r   r7  r   r   r   r   r  r  r8  rr  r   )r   r   r0   recommend_groups_requestr  rC   ))rF   r`   r    r?  r   r@  rA  r   r  r  r   r   r   r   r   r   r   r  r  r!  r"  r   r   r  r  r  r  r   RecommendGroupsRecommendPointGroupsrU   r   r   rD  r  r  rg   r   recommend_point_groupsr   RecommendGroupsRequest)rn   r   r6  rp  rq  r   r   r   r7  r   r   r   r  r  r8  rr  r   r   r0   r4   r  rt  r  ru  r  r   s                             rs   recommend_groupsz"AsyncQdrantRemote.recommend_groupsH  sN     ,  (388'388 g	+v'899 J(<[II+s++ F"oEEE%GQQL)OPXYY%GQQL)OPXYY,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+v'<== N(@MM+':6;Q'R'RSS O(A+NN(S&*B$CDD K%@JJ,.A&BY.Z.Z[[ _%/%JK]%^%^"&66-   (7!- ".  ,|	
 "* $e $.: &2\ &2\  -} )8 $e %0K *5 %0K  "*!" *:)9#$ *:)9%& ,>+='( !(), (/':GG/ 7        2 5 6 ??$H???3C888+t77 J(<[II  !)	  H  !)	  H ,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU+t':;; N(@MM)4KK$3 +#-65.!)!)+!)##-,%1$0(7$/#$/!)"4!. . .	 L        . 1 2 %%'K%%%Mrt   targetcontextc                   K   |g }| j         r|;t          |t          t          j                            rt          j        |          n|}d |D             }t          |t          j                  rt          j        |          }t          |t          j	                  rt          j
        |          }t          |t          t          j                            rt          j        |          }t          |	t          t          j                            rt          j        |	          }	t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j        |          }t          |t          t          j                            rt          j        |          }| j                            t/          j        |||||||	|||
||||          ||n| j                   d {V }d |j        D             S |.t          |t.          j                  rt9          j        |          n|}d |D             }t          |t.          j                  rt9          j        |          }t          |t.          j	                  rt9          j
        |          }t          |t.          j                  rt9          j        |          }t          |t.          j                  rt9          j        |          }| j        j         !                    |||t          j"        ||||||||	||
|                     d {V j        }|
J d	            |S )
Nc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r    ContextExamplePairr   convert_context_example_pairr   pairs     rs   r   z.AsyncQdrantRemote.discover.<locals>.<listcomp>  sO         dF$=>>
7===  rt   r   )r   r  r  r   r   r   r   r   r   r  r  r   r   r0   r   c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z.AsyncQdrantRemote.discover.<locals>.<listcomp>  r   rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   r  r   r  r  s     rs   r   z.AsyncQdrantRemote.discover.<locals>.<listcomp>  sO         dD$;<<
7===  rt   )r  r  r   r   r   r   r   r   r  r  r   )r   r   r0   discover_requestz!Discover points API returned None)#rF   r`   r   r    RecommendExampler   convert_target_vectorr   r   r   r   r   r   r  r  r!  r"  r   r   r  r  r   Discoverr   DiscoverPointsrU   r   TargetVectorr   r  r  rg   r   discover_pointsDiscoverRequest)rn   r   r  r  r   r   r   r   r   r   r  r  r   r   r0   r4   r  r   s                     rs   discoverzAsyncQdrantRemote.discover  s     $ ?G X	 %v':6;R'S'STT & 0888 	   $	  G ,66 M)8|LLL-)<== P * @ O O,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+v'<== N(@MM+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"-1-=-F-F#$3!#'!!-!-( +%0'9#    $+#6DM# .G . . ( ( ( ( ( (C& POCJOOOO %*VT=N*O*O% 0888 
  $	  G ,44 M)8|LLL-):;; P * @ O O,(@AA V)GUU+t':;; N(@MM)4DD$3 +#%+%;% '+,#%%1$0$/#"4& & &	 E        $ ' ( %%'J%%%Mrt   c                 t  K   | j         r`fd|D             }| j                            t          j        |||          ||n| j                   d {V }d |j        D             S d |D             }| j        j        	                    t          j        |          ||           d {V j        }|S )Nc                 r    g | ]3}t          |t          j                  rt          j        |          n|4S rC   )r`   r    r  r   convert_discover_requestr   s     rs   r   z4AsyncQdrantRemote.discover_batch.<locals>.<listcomp>@  sR         a!788
3AGGG  rt   )r   r  r   r0   r   c                 0    g | ]}d  |j         D             S )c                 6    g | ]}t          j        |          S rC   r   r   s     rs   r   z?AsyncQdrantRemote.discover_batch.<locals>.<listcomp>.<listcomp>P  r   rt   r   r   s     rs   r   z4AsyncQdrantRemote.discover_batch.<locals>.<listcomp>O  r   rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   r  r   convert_discover_pointsr   s     rs   r   z4AsyncQdrantRemote.discover_batch.<locals>.<listcomp>S  sL        :DAtGZ9[9[b
21555ab  rt   r   )r   discover_request_batchr   r0   )rF   r   DiscoverBatchr   DiscoverBatchPointsrU   r   r6   r   discover_batch_pointsr    DiscoverRequestBatchr   s    `      rs   discover_batchz AsyncQdrantRemote.discover_batch7  sY        	    "	  H 8<7G7U7U($3$,%0#	   $+#6DM 8V 8 8 2 2 2 2 2 2H T\Tc    !  H
 i*@@$3+1+FPX+Y+Y+Y +#	 A           Ort   scroll_filterorder_byc                 |  K   | j         rt          |t          t          j                            rt          j        |          }t          |t          j                  rt          j        |          }t          |t          t          j	                            rt          j
        |          }t          |t          t          j                            rt          j        |          }t          |t          t          j                            rt          j        |          }t          |	t          t          j                            rt          j        |	          }	t          |t          t          j                            rt          j        |          }| j                            t+          j        |||||||||	|

  
        |
|
n| j                   d {V }d |j        D             |                    d          rt5          j        |j                  nd fS t          |t*          j                  rt5          j        |          }t          |t*          j                  rt5          j        |          }t          |t*          j                  rt5          j        |          }t          |t*          j                   rt5          j!        |          }| j"        j#        $                    ||t          j%        |||||||	          |
           d {V j        }|
J d            |j&        |j        fS )	Nr   )
r   r   r  r   r   r   r   r   r   r0   r   c                 6    g | ]}t          j        |          S rC   r   convert_retrieved_pointr   points     rs   r   z,AsyncQdrantRemote.scroll.<locals>.<listcomp>  s#    SSSu3E::SSSrt   next_page_offset)r   r   r  r   r   r   r   )r   r   scroll_requestr0   z&Scroll points API returned None result)'rF   r`   r   r    ExtendedPointIdr   convert_extended_point_idr   r   r   r   r  r  r   r   r  r  OrderByInterfaceconvert_order_by_interfacer   Scrollr   ScrollPointsrU   r   HasFieldr   rz  r  ry  OrderByconvert_order_byr  r  rg   r   scroll_pointsScrollRequestr  )rn   r   r  r   r  r   r   r   r   r   r0   r4   r  scroll_results                 rs   scrollzAsyncQdrantRemote.scrolla  s_       >	J&"5f6L"M"MNN F#=fEE-77 O * 9 N N N,(;F<W(X(XYY W)HVV,(;F<M(N(NOO M)>|LL+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"($78O$P$PQQ K%@JJ-1-=-D-D!$3(%!!-!-%0'9#   $+? .E . . ( ( ( ( ( (C  TS
SSS<< 233
+C,@AAA	  &$,// =#4V<<-55 O * 9 N N N(DL11 A%6x@@,(@AA V)GUU)4BB$3 +#)#7,#!)%%1$0"4$ $ $ $ C            !,,.V,,,!(-*HIIrt   count_filterexactc           	        K   | j         rt          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }| j	        
                    t          j        |||||          ||n| j                   d {V j        }t          j        |          S t          |t          j                  rt          j        |          }| j        j                            |t          j        |||          |           d {V j        }|
J d            |S )Nr   )r   r   r  r   r0   r   )r   r  r   )r   count_requestr0   z!Count points returned None result)rF   r`   r    r   r   r   r   r  r  r   Countr   CountPointsrU   r   r   convert_count_resultrg   r   count_pointsCountRequest)	rn   r   r  r  r   r0   r4   rZ  count_results	            rs   countzAsyncQdrantRemote.count  s       	=,66 M)8|LLL,.A&BY.Z.Z[[ _%/%JK]%^%^"&,,$(7+#+= '   (/GGDM - 	 	 	 	 	 	 	 	   28<<<lDK00 	I%4<HHHL%0== /$1'u@R     >          	 '')L'''rt   keyfacet_filterc	                 6  K   | j         rt          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }t          |t          t          j	                            rt	          j
        |          }| j                            t          j        ||||||||          ||n| j                   d {V }
t!          j        d |
j        D                       S t          |t          j                  rt'          j        |          }| j        j                            |||t          j        |||||                     d {V j        }|
J d            |S )	Nr   )r   r  r   r   r  r0   r   r   r   c                 6    g | ]}t          j        |          S rC   )r   convert_facet_value_hitr   s     rs   r   z+AsyncQdrantRemote.facet.<locals>.<listcomp>  s#    WWW#j8==WWWrt   )hits)r   r  r   r   r  )r   r   r0   facet_requestz!Facet points returned None result)rF   r`   r    r   r   r   r   r  r  r   r   r   Facetr   FacetCountsrU   r   FacetResponser  r   rg   r   facetFacetRequestr   )rn   r   r  r  r   r  r0   r   r   r4   rZ  facet_results               rs   r  zAsyncQdrantRemote.facet  s       	,66 M)8|LLL,.A&BY.Z.Z[[ _%/%JK]%^%^"+':6;Q'R'RSS O(A+NN!-33 $3'#%0'9	 	 	 $+#6DM 4        H &WWWWW    lDK00 	I%4<HHHL%066 /'$10'  	 7          	 '')L'''rt   r  waitorderingc           	      "  	K   | j         rat          t          j                  rZt	          j        j        t          j                            		fdt          t          j                            D             t          t                    rd D             t          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }| j                            t%          j        ||||          | j                   d {V j        }|
J d            t-          j        |          S t          t                    r"d D             t          j        |          t          t          j                  rt          j        |          | j        j                            |||	           d {V j        }|
J d            |S )
Nc           
          g | ]b}t          j        t          j        j        |                   |         j        t          j        j        |                   nd           cS )N)idvectorspayload)r   PointStructr   r  idspayloadsconvert_payload)r   idxr  vectors_batchs     rs   r   z,AsyncQdrantRemote.upsert.<locals>.<listcomp>  s~     	 	 	  $%?
3PP -c 2!?6 !+ :6?3;O P P P!  	 	 	rt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r    r  r   convert_point_structr  s     rs   r   z,AsyncQdrantRemote.upsert.<locals>.<listcomp>'  sO         "%);<<J3E:::  rt   r   r  r  r  r   r   Upsert returned None resultc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   r  r   r  r  s     rs   r   z,AsyncQdrantRemote.upsert.<locals>.<listcomp>A  sO         "%)9::J3E:::  rt   r  r   )batchr   )r   r  point_insert_operationsr  )rF   r`   r    Batchr   convert_batch_vector_structr  rL   r  ranger   WriteOrderingconvert_write_orderingr   r  r  r   Upsertr   UpsertPointsrU   r   r   convert_update_result
PointsListPointsBatchrg   r   upsert_points)
rn   r   r  r  r  r   r4   grpc_resulthttp_resultr  s
     `      @rs   upsertzAsyncQdrantRemote.upsert  s       <	&&,// 4>4ZNC
OO5 5	 	 	 	 	  %S__55	 	 	 &$''   "(	   (F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"&--%(7!%!)+=   !M . 	 	 	 	 	 	 	 	   **,I***3K@@@&$'' X  "(	    *&DVWWW&&,// X+&DVWWW)4BB$3,2%	 C           **,I***rt   c           	      :  K   | j         rd |D             }t          |t          j                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }| j	        
                    t          j        |||||                     d {V j        }|
J d            t          j        |          S | j        j                            ||t          j
        ||          |           d {V j        S )Nc                 6    g | ]}t          j        |          S rC   )r   convert_point_vectorsr  s     rs   r   z4AsyncQdrantRemote.update_vectors.<locals>.<listcomp>_  s#    RRR%j6u==RRRrt   r  r  r  )r   r  update_vectorsr  )rF   r`   r    r  r   r  r   r  r  r   UpdateVectorsr   UpdatePointVectorsr   r   r   rg   r   r
  )rn   r   r  r  r  r   r4   r  s           rs   r
  z AsyncQdrantRemote.update_vectorsU  sw       	RR6RRRF(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"&44+(7!%!)+=            **,I***3K@@@ )4CC$3#)#7%1C$ $ $ & D         	rt   r  c                   K   | j         r|                     |          \  }}	|p|	}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }| j
                            t          j        ||t          j        |          |||                     d {V j        }
|

J d            t!          j        |
          S |                     |          \  }}| j        j                            |||t-          t          j        ||||                     d {V j        S )N)names)r   r  r  points_selectorr  r   z#Delete vectors returned None result)r   r  r   r   )r   r  r  delete_vectors)rF   _try_argument_to_grpc_selectorr`   r    r  r   r  r   r  r  r   DeleteVectorsr   DeletePointVectorsVectorsSelectorr   r   r   '_try_argument_to_rest_points_and_filterrg   r   r  r   )rn   r   r  r  r  r  r   r4   r  opt_shard_key_selectorr  _points_filters                rs   r  z AsyncQdrantRemote.delete_vectors}  s       $	8<8[8[\b8c8c5_4!3!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"&44+(7! $ 47 C C C(7!)+=  	 	 	 	 	 	 	 	   **,Q***3K@@@!%!M!Mf!U!UWg)4CC$3%#,,&&&"4$ $ $	 D         rt   r  c                   K   | j         r2t          |t          t          j                            rt          j        |          }d |D             }t          j        |          }t          |t          t          j                            rt          j	        |          }t          |t          t          j
                            rt          j        |          }| j                            t          j        |||||||          ||n| j                   d {V j        }	|	
J d            d |	D             S t          |t          j                  rt'          j        |          }d |D             }| j        j                            ||t          j        ||||          |           d {V j        }
|

J d	            |
S )
Nc                     g | ]?}t          |t          t          j                            rt	          j        |          n|@S rC   r`   r   r    r  r   r  r   r  s     rs   r   z.AsyncQdrantRemote.retrieve.<locals>.<listcomp>  sX         c#6v7M#N#NOO
4S999  rt   )r   r  r   r   r   r   r0   r   zRetrieve returned None resultc                 6    g | ]}t          j        |          S rC   r  )r   records     rs   r   z.AsyncQdrantRemote.retrieve.<locals>.<listcomp>  s#    TTT6J6v>>TTTrt   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r  s     rs   r   z.AsyncQdrantRemote.retrieve.<locals>.<listcomp>  sJ        5?sDL4Q4QZ
+C000WZ  rt   )r  r   r   r   )r   r   point_requestr0   z!Retrieve API returned None result)rF   r`   r   r    r   r   r   r  r   r   r  r  r   Getr   	GetPointsrU   r   r  r   r  rg   r   
get_pointsPointRequest)rn   r   r  r   r   r   r   r0   r4   r   r  s              rs   retrievezAsyncQdrantRemote.retrieve  sQ       3	,(;F<W(X(XYY W)HVV  	  C &:<HHL+':6;Q'R'RSS O(A+NN,.A&BY.Z.Z[[ _%/%JK]%^%^"&**N(7%1%1)4+= '   (/GGDM +           %%'F%%%TTVTTTT,(@AA V)GUU   C
 )4??$3 +"("5%1$0"4	# # # $ @ 
 
 
 
 
 
 
 
   **,O***rt   c                    d }t          |t                    r4t          j        t          j        d |D                                 }nt          |t          j                  r|}nt          |t          t          j                            r5|j        t          j	        |j                  }t          j
        |          }nt          |t          j                  r.t          j
        t          t          j        |                    }nOt          |t          j                  rt          j        |          }nt          dt          |                     ||fS )Nc                     g | ]?}t          |t          t          j                            rt	          j        |          n|@S rC   r  r  s     rs   r   zDAsyncQdrantRemote._try_argument_to_grpc_selector.<locals>.<listcomp>  sX          &c+>v?U+V+VWW!
<SAAA   rt   )r  r  )r   "Unsupported points selector type: )r`   r   r   PointsSelectorPointsIdsListr   r    r   r   r  convert_points_selectorr   r   FilterSelectorrM   rb   )clsr  r   r  s       rs   r  z0AsyncQdrantRemote._try_argument_to_grpc_selector  sf    "fd## 	R"1)  $*	    	 	 	OO  344 	R$OO)> ? ?@@ 	R+%/%J6K[%\%\"(@HHOO.. 	R(@&/??? OO ,, 	R"1@@@OOP$v,,PPQQQ!344rt   c                    t          |t                    r*d |D             }t          t          j        ||          }nt          |t
          j                  rt          j        |          }||_	        nt          |t          t          j                            r
|}||_	        nt          |t          j                  rt          t          j        ||          }nht          |t
          j                  r/t          t          j        t          j        |          |          }nt          dt          |                     |S )Nc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r  s     rs   r   zDAsyncQdrantRemote._try_argument_to_rest_selector.<locals>.<listcomp>  J        5?sDL4Q4QZ
+C000WZ  rt   r  )r   r   r(  )r`   r   r   r    PointIdsListr   r)  r   r+  r   r   r   r,  r   rM   rb   )r-  r  r   r  r  s        rs   _try_argument_to_rest_selectorz0AsyncQdrantRemote._try_argument_to_rest_selector  sX    fd## 	R !  G (#G?Q  OO  344 	R(@HHO(:O%%)> ? ?@@ 	R$O(:O%%.. 	R'%f@R  OO ,, 	R'%!088,  OO P$v,,PPQQQrt   r  c                     |                     d          }|g S t          ||          }|dk    rt          |j                  S g S )Npoints_selector_one_ofr  )
WhichOneofgetattrr   r  )r-  r  r   vals       rs   _points_selector_to_points_listz1AsyncQdrantRemote._points_selector_to_points_list-  sO     ))*BCC<Iot,,8== 	rt   c                    d }d }t          |t                    rd |D             }n!t          |t          j                  rXt	          j        |          }t          |t          j                  r|j        }nt          |t          j	                  r|j
        }nt          |t          j                  r|j        }nt          |t          j	                  r|j
        }nkt          |t          j                  r|}nNt          |t          j                  rt	          j        |          }nt          dt          |                     ||fS )Nc                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   rx  r  s     rs   r   zMAsyncQdrantRemote._try_argument_to_rest_points_and_filter.<locals>.<listcomp>@  r0  rt   r(  )r`   r   r   r)  r   r+  r    r1  r  r,  r   r   r   rM   rb   )r-  r  r  r  selectors        rs   r  z9AsyncQdrantRemote._try_argument_to_rest_points_and_filter9  sM    fd## 	R !  GG  344 	R!9&AAH(F$788 *"/Hf&;<< *"/ 344 		RmGG 566 	RmGG.. 	RGG,, 	R /77GGP$v,,PPQQQ!!rt   c                 l  K   | j         r|                     |          \  }}|p|}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }t          j        | j                            t          j        |||||          | j                   d {V j                  S |                     ||          }| j        j                            ||||           d {V j        }|
J d            |S )Nr  r   )r   r  r  r  zDelete points returned None)rF   r  r`   r    r  r   r  r   r  r  r   r   r   Deleter   DeletePointsrU   r   r2  rg   r   delete_points	rn   r   r  r  r  r   r4   r  r   s	            rs   deletezAsyncQdrantRemote.deleteV  s       $	8<8[8[9 95_4 "4!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"3*11),;!%#2%-/A   !% 2 	 	 	 	 	 	 	 	    #AA!3 O )4BB$3$3%	 C           %%'D%%%Mrt   r  c                   K   | j         r|                     |          \  }	}
|p|
}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }t          j        | j                            t          j        ||t          j        |          |	|||          | j                   d {V j                  S |                     |          \  }}| j        j                            |||t          j        |||||                     d {V j        }|
J d            |S )N)r   r  r  r  r  r   r  r   )r  r  r   r   r  r   r  r  set_payloadzSet payload returned None)rF   r  r`   r    r  r   r  r   r  r  r   r   r   
SetPayloadr   SetPayloadPointsr  rU   r   r  rg   r   rD  )rn   r   r  r  r  r  r  r   r4   r  r  r  r  r   s                 rs   rD  zAsyncQdrantRemote.set_payload  s       (	8<8[8[\b8c8c5_4!3!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"3*55-,;!%$.$>w$G$G,;%-/A #   !% 6           " "&!M!Mf!U!UWg)4@@$3% & 1 '&&"4! ! !	 A           %%'B%%%Mrt   c                   K   | j         r|                     |          \  }}	|p|	}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }t          j        | j                            t          j        ||t          j        |          |||          | j                   d {V j                  S |                     |          \  }
}| j        j                            |||t          j        ||
||                     d {V j        }|
J d            |S )N)r   r  r  r  r  r   r   )r  r  r   r   rC  zOverwrite payload returned None)rF   r  r`   r    r  r   r  r   r  r  r   r   r   OverwritePayloadr   rF  r  rU   r   r  rg   r   overwrite_payloadrE  )rn   r   r  r  r  r  r   r4   r  r  r  r  r   s                rs   rI  z#AsyncQdrantRemote.overwrite_payload  s       &	8<8[8[\b8c8c5_4!3!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"3*;;-,;!%$.$>w$G$G,;%-/A   !% < 
 
 
 
 
 
 
 
     "&!M!Mf!U!UWg)4FF$3% & 1 '&&"4	! ! !	 G 
 
 
 
 
 
 
 
   %%'H%%%Mrt   keysc                   K   | j         r|                     |          \  }}	|p|	}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }t          j        | j                            t          j        ||||||          | j                   d {V j                  S |                     |          \  }
}| j        j                            |||t          j        ||
||                     d {V j        }|
J d            |S )N)r   r  rJ  r  r  r   r   )rJ  r  r   r   )r   r  r  delete_payloadzDelete payload returned None)rF   r  r`   r    r  r   r  r   r  r  r   r   r   DeletePayloadr   DeletePayloadPointsrU   r   r  rg   r   rL  )rn   r   rJ  r  r  r  r   r4   r  r  r  r  r   s                rs   rL  z AsyncQdrantRemote.delete_payload  s       #	8<8[8[\b8c8c5_4!3!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"3*880,;!%!%,;%-/A   !% 9 
 
 
 
 
 
 
 
     "&!M!Mf!U!UWg)4CC$3%#)#7!''M_$ $ $	 D           %%'E%%%Mrt   c                 l  K   | j         r|                     |          \  }}|p|}t          |t          j                  rt          j        |          }t          |t          t          j                            rt          j	        |          }t          j        | j                            t          j        |||||          | j                   d {V j                  S |                     ||          }| j        j                            ||||           d {V j        }|
J d            |S )Nr  r   )r   r  r  r  zClear payload returned None)rF   r  r`   r    r  r   r  r   r  r  r   r   r   ClearPayloadr   ClearPayloadPointsrU   r   r2  rg   r   clear_payloadr@  s	            rs   rR  zAsyncQdrantRemote.clear_payload  s       $	8<8[8[9 95_4 "4!M7M(F$899 G%<XFF,.A&BY.Z.Z[[ _%/%JK]%^%^"3*77/,;!%#2%-/A   !% 8 	 	 	 	 	 	 	 	    #AA!3 O )4BB$3%$3	 C           %%'D%%%Mrt   update_operationsc           	        K   | j         rd |D             }t          |t          j                  rt	          j        |          }d | j                            t          j	        ||||          | j
                   d {V j        D             S | j        j                            |||t          j        |                     d {V j        }|
J d            |S )Nc                 6    g | ]}t          j        |          S rC   )r   convert_update_operationr   	operations     rs   r   z9AsyncQdrantRemote.batch_update_points.<locals>.<listcomp>S  s0     ! ! !CL
3I>>! ! !rt   c                 6    g | ]}t          j        |          S rC   )r   r   )r   r   s     rs   r   z9AsyncQdrantRemote.batch_update_points.<locals>.<listcomp>X  s3        088  rt   )r   r  
operationsr  r   )rZ  )r   r  r  rS  z!Batch update points returned None)rF   r`   r    r  r   r  r   UpdateBatchr   UpdateBatchPointsrU   r   rg   r   batch_updateUpdateOperations)rn   r   rS  r  r  r4   r   s          rs   batch_update_pointsz%AsyncQdrantRemote.batch_update_pointsJ  s`       	! !Pa! ! ! (F$899 G%<XFF  *66.,;!%'8%-	   !% 7              )4AA$3%&,&=IZ&[&[&[	 B           %%'J%%%Mrt   change_aliases_operationsc                 ^  K   | j         rLd |D             }| j                            t          j        ||          | j                   d {V j        S d |D             }| j        j        	                    |t          j        |                     d {V j        }|
J d            |S )Nc                 n    g | ]2}t          |t          j                  st          j        |          n|3S rC   )r`   r   AliasOperationsr   convert_alias_operationsrW  s     rs   r   z?AsyncQdrantRemote.update_collection_aliases.<locals>.<listcomp>y  sO     ( ( (  ")T-ABB
3I>>>( ( (rt   )r0   actionsr   c                 n    g | ]2}t          |t          j                  rt          j        |          n|3S rC   )r`   r   rc  r   rd  rW  s     rs   r   z?AsyncQdrantRemote.update_collection_aliases.<locals>.<listcomp>  sO     $
 $
 $
  )T%9::J/	:::$
 $
 $
rt   )re  )r0   change_aliases_operationzUpdate aliases returned None)rF   r   UpdateAliasesr   ChangeAliasesrU   r   r6   collections_apiupdate_aliasesr    ChangeAliasesOperation)rn   r`  r0   r4   rg  r   s         rs   update_collection_aliasesz+AsyncQdrantRemote.update_collection_aliasesr  s1       	( ( ";	( ( ($ +99&w@XYYY M :         $
 $
 7	$
 $
 $
  )+::)/)F4* * * ;          	 !!#A!!!rt   c                 B  K   | j         r^| j                            t          j        |          | j                   d {V j        }t          j        d |D                       S | j	        j
                            |           d {V j        }|
J d            |S )Nr   r   c                 6    g | ]}t          j        |          S rC   r   convert_alias_descriptionr   descriptions     rs   r   z<AsyncQdrantRemote.get_collection_aliases.<locals>.<listcomp>  0       JUJ8EE  rt   aliasesz$Get collection aliases returned None)rF   r   ListCollectionAliasesr   ListCollectionAliasesRequestrU   rw  r   CollectionsAliasesResponser6   rj  get_collection_aliasesr   )rn   r   r4   rZ  r   s        rs   r{  z(AsyncQdrantRemote.get_collection_aliases  s        	+AA5oVVV M B           3 Ya      )+BBSbBcccccccc
 	 !!#I!!!rt   c                 :  K   | j         r\| j                            t          j                    | j                   d {V j        }t          j        d |D                       S | j	        j
                                         d {V j        }|
J d            |S )Nr   c                 6    g | ]}t          j        |          S rC   rq  rs  s     rs   r   z1AsyncQdrantRemote.get_aliases.<locals>.<listcomp>  ru  rt   rv  zGet aliases returned None)rF   r   ListAliasesr   ListAliasesRequestrU   rw  r   rz  r6   rj  get_collections_aliasesr   rn   r4   rZ  r   s       rs   get_aliaseszAsyncQdrantRemote.get_aliases  s       
	+77+--t} 8         	 
 3 Ya      )+CCEEEEEEEE
 	 !!#>!!!rt   c                 :  K   | j         r\| j                            t          j                    | j                   d {V j        }t          j        d |D                       S | j	        j
                                         d {V j        }|
J d            |S )Nr   c                 6    g | ]}t          j        |          S rC   )r   convert_collection_descriptionrs  s     rs   r   z5AsyncQdrantRemote.get_collections.<locals>.<listcomp>  s3       # =kJJ  rt   )collectionszGet collections returned None)rF   r   r	   r   ListCollectionsRequestrU   r  r   CollectionsResponser6   rj  get_collectionsr   r  s       rs   r  z!AsyncQdrantRemote.get_collections  s       	+00/114= 1         	 
 , '/      )+;;========
 	 !!#B!!!rt   c                 (  K   | j         rQt          j        | j                            t          j        |          | j                   d {V j                  S | j	        j
                            |           d {V j        }|
J d            |S )Nro  r   zGet collection returned None)rF   r   convert_collection_infor   r!  r   GetCollectionInfoRequestrU   r   r6   rj  get_collectionrn   r   r4   r   s       rs   r  z AsyncQdrantRemote.get_collection  s       	5/335oVVV $ 4            )+::?:[[[[[[[[
 	 !!#A!!!rt   c                   K   | j         rD| j                            t          j        |          | j                   d {V j        j        S | j        j	        
                    |           d {V j        }|
J d            |j        S )Nro  r   zCollection exists returned None)rF   r   CollectionExistsr   CollectionExistsRequestrU   r   existsr6   rj  collection_existsr  s       rs   r  z#AsyncQdrantRemote.collection_exists  s       	+<<0QQQ M =         V )+==o=^^^^^^^^
 	 !!#D!!!}rt   optimizers_configcollection_paramsvectors_confighnsw_configquantization_configsparse_vectors_configc	                 @  K   | j         r\t          |t          j                  rt	          j        |          }t          |t          j                  rt	          j        |          }t          |t                    rt	          j	        |          }t          |t          j
                  rt	          j        |          }t          |t          t          j                            rt	          j        |          }t          |t                    rt	          j        |          }| j                            t%          j        |||||||          | j                   d {V j        S t          |t$          j                  rt-          j        |          }t          |t$          j                  rt-          j        |          }t          |t$          j                  rt-          j	        |          }t          |t$          j
                  rt-          j        |          }t          |t$          j                  rt-          j        |          }| j        j                            |t          j        ||||||          |           d {V j        }
|

J d            |
S )N)r   r  r   r  r  r  r  r   )r  r   r  r  r  sparse_vectors)update_collectionr0   zUpdate collection returned None)rF   r`   r    OptimizersConfigDiffr   convert_optimizers_config_diffCollectionParamsDiffconvert_collection_params_diffdictconvert_vectors_config_diffHnswConfigDiffconvert_hnsw_config_diffr   QuantizationConfigDiff convert_quantization_config_diffconvert_sparse_vector_configr   Updater   UpdateCollectionrU   r   r   VectorsConfigDiffr6   rj  r  )rn   r   r  r  r  r  r  r0   r  r4   r   s              rs   r  z#AsyncQdrantRemote.update_collection  s       	+V-HII a$.$MN_$`$`!+V-HII a$.$MN_$`$`!.$// X!+!G!W!W+v'<== O(A+NN-x8U/V/VWW &0&Q'' '# /66 (2(O)) )% +22)(7*;0'5$/,?.C   !M 3          ')BCC 	] * IJ[ \ \')BCC 	] * IJ[ \ \nd&<== 	T'CNSSNk4#677 	K$=kJJK)4+FGG 	c","MNa"b"b)+=="("9&7,* +(;#8# # #   >          	 !!#D!!!rt   c                   K   | j         r?| j                            t          j        |          | j                   d {V j        S | j        j        	                    ||           d {V j        }|
J d            |S )Nro  r   zDelete collection returned None)
rF   r   r=  r   DeleteCollectionrU   r   r6   rj  delete_collection)rn   r   r0   r4   r   s        rs   r  z#AsyncQdrantRemote.delete_collection4	  s        	+22)/JJJTXTa 3         	 )+==oW^=________
 	 !!#D!!!rt   shard_numberreplication_factorwrite_consistency_factoron_disk_payload
wal_config	init_fromsharding_methodc                 F  K   |t          j        d           | j        rt          |t          j        t          f          rt          j        |          }t          |t          j	                  rt          j
        |          }t          |t          j                  rt          j        |          }t          |	t          j                  rt          j        |	          }	t          |
t          t          j                            rt          j        |
          }
t          |t          j                  rt          j        |          }t          |t                    rt          j        |          }t          |t          j                  rt          j        |          }t/          j        |||	|||||||||
||          }| j                            |           d {V j        S t          |t.          j	                  rt9          j
        |          }t          |t.          j                  rt9          j        |          }t          |	t.          j                  rt9          j        |	          }	t          |
t.          j                  rt9          j        |
          }
t          |t:                    rt9          j        |          }t	          j        ||||||||	|
|||          }| j        j                             |||           d {V j        }|
J d            |S )Nzinit_from is deprecated)r   r  r  r  r  r  r0   r  r  r  init_from_collectionr  r  r  )r  r  r  r  r  r  r  r  r  r  r  r  )r   create_collectionr0   zCreate collection returned None)!r   r   rF   r`   r    VectorParamsr  r   convert_vectors_configr  r  r  r  WalConfigDiffconvert_wal_config_diffr   QuantizationConfigconvert_quantization_configInitFromconvert_init_fromr  ShardingMethodconvert_sharding_methodr   CreateCollectionr   Creater   r   rA  r6   rj  r  )rn   r   r  r  r  r  r  r  r  r  r  r  r0   r  r  r4   r  create_collection_requestr   s                      rs   r  z#AsyncQdrantRemote.create_collectionC	  sL     $  O5666 #	R.6+>*EFF S!+!B>!R!R+v'<== O(A+NN+V-HII a$.$MN_$`$`!*f&:;; L'?
KK
-x8Q/R/RSS b&0&LM`&a&a#)V_55 D&8CC	/66 (2(O)) )% /6+@AA V","D_"U"U $ 5 /'%"3) /-#5)A%.$7&; /! ! !  /667HIIIIIIIIQQk4#677 	K$=kJJK')BCC 	] * IJ[ \ \j$"455 	H#;JGGJ)4+BCC 	^","HI\"]"]i%% 	@"4Y??I$*$;"%1%=+#/! 30+%
 %
 %
! )+== /"; >        
  	 !!#D!!!rt   c                    K   |                      ||           d {V  |                     |||||||||	|
||||           d {V S )Nr   )r   r  r  r  r  r  r  r  r  r  r  r0   r  r  )r  r  )rn   r   r  r  r  r  r  r  r  r  r  r  r0   r  r  r4   s                   rs   recreate_collectionz%AsyncQdrantRemote.recreate_collection	  s      $ $$_g$FFFFFFFFF+++)%1%=+#/! 3"7+ , 
 
 
 
 
 
 
 
 	
rt   c                 ,    | j         rt          S t          S rw   )rF   r"   r#   rx   s    rs   _updater_classz AsyncQdrantRemote._updater_class	  s     	%$$$$rt   batches_iteratormax_retriesparallelmethodc           	         |4|t                      v r|}n5t          d| dt                                 dt                      v rdnd}| j        r || j        | j        || j        | j        ||d}	n|| j        |||d| j        }	|dk    r, | j	        j
        d	i |	}
|
                    |          D ]}d S t          || j	        |          } |j        |fi |	D ]}d S )
NzStart methods z& is not available, available methods: 
forkserverspawn)r   r1   r*   r  r   r>   r  r   )r   urir  r  r   r   )start_methodrC   )r   rM   rF   rO   rG   rI   r[   re   rf   r  startprocessr!   unordered_map)rn   r  r   r  r  r  r  r   r  updater_kwargsupdater_pools                rs   _upload_collectionz$AsyncQdrantRemote._upload_collection	  sl    .0000% lVllShSjSjll   ,8;P;R;R+R+R<<X_L 	#2
*{ .&8	 	NN $3}*&8  /N q==/d)/AA.AAG__%566    &h0CR^___D'T'(8KKNKK   rt   @   records
batch_sizec	           	      v    | j                             ||          }
|                     |
||||||           d S )Nr  r  )r  r   r  r  r  r   r  r  iterate_records_batchesr  )rn   r   r  r  r  r  r  r  r   r4   r  s              rs   upload_recordsz AsyncQdrantRemote.upload_records	  sf      .FF
 G 
 
 	-+#1 	  	
 	
 	
 	
 	
rt   c	           	      v    | j                             ||          }
|                     |
||||||           d S )Nr  r  r   r  r  r  r  r   r  )rn   r   r  r  r  r  r  r  r   r4   r  s              rs   upload_pointszAsyncQdrantRemote.upload_points
  sf      .FFz G 
 
 	-+#1 	  	
 	
 	
 	
 	
rt   c           	      z    | j                             ||||          }|                     ||||||	|
           d S )N)r  r  r  r  r  )r  iterate_batchesr  )rn   r   r  r  r  r  r  r  r  r  r   r4   r  s                rs   upload_collectionz#AsyncQdrantRemote.upload_collection*
  si       .>>W#* ? 
 
 	-+#1 	  	
 	
 	
 	
 	
rt   
field_namefield_schema
field_typec                   K   |t          j        dt                     |}| j        rzd }t	          |t
          j                  rt          j        |          }t	          |t                    rt          |          }t	          |t          t
          j                            rt          j        |          }t	          |t          j                  r|}|                    d          }	t#          ||	          }
t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j        }t	          |
t          j                  rt          j        j         }t	          |
t          j!                  rt          j        j"        }t          j#        ||||||          }tI          j%        | j&        '                    |           d {V j(                  S t	          |t                    rtI          j        |          }t	          |t          j                  rtI          j        |          }| j)        j*        +                    |t          j'        ||          ||           d {V j(        }|
J d            |S )Nz2field_type is deprecated, use field_schema insteadindex_params)r   r  r  field_index_paramsr  r  )r  r  )r   create_field_indexr  r  z Create field index returned None),r]   r^   DeprecationWarningrF   r`   r    PayloadSchemaTyper   convert_payload_schema_typeintr   r   PayloadSchemaParamsconvert_payload_schema_paramsr   PayloadIndexParamsr5  r6  TextIndexParams	FieldTypeFieldTypeTextIntegerIndexParamsFieldTypeIntegerKeywordIndexParamsFieldTypeKeywordFloatIndexParamsFieldTypeFloatGeoIndexParamsFieldTypeGeoBoolIndexParamsFieldTypeBoolDatetimeIndexParamsFieldTypeDatetimeUuidIndexParamsFieldTypeUuidCreateFieldIndexCollectionr   r   r   CreateFieldIndexr   rg   rj  r  )rn   r   r  r  r  r  r  r4   r  r   r  requestr   s                rs   create_payload_indexz&AsyncQdrantRemote.create_payload_indexG
  s&      !MNPbccc%L &	!%,(@AA T)ElSS,,, O@NN,1K(L(LMM V)GUU,(?@@ @%1")44^DD&'94@@lD,@AA @#'>#?LlD,CDD C#'>#BLlD,CDD C#'>#BLlD,ABB A#'>#@LlD,?@@ ?#'>#>LlD,@AA @#'>#?LlD,DEE D#'>#CLlD,@AA @#'>#?L5 /%'#5!  G 3'88AAAAAAAAI   lC(( 	P%A,OOLlD$;<< 	R%CLQQL%5HH /#)#:)$ $ $ ! I          	 !!#E!!!rt   c                 *  K   | j         rOt          j        ||||          }t          j        | j                            |           d {V j                  S | j        j	        
                    ||||           d {V j        }|
J d            |S )N)r   r  r  r  z Delete field index returned None)rF   r   DeleteFieldIndexCollectionr   r   r   DeleteFieldIndexr   rg   rj  delete_field_index)rn   r   r  r  r  r4   r	  r   s           rs   delete_payload_indexz&AsyncQdrantRemote.delete_payload_index
  s        		5 /%!	  G 3'88AAAAAAAAI   %5HH /%!	 I          	 !!#E!!!rt   c                   K   | j         rD| j                            t          j        |                     d {V j        }d |D             S | j        j                            |           d {V j	        }|
J d            |S )Nro  c                 6    g | ]}t          j        |          S rC   r   convert_snapshot_descriptionr   snapshots     rs   r   z4AsyncQdrantRemote.list_snapshots.<locals>.<listcomp>
  #    ```(J;HEE```rt   'List snapshots API returned None result)
rF   r   r	   r   ListSnapshotsRequestsnapshot_descriptionsrg   rj  list_snapshotsr   )rn   r   r4   	snapshotss       rs   r  z AsyncQdrantRemote.list_snapshots
  s        	a)..-oNNN        $	 
 a`V_````%5DD / E         	 	
 $$&O$$$rt   c                   K   | j         rL| j                            t          j        |                     d {V j        }t          j        |          S | j        j	        
                    ||           d {V j        S )Nro  )r   r  )rF   r   r  r   CreateSnapshotRequestsnapshot_descriptionr   r  rg   rj  create_snapshotr   )rn   r   r  r4   r  s        rs   r  z!AsyncQdrantRemote.create_snapshot
  s        	E)00.OOO        #	 
 :8DDD%5EE /d F         		rt   snapshot_namec                    K   | j         r6| j                            t          j        ||                     d {V  dS | j        j                            |||           d {V j        S )N)r   r   T)r   r   r  )	rF   r   r=  r   DeleteSnapshotRequestrg   rj  delete_snapshotr   )rn   r   r   r  r4   s        rs   r#  z!AsyncQdrantRemote.delete_snapshot
  s        	%,,*$3=          
 4%5EE /}SW F         		rt   c                   K   | j         rB| j                            t          j                               d {V j        }d |D             S | j        j                                         d {V j	        }|
J d            |S )Nc                 6    g | ]}t          j        |          S rC   r  r  s     rs   r   z9AsyncQdrantRemote.list_full_snapshots.<locals>.<listcomp>
  r  rt   z,List full snapshots API returned None result)
rF   r   ListFullr   ListFullSnapshotsRequestr  rg   snapshots_apilist_full_snapshotsr   )rn   r4   r  s      rs   r)  z%AsyncQdrantRemote.list_full_snapshots
  s       	a)2243P3R3RSSSSSSSS#  a`V_````.<PPRRRRRRRRZ	$$&T$$$rt   c                    K   | j         rJ| j                            t          j                               d {V j        }t          j        |          S | j        j	        
                    |           d {V j        S )N)r  )rF   r   
CreateFullr   CreateFullSnapshotRequestr  r   r  rg   r(  create_full_snapshotr   )rn   r  r4   r  s       rs   r-  z&AsyncQdrantRemote.create_full_snapshot
  s        	Q)44T5S5U5UVVVVVVVV" ! :;OPPP)7LLRVLWWWWWWWW__rt   c                    K   | j         r5| j                            t          j        |                     d {V  dS | j        j                            ||           d {V j        S )N)r   T)r   r  )	rF   r   
DeleteFullr   DeleteFullSnapshotRequestrg   r(  delete_full_snapshotr   )rn   r   r  r4   s       rs   r1  z&AsyncQdrantRemote.delete_full_snapshot
  s        	%00.]KKK         4%3HH+$ I         		rt   locationchecksumpriorityc           
         K   | j         j                            ||t          j        ||||                     d {V j        S )Nr2  r4  r3  r.   )r   r  snapshot_recover)rg   r(  recover_from_snapshotr    SnapshotRecoverr   )rn   r   r2  r.   r3  r4  r  r4   s           rs   recover_snapshotz"AsyncQdrantRemote.recover_snapshot
  st       %3II /!'!7%8U\" " " J         	rt   shard_idc                 z   K   | j         j                            ||           d {V j        }|
J d            |S )N)r   r;  r  )rg   r(  list_shard_snapshotsr   )rn   r   r;  r4   r  s        rs   r=  z&AsyncQdrantRemote.list_shard_snapshots  sq       %3HH /( I         	 	
 $$&O$$$rt   c                 `   K   | j         j                            |||           d {V j        S )N)r   r;  r  )rg   r(  create_shard_snapshotr   )rn   r   r;  r  r4   s        rs   r?  z'AsyncQdrantRemote.create_shard_snapshot  sV       %3II /( J         		rt   c                 b   K   | j         j                            ||||           d {V j        S )N)r   r;  r   r  )rg   r(  delete_shard_snapshotr   )rn   r   r;  r   r  r4   s         rs   rA  z'AsyncQdrantRemote.delete_shard_snapshot%  s[       %3II /!+	 J         	rt   c                    K   | j         j                            |||t          j        ||||                     d {V j        S )Nr6  )r   r;  r  shard_snapshot_recover)rg   r(  recover_shard_from_snapshotr    ShardSnapshotRecoverr   )	rn   r   r;  r2  r.   r3  r4  r  r4   s	            rs   recover_shard_snapshotz(AsyncQdrantRemote.recover_shard_snapshot6  sw       %3OO /!'-'B%8U\( ( (	 P         		rt   reasonc                    K   | j         j                            t          j        |d                     d {V j        }|
J d            |S )NT)error_messagewritezLock storage returned Nonerg   service_api
post_locksr    LocksOptionr   )rn   rG  r4   r   s       rs   lock_storagezAsyncQdrantRemote.lock_storageL  sv      %1<<"tDDD        	 	
 !!#?!!!rt   c                    K   | j         j                            t          j        d                     d {V j        }|
J d            |S )NF)rJ  zPost locks returned NonerK  rn   r4   r   s      rs   unlock_storagez AsyncQdrantRemote.unlock_storageU  sb      %1<<V=OV[=\=\=\]]]]]]]]
 	 !!#=!!!rt   c                 t   K   | j         j                                         d {V j        }|
J d            |S )NzGet locks returned None)rg   rL  	get_locksr   rQ  s      rs   rT  zAsyncQdrantRemote.get_locks\  sQ      %1;;========
 	 !!#<!!!rt   r   shards_number	placementc                   K   | j         rt          |t          t          j                            rt          j        |          }| j                            t          j
        ||t          j        ||||pg                     | j                   d {V j        S | j        j                            ||t          j        ||||                     d {V j        }|
J d            |S )N)r   rU  r  rV  r   r0   r	  r   )r   r0   create_sharding_keyzCreate shard key returned None)rF   r`   r   r    ShardKeyr   convert_shard_keyr   CreateShardKeyr   CreateShardKeyRequestrU   r   rg   cluster_apicreate_shard_keyCreateShardingKey)	rn   r   r   rU  r  rV  r0   r4   r   s	            rs   r_  z"AsyncQdrantRemote.create_shard_keyc  sW        	)%8%I%IJJ D&8CC	+::.(7 ' $ 3&/*7/A&/o2	! ! !	 	 	 !M ;         " )5FF$3#(.(@"+&3+="+	) ) ) G 	 	 	 	 	 	 	 	   %%'G%%%Mrt   c           	        K   | j         rt          |t          t          j                            rt          j        |          }| j                            t          j
        ||t          j        |                    | j                   d {V j        S | j        j                            ||t          j        |                     d {V j        }|
J d            |S )N)r   rX  r   )r   r0   drop_sharding_keyzDelete shard key returned None)rF   r`   r   r    rZ  r   r[  r   DeleteShardKeyr   DeleteShardKeyRequestrU   r   rg   r^  delete_shard_keyDropShardingKey)rn   r   r   r0   r4   r   s         rs   re  z"AsyncQdrantRemote.delete_shard_key  s3       	)%8%I%IJJ D&8CC	+::.(7 ' $ 3i H H H  
 !M ;         	 )5FF$3#&,&<y&Q&Q&Q G        
   %%'G%%%Mrt   c                   K   | j         rE| j                            t          j                               d {V }t          j        |          S | j        j        	                                 d {V }|
J d            |S )NzHealthcheck returned None)
rF   r   HealthCheckr   HealthCheckRequestr   convert_health_check_replyr   rL  root)rn   version_infos     rs   infozAsyncQdrantRemote.info  s       	G!%!;!;D<S<U<U!V!VVVVVVVL8FFF!Y27799999999'')D'''rt   )Nr'   r(   FNNNNNNNrw   )ru   N)NN)NNr   NTFNTNNN)NNNNNr   NTFNNNNN)NNNNNr   r5  TFNNNNNN)NNr   r   TFNNNNN)Nr5  r   NNNN)NNNNr   r   TFNNNNNNN)NNNNr   r   NTFNNNNNNN)NNNNr   r   TFNNNNN)	Nr   NNTFNNN)NTNN)Nr   FNNN)TNN)TFNNN)TN)NNNNNNN)NNNNNNNNNNNN)r   NFN)r  r   Nr5  FN)NNr  r   Nr5  FN)NNTN)T)NNNT)NNNN)__name__
__module____qualname__r   rA  r  boolr   r   r   r   r   rE   propertyry   floatr~   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   r   r   r	   ScoredPointr   r   r   
NumpyArrayr   r   PayloadSelectorr  r
  r  r  r!  r$  r&  r%  r3  ry  SparseVectorDocumentWithLookupInterfaceGroupsResultrF  r    rM  SearchMatrixPairsResponserW  SearchMatrixOffsetsResponser_  rb  ro  r  r  r  r  r  r  r  r  r  r  Recordr  CountResultr  r  r  Pointsr  UpdateResultr  PointVectorsr
  r)  r  r%  classmethodr  r2  r8  r  r  rA  PayloadrD  rI  rL  rR  UpdateOperationr_  rc  rm  rz  r{  r  r  r  CollectionInfor  r  r  r  r  r  r  r
   SparseVectorParamsr  r  r  r  r  r  r  r  r  r   r$   r  r   r  r  r  r  VectorStructr  r  r
  r  SnapshotDescriptionr  r  r#  r)  r-  r1  SnapshotPriorityr:  r=  r?  rA  rF  rN  rO  rR  rT  rZ  r_  re  VersionInform  __classcell__)rr   s   @rs   r&   r&   6   sl(        ""! $!% $!%"15 _# _#c]_# sm_# 	_#
 _# ~_# #_# _# #_# sm_# tCH~._# &(2s7#Xb)C..@%AAB
_# _# _# _# _# _# _#B     X huo  PT    $ , ,hsmS(3-RU&V W , , , \,   G G G GQ Q Q QM M M ME E E E -$"6 - - - X- (T_ ( ( ( X( + 2 + + + X+ &4? & & & X& #i/ # # # X# #i/ # # # X# 8<!%+ ++ 5./+ e34	+
 #+ + 
d5$%	&+ + + +n 046: $JN38+/#7;?C!%)h hh UO#tE{"##	
h u|,h   23h h h D(3-1FFGh D(3-/0h  "%!h" #h$ e34%h& %U%;<'h( #)h* +h, 
e	 -h h h hZ (,#FJ/36: $JN38+/6:7;?C!%!k kk $k }	k
 U^(<dBCk u|,k   23k k k D(3-1FFGk D(3-/0k "%k e23k e34k %U%;<k  #!k" #k$ 
	%k k k kb 8<!%. .. 5-.. e34	.
 #. . 
e!	". . . .z #FJ/36:JN38+/;?6:7;?C!%7@' @'@' @' MKeKN	
	@' }@' U^(<dBC@'  u|,!@'"   23#@'$ %@'& '@'( D(3-1FFG)@'* D(3-/0+@', "%-@'. e78/@'0 e231@'2 e343@'4 %U%;<5@'6 #7@'8 9@': 
	;@' @' @' @'Z 157;KO38+/;?7;?C!%+s ss UO#tE{"##	
s s v}-s   34s s s D(3-1GGHs  D(3-/0!s" "%#s$ e78%s& e34's( %U%;<)s* #+s, -s. 
	/s s s sp 04#7;?C!%2$ 2$2$ u|,2$ 	2$
 2$ }2$ e342$ %U%;<2$ #2$ 2$ 
	(2$ 2$ 2$ 2$n 04#7;?C!%2$ 2$2$ u|,2$ 	2$
 2$ }2$ e342$ %U%;<2$ #2$ 2$ 
	*2$ 2$ 2$ 2$p 8<!%+ ++ 512+ e34	+
 #+ + 
d5$%	&+ + + +` @D?C/36:FJ/4+/#6:6:7;?C!%#q qq 8E$:;<q 8E$:;<	q
 u|,q   23q q q D$s)U-BBCq D$s)O,q "%q }q e23q 523q e34q  %U%;<!q" ##q$ %q& 
e	 'q q q qn KOJN047;+/KO38#7;;?6:7;?C!%'   8E%-e*D$EFG	
 8E%-e*D$EFG v}-   34   "% D(3-1GGH D(3-/0 } f34 e78  523!" e34#$ %U%;<%& #'( )* 
	+   H 04@D/36:FJ/4#6:7;?C!%l ll +,l (5#;<=	l
 u|,l   23l l l D$s)U-BBCl D$s)O,l }l e23l e34l %U%;<l #l  !l" 
e	 #l l l ld 8<!%( (( 501( e34	(
 #( ( 
d5$%	&( ( ( (Z 15,0*.JN387;?C!%LJ LJLJ  -LJ 	LJ
 5=)LJ 'LJ D(3-1FFGLJ D(3-/0LJ e34LJ %U%;<LJ #LJ LJ 
tEL!8EM#::	;LJ LJ LJ LJb 04?C!%' '' u|,' 	'
 %U%;<' #' ' 
	' ' ' 'Z 04!%7;?C4 44 4 u|,	4
 4 4 #4 e344 %U%;<4 4 
	4 4 4 4t 26?CE EE E 	E
 5./E %U%;<E E 
	E E E EV 26?C& && +,& 	&
 5./& %U%;<& & 
	& & & &Z 26?C. .. #. $	.
 . 5./. %U%;<. . 
	. . . .h KO387;?C!%> >> em$> D(3-1FFG	>
 D(3-/0> e34> %U%;<> #> > 
el	> > > >@ 5)5	t"HT-B$CC	D5 5 5 [5> )?GH^?_		   [> 	"1		dl		 	 	 [	 ")"	xV345x7NN	O" " " ["@ 26?C- -- -- 	-
 5./- %U%;<- - 
	- - - -h "26?C3 33 3 $	3
 c]3 3 5./3 %U%;<3 3 
	3 3 3 3t 26?C0 00 0 $	0
 0 5./0 %U%;<0 0 
	0 0 0 0n 26?C- -- sm- $	-
 - 5./- %U%;<- - 
	- - - -f 26?C- -- -- 	-
 5./- %U%;<- - 
	- - - -f 26& && $E$9:& 	&
 5./& & 
e 	!& & & &V "&" "#+E,A#B" #" 	"
 
" " " "H".1		)   *# %2R    $c e6O    &C 3 5K_     s c d    " CGBF<@6:FJ!%RVD DD $E$>?D $E$>?	D
 !!89D e23D &e&BCD #D  (U5M0M(NOD D 
D D D DN >B "-5c]MP	   & '+,026*.6:BF48BF.2!%RV:>X XX e0'#u?Q:Q2RRSX sm	X
 %SMX #+3-X "$X e23X $E$>?X U01X &e&>?X EN+X #X  (U5M0M(NOX "%"67X  !X" 
#X X X X| '+,026*.6:BF48BF.2!%RV:>"
 "
"
 e0'#u?Q:Q2RRS"
 sm	"

 %SM"
 #+3-"
 "$"
 e23"
 $E$>?"
 U01"
 &e&>?"
 EN+"
 #"
  (U5M0M(NO"
 "%"67"
  !"
" 
#"
 "
 "
 "
H %\ 2 % % % X%  $?C. .". . 	.
 . . . %U%;<. 
. . . .h  $?C
 

 %,'
 	

 
 
 
 
 %U%;<
 
 

 
 
 
:  $?C
 

 *+
 	

 
 
 
 
 %U%;<
 
 

 
 
 
> 7;15 $?C
 

 e&&')98EDV;WW

 (4S>23
 hu}-.
 
 
 
 
 
 %U%;<
 
 

 
 
 
B ;?8<26C CC C u67	C
 U45C C 5./C C 
	C C C CR 26   	
 5./  
	   :".1	e'	(   & 26 "*.AD	%+	,   " FJ "36>BUX	$    # $u?X:Y      ` ``+.`		"` ` ` ` 04  (,?B	$   $ "&"&59   #	
 3- 512   
$   (	"	.1	=@		e'	(	 	 	 	 AE ".19=PS	%+	,       	
   
$   , "&"&59   	
 # 3- 512   
$   ,  @Q    S U5F     0A     (,,0)-!%* ** >*  }	*
 %SM* DI&* #* * 
* * * *` "&	  > #	
  
   >E-        rt   r&   );r   rS   r]   multiprocessingr   typingr   r   r   r   r   r	   r
   r   r   r   r   r   r   rY   numpyr   r   r   urllib3.utilr   r   qdrant_clientqdrant_client._pydantic_compatr   qdrant_client.authr   qdrant_client.async_client_baser   qdrant_client.connectionr   r   qdrant_client.conversionsr   r   &qdrant_client.conversions.common_typesr   $qdrant_client.conversions.conversionr   r   r   qdrant_client.httpr   r   r     qdrant_client.parallel_processorr!   $qdrant_client.uploader.grpc_uploaderr"   $qdrant_client.uploader.rest_uploaderr#   qdrant_client.uploader.uploaderr$   r&   rC   rt   rs   <module>r     sb      1 1 1 1 1 1                                         ' ' ' ' ' ' ' ' & & & & & & 4 4 4 4 4 4 ) ) ) ) ) ) ; ; ; ; ; ; E E E E E E ; ; ; ; ; ; F F F F F F         
 A @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? B B B B B B B B B B B B 8 8 8 8 8 8~- ~- ~- ~- ~- ~- ~- ~- ~- ~-rt   