
    Ig                    R   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:y)    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            )       f'    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j4                  fd       Zedej8                  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'jP                     d!ee'jR                     d	ee   dede*e*e'jV                        fd"Z,	 	 	 	 	 	 	 	 	 	 	 dded#e	e&e   eee*e   f   e'jZ                  e'j\                  e'j^                  f   d$ee'j`                     d%ee'jb                     d&ed'ee   d(e	ee&e   e'jd                  f   d)e	ee&e   f   d*ee   d+ed!ee'jR                     d,ee'jf                     d	ee   dede*e'jV                     fd-Z4	 	 	 	 	 	 	 	 	 	 	 	 	 	 dded.ee'jj                     d/ee   d0e	e'jl                  e*e'jl                     df   d$ee'j`                     d%ee'jb                     d&ed'ee   d(e	ee&e   e'jd                  f   d)e	ee&e   f   d*ee   d1ee'jn                     d!ee'jR                     d,ee'jf                     d	ee   dede'jp                  f"d2Z9	 	 dded e&e'jt                     d!ee'jR                     d	ee   dede*e'jp                     fd3Z;	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dded4ed.e	e'jx                  e*e   e*e*e      e'jz                  e'jj                  e'j^                  e'j|                  df   d/ee   d0e	e'jl                  e*e'jl                     df   d$ee'j`                     d%ee'jb                     d&ed5ed(e	ee&e   e'jd                  f   d)e	ee&e   f   d*ee   d6ee'j~                     d1ee'jn                     d!ee'jR                     d,ee'jf                     d	ee   dede'j                  f&d7ZA	 	 	 	 	 	 	 	 	 	 	 dded#e	e&e   eee*e   f   e'jZ                  e'j\                  e'j^                  f   d4ed$eeBj`                     d%eeBjb                     d&ed5ed(e	ee&e   eBjd                  f   d)e	ee&e   f   d*ee   d6ee'j~                     d!ee'jR                     d,ee'jf                     d	ee   dede'j                  f d8ZC	 	 	 	 	 	 	 dded$ee'j`                     d&ed9ed/ee   d!ee'jR                     d,ee'jf                     d	ee   dede'j                  fd:ZE	 	 	 	 	 	 	 dded$ee'j`                     d&ed9ed/ee   d!ee'jR                     d,ee'jf                     d	ee   dede'j                  fd;ZG	 	 dded e&e'j                     d!ee'jR                     d	ee   dede*e*e'jV                        fd<ZI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dded=ee&e'j                        d>ee&e'j                        d$ee'j`                     d%ee'jb                     d&ed'ed(e	ee*e   e'jd                  f   d)e	ee*e   f   d*ee   d/ee   d1ee'jn                     d?ee'j                     d!ee'jR                     d,ee'jf                     d	ee   dede*e'jV                     f$d@ZL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dded4ed=ee&e	e'jx                  e*e   f         d>ee&e	e'jx                  e*e   f         d$eeBj`                     d%eeBjb                     d&ed5ed*ee   d(e	ee&e   eBjd                  f   d)e	ee&e   f   d/ee   d1eeBjn                     d6ee'j~                     d?ee'j                     d!ee'jR                     d,ee'jf                     d	ee   dede'j                  f(dAZM	 	 	 	 	 	 	 	 	 	 	 	 	 ddedBee'j                     dCee&e'j                        d$ee'j`                     d%ee'jb                     d&ed'ed(e	ee*e   e'jd                  f   d)e	ee*e   f   d/ee   d1ee'jn                     d!ee'jR                     d,ee'jf                     d	ee   dede*e'jV                     f dDZP	 	 dded e&e'j                     d!ee'jR                     d	ee   dede*e*e'jV                        fdEZR	 	 	 	 	 	 	 	 	 ddedFee'j`                     d&edGee'j                     d'ee'jx                     d(e	ee&e   e'jd                  f   d)e	ee&e   f   d!ee'jR                     d,ee'jf                     d	ee   dedee*e'j                     ee'jx                     f   fdHZU	 	 	 	 ddedIee'j`                     dJed,ee'jf                     d	ee   dede'j                  fdKZW	 	 	 	 	 	 ddedLedMee'j`                     d&edJed	ee   d!ee'jR                     d,ee'jf                     dede'j                  fdNZY	 	 	 ddedOe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fdRZ]	 	 	 ddedOe&e'j                     dPedQee'j                     d,ee'jf                     dede'j                  fdSZ_	 	 	 ddedTe&e   dOe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fdUZa	 	 	 	 	 ddedVe&e'jx                     d(e	ee&e   e'jd                  f   d)e	ee&e   f   d!ee'jR                     d,ee'jf                     d	ee   dede*e'j                     fdWZbecdOe'j                  deej                  eejf                     f   fdX       ZdecdOe'j                  d,ee'jf                     deBj                  fdY       ZeecdZej                  de*ejx                     fd[       ZfecdOe'j                  deee*eBj                        eeBj`                     f   fd\       Zh	 	 	 ddedZe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fd]Zi	 	 	 	 dded^e'j                  dOe'j                  dLee   dPedQee'j                     d,ee'jf                     dede'j                  fd_Zk	 	 	 dded^e'j                  dOe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fd`Zl	 	 	 ddedae&e   dOe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fdbZm	 	 	 ddedZe'j                  dPedQee'j                     d,ee'jf                     dede'j                  fdcZn	 	 ddedde&e'j                     dPedQee'j                     dede*e'j                     fdeZp	 ddfe&e'j                     d	ee   dedefdgZrdedede'j                  fdhZtdede'j                  fdiZudede'j                  fdjZwdedede'j                  fdkZydededefdlZz	 	 	 	 	 	 	 ddedmee'j                     dnee'j                     doee'j                     dpee'j                     dqee'j                     d	ee   dreeee'j                  f      dedefdsZ	 dded	ee   dedefdtZ	 	 	 	 	 	 	 	 	 	 	 	 ddedoe	e'j                  eee'j                  f   f   duee   dvee   dwee   dxee   dpee'j                     dmee'j                     dyee'j
                     dqee'j                     dzee'j                     d	ee   dreeee'j                  f      d{ee'j                     dedef d|Z	 	 	 	 	 	 	 	 	 	 	 	 ddedoe	e'j                  eee'j                  f   f   duee   dvee   dwee   dxee   dpee'j                     dmee'j                     dyee'j
                     dqee'j                     dzee'j                     d	ee   dreeee'j                  f      d{ee'j                     dedef d}Zedee   fd~       Z	 	 	 	 ddededededee   dPed,ee'jf                     ddfdZ	 	 	 	 	 	 ddedee'j                     dededee   dedPed,ee'jf                     deddfdZ	 	 	 	 	 	 ddedOee'j"                     dededee   dedPed,ee'jf                     deddfdZ	 	 	 	 	 	 	 	 ddedTe	eee'j^                  f   e'j^                  ee'j&                     f   d^eeeeef         dVeee'jx                        dededee   dedPed,ee'jf                     deddfdZ	 	 	 	 ddededee'j*                     dee'j*                     dPedQee'j                     dede'j                  fdZ	 	 ddededPedQee'j                     dede'j                  fdZdedede*e'j0                     fdZ	 ddedPededee'j0                     fdZ	 ddededPededee   f
dZdede*e'j0                     fdZ	 ddPedede'j0                  fdZ	 ddedPededee   fdZ	 	 	 	 ddededee   dee   dee'j>                     dPededee   fdZdededede*e'j0                     fdZ	 ddededPededee'j0                     f
dZ	 ddedededPededee   fdZ	 	 	 	 ddedededee   dee   dee'j>                     dPededee   fdZdedede'jJ                  fdZdede'jJ                  fdZdede'jJ                  fdZ	 	 	 	 ddede'jR                  dee   dvee   dee*e      d	ee   dedefdZ	 ddede'jR                  d	ee   dedef
dZde'jX                  fdZ xZS )AsyncQdrantRemoteNurlport	grpc_portprefer_grpchttpsapi_keyprefixtimeouthostgrpc_optionsauth_token_providerkwargsc                    t        |   d#i | || _        || _        |
| _        ||n|d u| _        | j
                  rdnd| _        |xs d| _        t        | j                        dkD  r&| j                  d   dk7  rd| j                   | _        ||	t        d| d|	       |	-|	j                  d      s|	j                  d	      rt        d
      |r|j                  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                         |	xs d| _        || _        |t%        j&                  |      nd | _        || _        || _        |j/                  dd       }|%| j                  dv rt1        j2                  d d      }|j/                  dd      }g | _        |j/                  di       | _        |P| j                  dk(  rt9        j:                  d       || j6                  d<   | j4                  j=                  d|f       |j/                  dd       }|'t?        |t@              stC        dtE        |             |t@        jF                  k(  rt        d      || _$        | j                  | j                   d| j                   n| j                  }| j                   d| | j                   | _%        | j6                  |d|| _&        ||| jL                  d<   | j(                  | j(                  | jL                  d<   | j,                  H| j                  dk(  rt9        j:                  d        tO        | j,                        }|| jL                  d!<   tQ        d#d"| jJ                  i| jL                  | _)        d | _*        d | _+        d | _,        d | _-        d | _.        d| _/        y )$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 )r4   r+   zUnknown scheme: limits)r7   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;   r.   z8Auth token provider is used with an insecure connection.authr/    )0super__init___prefer_grpc
_grpc_port_grpc_options_https_scheme_prefixlen
ValueError
startswithr   r/   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-   r.   r/   r0   r1   r2   
parsed_urlr8   r;   r=   addressbearer_auth	__class__s                      ^/var/www/html/answerous/venv/lib/python3.12/site-packages/qdrant_client/async_qdrant_remote.pyrC   zAsyncQdrantRemote.__init__7   s   " 	"6"'#)$0egT6I"&++w6|t||q T\\!_%;t||n-DL?t/J3%zZ^Y_`aa!;tz?Z}  ~~k*3%j'nJ(2$TZ  (//7:)00'+zztDJ||
 OPSuT`akapap`qr  ||#44 #3DLL>!BCC,DJDJ.5.A		'*t$7!Hd+>zz77dVWX

7E*#ZZ
B7||v%LM,3Dy)%%y'&:;28**=OQU2V'<Lk1Z^_cdt_u^vw  {222x  "226**2HTZZL$**.djj<<.G9T\\NC&*&8&85SFS(.DOOH%==$)-DOOI&$$0||v%XY$T%>%>?K&1DOOF#9B :
:
"&//:
 ">B HL%DH#<@"    returnc                     | j                   S N)rk   rl   s    rq   closedzAsyncQdrantRemote.closed   s    ||rr   
grpc_gracec                   K   t        | d      r1| j                  %	 | j                  j                  |       d {    	 | j                  j                          d {    d| _
        y 7 /# t        $ r t	        j
                  d       Y Mt        $ r Y Ww xY w7 <# t        $ r t	        j
                  d       Y d| _
        y w xY ww)Nrf   )gracezKUnable to close grpc_channel. Connection was interrupted on the server sidezNUnable to close http connection. Connection was interrupted on the server sideT)hasattrrf   closeAttributeErrorloggingwarningRuntimeErrorr4   aclose	Exceptionrk   )rl   rx   r2   s      rq   r|   zAsyncQdrantRemote.close   s     4)d.@.@.L((..Z.@@@	))""$$$
  A! a    % 	OO` 		st   CA- A+A- B BB #C+A- -BCBCBCB C;	CCCc                     t        |       }|j                  |j                  |j                  |j                  f\  }}}}||||fS ru   )r   rO   r/   r(   rP   )r'   parse_resultrO   r/   r(   r-   s         rq   
_parse_urlzAsyncQdrantRemote._parse_url   sP    %cN	(
$tV dF++rr   c           	         | j                   rt        d      | j                  ^t        | j                  | j
                  | j                  | j                  | j                  | j                  | j                        | _        y y )Nz=Client was closed. Please create a new QdrantClient instance.)r/   r(   sslr<   optionscompressionr1   )rk   r   rf   get_channelrM   rE   rG   rY   rF   rb   rU   rv   s    rq   _init_grpc_channelz$AsyncQdrantRemote._init_grpc_channel   sl    <<^__%!,ZZ__KK++** 22$($=$="D &rr   c                 l    | j                          t        j                  | j                        | _        y ru   )r   r   
PointsStubrf   rg   rv   s    rq   _init_grpc_points_clientz*AsyncQdrantRemote._init_grpc_points_client   s%    !#'??43E3E#F rr   c                 l    | j                          t        j                  | j                        | _        y ru   )r   r   CollectionsStubrf   rh   rv   s    rq   _init_grpc_collections_clientz/AsyncQdrantRemote._init_grpc_collections_client   s'    !(,(<(<T=O=O(P%rr   c                 l    | j                          t        j                  | j                        | _        y ru   )r   r   SnapshotsStubrf   ri   rv   s    rq   _init_grpc_snapshots_clientz-AsyncQdrantRemote._init_grpc_snapshots_client   s'    !&*&8&89K9K&L#rr   c                 l    | j                          t        j                  | j                        | _        y ru   )r   r   
QdrantStubrf   rj   rv   s    rq   _init_grpc_root_clientz(AsyncQdrantRemote._init_grpc_root_client   s%    !!%1C1C!Drr   c                 R    | j                   | j                          | j                   S )zgRPC client for collections methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )rh   r   rv   s    rq   grpc_collectionsz"AsyncQdrantRemote.grpc_collections   s(     ((0..0,,,rr   c                 R    | j                   | j                          | j                   S )z}gRPC client for points methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )rg   r   rv   s    rq   grpc_pointszAsyncQdrantRemote.grpc_points   s(     ##+))+'''rr   c                 R    | j                   | j                          | j                   S )zgRPC client for snapshots methods

        Returns:
            An instance of raw gRPC client, generated from Protobuf
        )ri   r   rv   s    rq   grpc_snapshotsz AsyncQdrantRemote.grpc_snapshots   s(     &&.,,.***rr   c                 R    | j                   | j                          | j                   S )z{gRPC client for info methods

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

        Returns:
            An instance of raw REST API client, generated from OpenAPI schema
        re   rv   s    rq   restzAsyncQdrantRemote.rest       """rr   c                     | j                   S r   r   rv   s    rq   r4   zAsyncQdrantRemote.http  r   rr   collection_namerequestsconsistencyc           
        K   | j                   r|D cg c]4  }t        |t        j                        rt	        j
                  ||      n|6 }}t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||      ||n| j                         d {   }|j                  D cg c]/  }|j                  D cg c]  }t        j                   |       c}1 c}}S |D cg c]3  }t        |t        j"                        rt        j$                  |      n|5 }}| j&                  j(                  j+                  |||t        j,                  |             d {   j                  }	|	J d       |	S c c}w 7 c c}w c c}}w c c}w 7 0w)N)r   search_pointsread_consistencyr.   r.   searches)r   r   r.   search_request_batchzSearch batch returned None)rD   r^   r    SearchRequestr   convert_search_requestr   ReadConsistencyconvert_read_consistencyr   SearchBatchr   SearchBatchPointsrS   resultr   convert_scored_pointSearchPointsconvert_search_pointsr4   
points_apisearch_batch_pointsSearchRequestBatch
rl   r   r   r   r.   r2   rgrpc_reshithttp_ress
             rq   search_batchzAsyncQdrantRemote.search_batch  s     
 "	  a!5!56 11!_EH  +':6;Q;Q'RS(AA+N7;7G7G7S7S&&$3"*%0#	 $+#6DMM 8T 8 2H U]TcTcOPJ#005J  " 8B!TEVEV7W
003]^^H 
 ii**>>$3 +#)/)B)BH)U	 ?   f  'E)EE'OE2 K
sZ   G	9F0A?G	F5G	 F<3F7F<G	8GAG	GG	7F<<G	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                         }| j                  rd }d }t        |t        j                        r|j                  }|j                  }nt        |t        j                        rM|j                  }t        j                  |j                  j                        }|j                  j                  }n&t        |t               r|d   }|d   }nt#        |      }t        |t$        j&                        rt)        j*                  |      }t        |t$        j,                        rt)        j.                  |      }t        |t1        t$        j2                              rt)        j4                  |      }t        |t1        t$        j6                              rt)        j8                  |      }t        |t1        t$        j:                              rt)        j<                  |      }t        |t1        t$        j>                              rt)        j@                  |      }| jB                  jE                  t        jF                  ||||||||||	||||      ||n| jH                         d {   }|jJ                  D cg c]  }tM        jN                  |       c}S t        |t               rt        j                  |d   |d         }t        |t        j&                        rtM        j*                  |      }t        |t        j,                        rtM        j.                  |      }t        |t        jP                        rtM        jR                  |      }| jT                  jV                  jY                  |||t%        jZ                  ||||||||	|		      
       d {   }|jJ                  }|J d       |S 7 Qc c}w 7 #w)NzUUsage of `append_payload` is deprecated. Please consider using `with_payload` insteaddatar      model)r   vectorvector_namefilterr   r   r   r   paramsr   r   r.   sparse_indicesr   r   namer   )	r   r   r   r   r   with_vectorr   r   	shard_key)r   r   r.   search_requestSearch returned None).r~   r   r^   npndarraytolistrD   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   rS   r   r   r   WithPayloadSelectorconvert_with_payload_selectorr4   r   r   r   )rl   r   r   r   r   r   r   r   r   r   r   r   r   r.   r2   r   r   r   resr   search_resultr   s                         rq   searchzAsyncQdrantRemote.searchB  sY    . OOg *LlBJJ/'..0LK!N,(9(9:%,,*//L%*A*AB*//!%!3!39L9L9T9T!U%,,33L%0*1o%al+,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"-1-=-=-D-D!!$3! +'!!-!-($3%0##1'9  $+?# .E . (C& EHJJOSJ33C8OO,.$00l1ol[\o^,4)88|L-):):; * @ @ O,(@(@A)GGU"&))"6"6"D"D /'%33''!( ,!-$30
 	 #E # M  9F8L8LF%='==%M_(& Ps1   J#P %O6&P 8O9DP O>P 9P queryusingprefetchlookup_fromc                 f	  K   | j                   rt        |t        t        j                              rt        j                  |      }t        |t        j                        rt        j                  |      g}t        |t              r>|D cg c]3  }t        |t        j                        rt        j                  |      n|5 }}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        j0                  |      }| j2                  j	                  t5        j6                  |||||||
|	|||||||      ||n| j8                         d {   }|j:                  D cg c]  }t=        j>                  |       }}t        j@                  |      S t        |t4        j                        rt=        j                  |      }t        |t4        jB                        rt=        j                  |      }t        |t              r>|D cg c]3  }t        |t4        jB                        rt=        j                  |      n|5 }}t        |t4        j                        rt=        j                  |      }t        |t4        j                        rt=        j                  |      }t        |	t4        jD                        rt=        jF                  |	      }	t        |t4        j&                        rt=        j(                  |      }t        jH                  ||||||||||
|	|      }| jJ                  jL                  jO                  ||||       d {   }|j:                  }|J d       |S c c}w 7 c c}w c c}w 7 -w)Nr   )r   r   r   r   r   r   r   r   r   r   r   r   r.   r   r   r   points)r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r.   query_requestr   )(rD   r^   r   r    Queryr   convert_queryPrefetchconvert_prefetch_queryr   r   r   r   r   r   r   r   r   r   LookupLocationconvert_lookup_locationr   r   r   r   r   r   QueryPointsrS   r   r   r   QueryResponsePrefetchQueryr   r   QueryRequestr4   r   query_points)rl   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r2   pr   r   scored_pointsr   query_resultr   s                           rq   r  zAsyncQdrantRemote.query_points  s    & %&,,!78"007(FOO4&==hGH(D) & =Gq&//<ZJ55a8`aa  ,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+v'<'<=(@@M+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^",0,<,<,B,B  $3%'!!-!-($3 +#'9%0" $+?% -C - 'C( NQZZXcZ<<SAXMX''}==%,"007(D$6$67%<<XF(D)
 &	  "!T%7%78 55a8  ,4)88|L-):):; * @ @ O,(@(@A)GGU+t':':;(@@M"//,!#$ /()'M "&!5!5!B!B /'+	 "C " L 6B5H5HF%='==%Me$'( Y8sK   B
R18RG R1R"R1R%3B
R1=8R*5DR1R/!R1%R1c                   K   | j                   r|D cg c]4  }t        |t        j                        rt	        j
                  ||      n|6 }}t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||      ||n| j                         d {   }|j                  D cg c]C  }t        j                  |j                  D cg c]  }t!        j"                  |       c}      E c}}S |D cg c]3  }t        |t        j$                        rt!        j&                  |      n|5 }}| j(                  j*                  j-                  |||t        j.                  |             d {   j                  }	|	J d       |	S c c}w 7 c c}w c c}}w c c}w 7 0w)N)r   r  r   r.   r   r   r   )r   r   r.   query_request_batchzQuery batch returned None)rD   r^   r    r
  r   convert_query_requestr   r   r   r   
QueryBatchr   QueryBatchPointsrS   r   r  r   r   r  convert_query_pointsr4   r   query_batch_pointsQueryRequestBatchr   s
             rq   r  z$AsyncQdrantRemote.query_batch_points  s     
 "	  a!4!45 00ODH  +':6;Q;Q'RS(AA+N6:6F6F6Q6Q%%$3!)%0#	 $+#6DMM 7R 7 1H "	  $$LMHHUSJ;;C@U  " 7ADDTDT6U
//2[\\H 
 ii**==$3 +#(.(@(@((S	 >   f  'D)DD'OK1 V
sZ   G9GA?GG	G "GG
G(G08G(AG*G+GGGgroup_by
group_sizewith_lookupc                 b
  K   | j                   rt        |t        t        j                              rt        j                  |      }t        |t        j                        rt        j                  |      g}t        |t              r>|D cg c]3  }t        |t        j                        rt        j                  |      n|5 }}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        j0                  |      }t        |t        t        j2                              rt        j4                  |      }t        |t        t        j6                              rt        j8                  |      }| 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 {   jB                  }tE        jF                  |      S t        |t,        j                        rtE        j                  |      }t        |t,        jH                        rtE        j                  |      }t        |t              r>|D cg c]3  }t        |t,        jH                        rtE        j                  |      n|5 }}t        |t,        j                        rtE        j                  |      }t        |t,        j                        rtE        j                  |      }t        |
t,        jJ                        rtE        jL                  |
      }
t        |t,        j&                        rtE        j(                  |      }t        |t,        j.                        rtE        j0                  |      }t        jN                  ||||||||||	||
||      }| jP                  jR                  jU                  ||||       d {   }|J d       |jB                  S c c}w 7 *c c}w 7 &w)Nr   
collectionr   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   r  r  r   r   r  r   )r   r   r.   query_groups_requestz%Query points groups API returned NonerA   )+rD   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QueryPointGroupsrS   r   r   convert_groups_resultr	  r   r   QueryGroupsRequestr4   r   query_points_groups)rl   r   r  r   r   r   r   r   r   r  r   r   r   r  r   r   r   r.   r2   r  r   r   r  s                          rq   r%  z%AsyncQdrantRemote.query_points_groupsI  s    < %&,,!78"007(FOO4&==hGH(D) & =Gq&//<ZJ55a8`aa  ,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+v'8'89(<<[I+s+"ooE+v'<'<=(@@M+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"&&22)) (7# "*  ,	
 $ &2 &2  - )8 $ "* $. %0 %0 !(  ,>!" *5#& (/GDMM) 3  , f/ 0 33F;;%,"007(D$6$67%<<XF(D)
 &	  "!T%7%78 55a8  ,4)88|L-):):; * @ @ O,(@(@A)GGU+t7(<<[I+t':':;(@@M"55,!#$ /!%()''M  "&!5!5!I!I /'%2	 "J " L  +T-TT+&&&y.<@s?   B
T/8T H7T/;T%<BT/8T(	D=T/T-T/(T/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                        rM|j                  }t        j                  |j                  j                        }|j                  j                  }n&t        |t               r|d   }|d   }nt#        |      }t        |t        j$                        rt	        j&                  |      }t        |t        j(                        rt	        j*                  |      }t        |t-        t        j.                              rt	        j0                  |      }t        |	t-        t        j2                              rt	        j4                  |	      }	t        |t-        t        j6                              rt	        j8                  |      }t        |t-        t        j:                              rt	        j<                  |      }| j>                  jA                  t        jB                  di d|d|d|d	|d
|d|d|	d|d|d|
d|d|d|d|d|d|||n| jD                         d {   jF                  }tI        jJ                  |      S t        |t        j                        rtI        j
                  |      }t        |t               r"tM        t        j                  |d   |d         }t        |tN        jP                        r|jS                         }t        |t        j$                        rtI        j&                  |      }t        |t        j(                        rtI        j*                  |      }t        |t        jT                        rtI        jV                  |      }tM        t        jX                  |||||	|
|||||      }| jZ                  j\                  j_                  ||||       d {   jF                  S 7 7 w)Nr  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   r   r   r   r  r  r   r  r   )search_groups_requestr   r   r.   rA   )0rD   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   r   r   r   r   r   r   SearchGroupsSearchPointGroupsrS   r   r   r#  r   r   r   r   r   r   SearchGroupsRequestre   r   search_point_groups)rl   r   r   r  r   r   r   r  r   r   r   r  r   r   r.   r2   r   r   r   r   r'  s                        rq   search_groupszAsyncQdrantRemote.search_groups  s    0 K!N+v'8'89(<<[I+s+"ooE,(9(9:%,,*//L%*A*AB*//!%!3!39L9L9T9T!U%,,33L%0*1o%al+,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"&&33** (7% %0  ,	
 $ $. &2 &2  - )8 "* *5 %0 !( (6  ,>!$ (/':G' 4  * f- . 33F;;+t7(<<[I,.(&&\!_\RS_  ,

3+224,4)88|L-):):; * @ @ O,(@(@A)GGU$-**##$)( /!%',%! ))44HH*?$3 +#	 I   fijs%   KQ9Q4FQ9%Q7&Q97Q9samplec	                 b  K   | j                   rt        |t        j                        rt	        j
                  |      }t        |t        t        j                              rt	        j                  |      }t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||||||      ||n| j                         d {   }
t!        j"                  |
j$                        S t        |t        j                        rt!        j
                  |      }| j&                  j(                  j+                  |||t        j,                  |||||             d {   j$                  }|J d       |S 7 7 w)Nr   r   r   r-  r   r   r.   r   r   r   r   r   r-  r   r   r   r   r.   search_matrix_requestz(Search matrix pairs returned None result)rD   r^   r    r   r   r   r   r   r   r   r   r   SearchMatrixPairsr   SearchMatrixPointsrS   r   convert_search_matrix_pairsr   re   r   search_matrix_pairsSearchMatrixRequestrl   r   r   r   r-  r   r   r   r.   r2   responsesearch_matrix_results               rq   r6  z%AsyncQdrantRemote.search_matrix_pairs@  s     ,6)88|L,.A&BYBY.Z[%/%J%JK]%^"+':6;Q;Q'RS(AA+N!--??''$3'!#%0'9	 $+#6DMM @  H 99(//JJlDKK0%44<HL%%00DD /'&,&@&@0!''	 E   & 	 $/[1[[/##?"%   C7F/9F+:BF/F-F/-F/c	                 b  K   | j                   rt        |t        j                        rt	        j
                  |      }t        |t        t        j                              rt	        j                  |      }t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||||||      ||n| j                         d {   }
t!        j"                  |
j$                        S t        |t        j                        rt!        j
                  |      }| j&                  j(                  j+                  |||t        j,                  |||||             d {   j$                  }|J d       |S 7 7 w)Nr   r/  r   r0  r1  z*Search matrix offsets returned None result)rD   r^   r    r   r   r   r   r   r   r   r   r   SearchMatrixOffsetsr   r4  rS   r   convert_search_matrix_offsetsr   re   r   search_matrix_offsetsr7  r8  s               rq   r?  z'AsyncQdrantRemote.search_matrix_offsetst  s     ,6)88|L,.A&BYBY.Z[%/%J%JK]%^"+':6;Q;Q'RS(AA+N!--AA''$3'!#%0'9	 $+#6DMM B  H ;;HOOLLlDKK0%44<HL%%00FF /'&,&@&@0!''	 G   & 	 $/]1]]/##?"r;  c           
        K   | j                   r|D cg c]4  }t        |t        j                        rt	        j
                  ||      n|6 }}t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||      ||n| j                         d {   }|j                  D cg c]/  }|j                  D cg c]  }t        j                   |       c}1 c}}S |D cg c]3  }t        |t        j"                        rt        j$                  |      n|5 }}| j&                  j(                  j+                  ||t        j,                  |             d {   j                  }	|	S c c}w 7 c c}w c c}}w c c}w 7 'w)N)r   recommend_pointsr   r.   r   r   )r   r   recommend_request_batch)rD   r^   r    RecommendRequestr   convert_recommend_requestr   r   r   r   RecommendBatchr   RecommendBatchPointsrS   r   r   r   RecommendPointsconvert_recommend_pointsr4   r   recommend_batch_pointsRecommendRequestBatchr   s
             rq   recommend_batchz!AsyncQdrantRemote.recommend_batch  s     
 "	  a!8!89 44QHH  +':6;Q;Q'RS(AA+N7;7G7G7V7V))$3%-%0#	 $+#6DMM 8W 8 2H U]TcTcOPJ#005J  "	  a!5!56 33A6H  ii**AA$3 +,2,H,HRZ,[ B  
 f  OE2 KsZ   F?9F&A?F?F+F? F23F-F2F?8F8AF?F=F?-F22F?positivenegativestrategyc                   K   |g }|g }| j                   rt        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.                  |      }| j0                  j3                  t5        j6                  di d|d|d|d|d|d|d|	d	|d
|d|
d|d|d|d|d|d|d|d|||n| j8                         d {   }|j:                  D cg c]  }t=        j>                  |       c}S |D cg c]3  }t	        |t4        j@                        rt=        jB                  |      n|5 }}|D cg c]3  }t	        |t4        j@                        rt=        jB                  |      n|5 }}t	        |t4        j                        rt=        j                  |      }t	        |t4        j                        rt=        j                  |      }t	        |t4        jD                        rt=        jF                  |      }t	        |t4        j                        rt=        j                   |      }| jH                  jJ                  jM                  |||t        jN                  ||||||||	|
||||             d {   j:                  }|J d       |S 7 c c}w c c}w c c}w 7 +w)Nr   r   rL  rM  r   r   r   r   r   r   r   r   r   r   rN  positive_vectorsnegative_vectorsr   r.   r   )r   rL  rM  r   r   r   r   r   r   r   r   rN  r   )r   r   r.   recommend_request"Recommend points API returned NonerA   )(rD   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   r   RecommendStrategyconvert_recommend_strategyr   r   r   	Recommendr   rG  rS   r   r   r   PointIdconvert_point_idr   r   re   r   rA  rC  )rl   r   rL  rM  r   r   r   r   r   r   r   r   r   rN  r   r   r.   r2   positive_idsrP  negative_idsrQ  r   r   exampler   s                             rq   	recommendzAsyncQdrantRemote.recommend  sG    ( HH%GGQL)OOPXY%GGQL)OOPXY,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+v'<'<=(@@M+':6;Q;Q'RS(AA+N(S&*B*B$CD%@@J,.A&BYBY.Z[%/%J%JK]%^"-1-=-=-G-G$$ $3) * (	
   " ". ". ) %4   !, &1 & &6  &6!" (:#$ $%( $+#6DMM+ .H . (C. EHJJOSJ33C8OO  (	  gt||4 ++G4H   (	  gt||4 ++G4H  ,4)88|L-):):; * @ @ O,(@(@A)GGU+t':':;(@@M))44EE$3 +#&,&=&=+!)!),#%%1$0(7$/#!)"4'	 F  ( f+ , %K'KK%MI(. PsI   JQ)QQ)Q3Q):8Q2Q)88Q"0DQ);Q'<Q)Q)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	        j0                  |      }t        |t        t        j2                              rt	        j4                  |      }| j6                  j9                  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 {   j>                  }|J d       tA        jB                  |      S t        |t        j                        rtA        j
                  |      }|D cg c]3  }t        |t        jD                        rtA        jF                  |      n|5 }}|D cg c]3  }t        |t        jD                        rtA        jF                  |      n|5 }}t        |t        j                        rtA        j                  |      }t        |t        j                        rtA        j                  |      }t        |
t        jH                        rtA        jJ                  |
      }
t        |t        j&                        rtA        j(                  |      }| jL                  jN                  jQ                  |||tS        t        jT                  f||||||||
||	|||||d       d {   j>                  }|J d       |S 7 c c}w c c}w 7 &w)Nr  r   r   rL  rM  r   r  r   r  r   r   r   r   r   r   r   r  rN  rP  rQ  r   r.   r   z"Recommend groups API returned None)rL  rM  r   r  r   r  r   r   r   r   r   r   r  rN  r   )r   r   r.   recommend_groups_requestrS  rA   )+rD   r^   r    r  r   r  r   r   rT  rU  r   r   r   r   r   r   r   r   r   r  r  r   r   rV  rW  r   r   r   RecommendGroupsRecommendPointGroupsrS   r   r   r#  rY  rZ  r   r   re   r   recommend_point_groupsr   RecommendGroupsRequest)rl   r   r  rL  rM  r   r   r   r  r   r   r   r   r   r  rN  r   r   r.   r2   r[  rP  r\  rQ  r   point_idr   s                              rq   recommend_groupsz"AsyncQdrantRemote.recommend_groupsH  s    ,  (38'38+v'8'89(<<[I+s+"ooE%GGQL)OOPXY%GGQL)OOPXY,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+v'<'<=(@@M+':6;Q;Q'RS(AA+N(S&*B*B$CD%@@J,.A&BYBY.Z[%/%J%JK]%^"&&66-- (7!- ".  ,	
 "* $ $. &2 &2  - )8 $ %0 *5 %0  "*!" *:#$ *:%& ,>'( !(), (/':G/ 7  2 f5 6 ?H$HH?33C88+t7(<<[I
 !)	  h5 ++H5H  !)	  h5 ++H5H  ,4)88|L-):):; * @ @ O,(@(@A)GGU+t':':;(@@M))44KK$3 +#-655.!)!)+!)##-,%1$0(7$/#$/!)"4!.	 L  . f1 2 %K'KK%M[>s>   K!S3#S$$AS38S';S38S,9DS3
S1S3'S3targetcontextc                 J  K   |g }| j                   ri|8t        |t        t        j                              rt        j                  |      n|}|D cg c]3  }t        |t        j                        rt        j                  |      n|5 }}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.                  j1                  t3        j4                  |||||||	|||
||||      ||n| j6                         d {   }|j8                  D cg c]  }t;        j<                  |       c}S |/t        |t2        j>                        rt;        j                  |      n|}|D cg c]3  }t        |t2        j                        rt;        j                  |      n|5 }}t        |t2        j                        rt;        j                  |      }t        |t2        j                        rt;        j                  |      }t        |t2        j@                        rt;        jB                  |      }t        |t2        j"                        rt;        j$                  |      }| jD                  jF                  jI                  |||t        jJ                  ||||||||	||
|             d {   j8                  }|J d       |S c c}w 7 c c}w c c}w 7 +w)Nr   )r   rg  rh  r   r   r   r   r   r   r   r   r   r   r.   r   )rg  rh  r   r   r   r   r   r   r   r   r   )r   r   r.   discover_requestz!Discover points API returned None)&rD   r^   r   r    RecommendExampler   convert_target_vectorContextExamplePairconvert_context_example_pairr   r   r   r   r   r   r   r   r  r  r   r   r   r   r   Discoverr   DiscoverPointsrS   r   r   r   TargetVectorr   r   re   r   discover_pointsDiscoverRequest)rl   r   rg  rh  r   r   r   r   r   r   r   r   r   r   r.   r2   pairr   r   r   s                       rq   discoverzAsyncQdrantRemote.discover  s    $ ?G %v':6;R;R'ST 008 	  $	  dF$=$=> 77=G  ,6)88|L-)<)<= * @ @ O,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+v'<'<=(@@M+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"-1-=-=-F-F##$3!#'!!-!-( +%0'9#  $+#6DMM# .G . (C& EHJJOSJ33C8OO %*VT=N=N*O 008  $	  dD$;$;< 77=G  ,4)88|L-):):; * @ @ O,(@(@A)GGU+t':':;(@@M))44DD$3 +#%+%;%;% '+,#%%1$0$/#"4&	 E  $ f' ( %J'JJ%Mc((& PsJ   AP#8PF?P#PP#P::P#48P,D	P#5P!6P#P#c           
        K   | j                   r|D cg c]4  }t        |t        j                        rt	        j
                  ||      n|6 }}| j                  j                  t        j                  ||||      ||n| j                         d {   }|j                  D cg c]/  }|j                  D cg c]  }t        j                  |       c}1 c}}S |D cg c]3  }t        |t        j                        rt        j                  |      n|5 }}| j                   j"                  j%                  |t        j&                  |      ||       d {   j                  }	|	S c c}w 7 c c}w c c}}w c c}w 7 'w)N)r   rr  r   r.   r   r   )r   discover_request_batchr   r.   )rD   r^   r    rs  r   convert_discover_requestr   DiscoverBatchr   DiscoverBatchPointsrS   r   r   r   rp  convert_discover_pointsr4   r   discover_batch_pointsDiscoverRequestBatchr   s
             rq   discover_batchz AsyncQdrantRemote.discover_batch7  s     
 "	  a!7!78 33AGH  8<7G7G7U7U(($3$,%0#	 $+#6DMM 8V 8 2H U]TcTcOPJ#005J  " :DAtGZGZ9[
2215abbH 
 ii**@@$3+1+F+FPX+Y +#	 A   f  O?2 K
sZ   F9E.AFE3F'E::E5E:F#8F AFFF5E::Fscroll_filterorder_byc                   K   | j                   r0t        |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&                  j)                  t+        j,                  |||||||||	|

      |
|
n| j.                         d {   }|j0                  D cg c]  }t3        j4                  |       c}|j7                  d      r t3        j8                  |j:                        fS d fS t        |t*        j<                        rt3        j8                  |      }t        |t*        j                        rt3        j                  |      }t        |t*        j>                        rt3        j@                  |      }t        |t*        jB                        rt3        jD                  |      }| jF                  jH                  jK                  ||t        jL                  |||||||	      |
       d {   j0                  }|J d       |jN                  |j:                  fS 7 c c}w 7 7w)Nr   )
r   r   r  r   r   r   r   r   r   r.   r   next_page_offset)r   r   r  r   r   r   r   )r   r   scroll_requestr.   z&Scroll points API returned None result)(rD   r^   r   r    ExtendedPointIdr   convert_extended_point_idr   r   r   r   r   r   r   r   r   r   OrderByInterfaceconvert_order_by_interfacer   Scrollr   ScrollPointsrS   r   r   convert_retrieved_pointHasFieldrZ  r  rY  OrderByconvert_order_byr   r   re   r   scroll_pointsScrollRequestr   )rl   r   r  r   r  r   r   r   r   r   r.   r2   r   pointscroll_results                  rq   scrollzAsyncQdrantRemote.scrolla  s     &"5f6L6L"MN#==fE-7 * 9 9 N,(;F<W<W(XY)HHV,(;F<M<M(NO)>>|L+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"($78O8O$PQ%@@J-1-=-=-D-D!!$3(%!!-!-%0'9# $+? .E . (C  IL

Su33E:S<< 23 ++C,@,@A  	  &$,,/#44V<-5 * 9 9 N(DLL1%66x@,(@(@A)GGU))44BB$3 +#)#7#7,#!)%%1$0"4$ $ C   f   !,V.VV,!((-*H*HII_(  Ts1   GM=M3M=.M6
D9M=M;0M=6M=count_filterexactc           	        K   | j                   rt        |t        j                        rt	        j
                  |      }t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  |||||      ||n| j                         d {   j                  }t        j                   |      S t        |t        j                        rt        j
                  |      }| j"                  j$                  j'                  |t        j(                  |||      |       d {   j                  }|J d       |S 7 7 w)Nr   )r   r   r  r   r.   r   )r   r  r   )r   count_requestr.   z!Count points returned None result)rD   r^   r    r   r   r   r   r   r   r   Countr   CountPointsrS   r   r   convert_count_resultre   r   count_pointsCountRequest)	rl   r   r  r  r   r.   r2   r9  count_results	            rq   countzAsyncQdrantRemote.count  sR     ,6)88|L,.A&BYBY.Z[%/%J%JK]%^"&&,,$$(7+#+= ' (/GDMM - 	 	 f  228<<lDKK0%44<HL%%00== /$11'u@R   >   & 	 'L)LL'1	s%   B;E0=E,>BE0E.E0.E0keyfacet_filterc	                   K   | j                   r/t        |t        j                        rt	        j
                  |      }t        |t        t        j                              rt	        j                  |      }t        |t        t        j                              rt	        j                  |      }| j                  j                  t        j                  ||||||||      ||n| j                         d {   }
t!        j"                  |
j$                  D cg c]  }t'        j(                  |       c}      S t        |t        j                        rt'        j
                  |      }| j*                  j,                  j/                  |||t        j0                  |||||             d {   j2                  }|J d       |S 7 c c}w 7  w)Nr   )r   r  r   r   r  r.   r   r   r   )hits)r   r  r   r   r  )r   r   r.   facet_requestz!Facet points returned None result)rD   r^   r    r   r   r   r   r   r   r   r   r   Facetr   FacetCountsrS   r   FacetResponser  r   convert_facet_value_hitre   r   facetFacetRequestr   )rl   r   r  r  r   r  r.   r   r   r2   r9  r   facet_results                rq   r  zAsyncQdrantRemote.facet  s     ,6)88|L,.A&BYBY.Z[%/%J%JK]%^"+':6;Q;Q'RS(AA+N!--33  $3'#%0'9	 $+#6DMM 4  H &&IQW#j88=W  lDKK0%44<HL%%0066 /'$110'	 7   & 	 'L)LL'C X
s1   C7G9G:!GG7A<G3G4GGr   waitorderingc                 
  K   | j                   rt        |t        j                        rt	        j
                  |j                  t        |j                              }t        t        |j                              D cg c]k  }t        j                  t	        j                  |j                  |         ||   |j                  "t	        j                  |j                  |         nd       m }}t        |t              r>|D 	cg c]3  }	t        |	t        j                        rt	        j                   |	      n|	5 }}	t        |t        j"                        rt	        j$                  |      }t        |t'        t        j(                              rt	        j*                  |      }| j,                  j/                  t        j0                  |||||      | j2                         d {   j4                  }
|
J d       t7        j8                  |
      S t        |t              rU|D 	cg c]3  }	t        |	t        j                        rt7        j                   |	      n|	5 }}	t        j:                  ||      }t        |t        j                        rt        j<                  ||      }| j>                  j@                  jC                  ||||       d {   j4                  }|J d       |S c c}w c c}	w 7 c c}	w 7 +w)N)idvectorspayloadr   r  r   r  r   r   Upsert returned None resultr   r   )batchr   )r   r  point_insert_operationsr  )"rD   r^   r    Batchr   convert_batch_vector_structr  rJ   idsranger   PointStructr  payloadsconvert_payloadr   convert_point_structWriteOrderingconvert_write_orderingr   r   r   r   UpsertUpsertPointsrS   r   r   convert_update_result
PointsListPointsBatchre   r   upsert_points)rl   r   r   r  r  r   r2   vectors_batchidxr  grpc_resulthttp_results               rq   upsertzAsyncQdrantRemote.upsert  s     &&,,/4>4Z4ZNNC

O5  %S_5	  $$%??

3P -c 2!??6 !+ : :6??3;O P!	 	 &$'
 "(	  "%););< 33E:  (F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"&&--%%(7!%!)+= !MM . 	 	 f  *I,II*33K@@&$'
 "(	  "%)9)9: 33E:   **&DVW&&,,/++&DVW))44BB$3,2%	 C   f  *I,II*o		sL   A;L=A0K/-L8K4;B+L&K9'A L'8K<A6LL$L<Lc           	        K   | j                   r|D cg c]  }t        j                  |       }}t        |t        j
                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }| j                  j                  t        j                  |||||             d {   j                  }|J d       t        j                   |      S | j"                  j$                  j'                  ||t	        j                  ||      |       d {   j                  S c c}w 7 7 w)Nr  r  r  )r   r  update_vectorsr  )rD   r   convert_point_vectorsr^   r    r  r  r   r   r   r   UpdateVectorsr   UpdatePointVectorsr   r   r  re   r   r  )	rl   r   r   r  r  r   r2   r  r  s	            rq   r  z AsyncQdrantRemote.update_vectorsU  sB     KQR%j66u=RFR(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"&&44++(7!%!)+=  f  *I,II*33K@@ ))44CC$3#)#7#7%1C$ & D   f	' Ss/   EEBEEA-E<E=EEr  c                   K   | j                   r| j                  |      \  }}	|xs |	}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }| j                  j                  t        j                  ||t        j                  |      |||             d {   j                  }
|
J d       t!        j"                  |
      S | j%                  |      \  }}| j&                  j(                  j+                  |||t-        t        j                  ||||             d {   j                  S 7 7 w)N)names)r   r  r  points_selectorr  r   z#Delete vectors returned None result)r   r   r   r   )r   r  r  delete_vectors)rD   _try_argument_to_grpc_selectorr^   r    r  r   r  r   r   r   r   DeleteVectorsr   DeletePointVectorsVectorsSelectorr   r   r  '_try_argument_to_rest_points_and_filterre   r   r  r   )rl   r   r  r   r  r  r   r2   r  opt_shard_key_selectorr  _points_filters                rq   r  z AsyncQdrantRemote.delete_vectors}  si     8<8[8[\b8c5_4!3!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"&&44++(7! $ 4 47 C(7!)+=	 	 f  *Q,QQ*33K@@!%!M!Mf!UWg))44CC$3%#,,,&&&"4$	 D   f	 s%   CE7E3BE7$E5%E75E7r  c                   K   | j                   rt        |t        t        j                              rt        j                  |      }|D 	cg c]<  }	t        |	t        t        j                              rt        j                  |	      n|	> }}	t        j                  |      }t        |t        t        j                              rt        j                  |      }t        |t        t        j                              rt        j                  |      }| j                  j                  t!        j"                  |||||||      ||n| j$                         d {   j&                  }
|
J d       |
D cg c]  }t)        j*                  |       c}S t        |t         j,                        rt)        j.                  |      }|D 	cg c]3  }	t        |	t         j0                        rt)        j2                  |	      n|	5 }}	| j4                  j6                  j9                  ||t        j:                  ||||      |       d {   j&                  }|J d       |S c c}	w 7 
c c}w c c}	w 7 +w)N)r   r  r   r   r   r   r.   r   zRetrieve returned None result)r  r   r   r   )r   r   point_requestr.   z!Retrieve API returned None result)rD   r^   r   r    r   r   r   r  r  r   r   r   r   r   r   Getr   	GetPointsrS   r   r   r  r   r   rY  rZ  re   r   
get_pointsPointRequest)rl   r   r  r   r   r   r   r.   r2   r  r   recordr  s                rq   retrievezAsyncQdrantRemote.retrieve  sX     ,(;F<W<W(XY)HHV
 	  c#6v7M7M#NO 44S9C  &::<HL+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"&&**NN(7%1%1)4+= ' (/GDMM +   f  %F'FF%MST6J66v>TT,(@(@A)GGU  5?sDLL4Q
++C0WZZC 
 ))44??$3 +"("5"5%1$0"4	# $ @ 
 
 f  *O,OO*a U

sK   A
I5AI!CI5I&I58I)6I5
8I.AI5I3I5)I5c                 T   d }t        |t              rtt        j                  t        j                  |D cg c]<  }t        |t        t        j                              rt        j                  |      n|> c}            }||fS t        |t        j                        r|}||fS t        |t        t        j                              rD|j                  t        j                  |j                        }t        j                  |      }||fS t        |t        j                        r2t        j                  t        t        j                   |            }||fS t        |t        j                        rt        j                  |      }||fS t#        dt%        |             c c}w )N)r  r   )r   "Unsupported points selector type: )r^   r   r   PointsSelectorPointsIdsListr   r    r  r   r  r   r   r   convert_points_selectorr   r   FilterSelectorrK   r`   )clsr   r   r  r  s        rq   r  z0AsyncQdrantRemote._try_argument_to_grpc_selector  s    "fd#"11))
 $*	   &c+>v?U?U+VW #<<SA !	O0  !344  3 34$O  !344 )>)> ?@+%/%J%J6K[K[%\"(@@HO  !344 .(@@&//?O  !344	 ,"11@O  !344 A$v,PQQ+s   AF%c                    t        |t              r\|D cg c]3  }t        |t        j                        rt	        j
                  |      n|5 }}t        t        j                  ||      }|S t        |t        j                        rt	        j                  |      }||_        |S t        |t        t        j                              r|}||_        |S t        |t        j                        rt        t        j                  ||      }|S t        |t        j                        r1t        t        j                  t	        j                  |      |      }|S t!        dt#        |             c c}w )Nr  )r   r   r  )r^   r   r   rY  r   rZ  r   r    PointIdsListr  r  r   r   r   r  r   rK   r`   )r  r   r   r  r  r  s         rq   _try_argument_to_rest_selectorz0AsyncQdrantRemote._try_argument_to_rest_selector  sU    fd# " 5?sDLL4Q
++C0WZZG  (##G?QO* %  3 34(@@HO(:O%   )>)> ?@$O(:O%  .'%%f@RO  ,'%%!008,O  A$v,PQQ1s   8E-r  c                 |    |j                  d      }|g S t        ||      }|dk(  rt        |j                        S g S )Npoints_selector_one_ofr   )
WhichOneofgetattrr   r  )r  r  r   vals       rq   _points_selector_to_points_listz1AsyncQdrantRemote._points_selector_to_points_list-  sF     ))*BC<Iot,8= 	rr   c                 :   d }d }t        |t              rB|D cg c]3  }t        |t        j                        rt	        j
                  |      n|5 }}||fS t        |t        j                        rit	        j                  |      }t        |t        j                        r|j                  }||fS t        |t        j                        r|j                  }||fS t        |t        j                        r|j                  }||fS t        |t        j                        r|j                  }||fS t        |t        j                        r|}||fS t        |t        j                        rt	        j                  |      }||fS t        dt!        |             c c}w )Nr  )r^   r   r   rY  r   rZ  r  r  r    r  r   r  r   r   r   rK   r`   )r  r   r  r  r  selectors         rq   r  z9AsyncQdrantRemote._try_argument_to_rest_points_and_filter9  s    fd# " 5?sDLL4Q
++C0WZZG ( !!!  3 34!99&AH(F$7$78"// !! Hf&;&;<"// !!  3 34mmG !!  5 56mmG !! .G
 !!	 , //7G !! A$v,PQQ's   8Fc                   K   | j                   r| j                  |      \  }}|xs |}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }t        j                  | j                  j                  t        j                  |||||      | j                          d {   j"                        S | j%                  ||      }| j&                  j(                  j+                  ||||       d {   j"                  }|J d       |S 7 j7 w)Nr  r   )r   r  r  r  zDelete points returned None)rD   r  r^   r    r  r   r  r   r   r   r   r  r   Deleter   DeletePointsrS   r   r  re   r   delete_points	rl   r   r  r  r  r   r2   r  r   s	            rq   deletezAsyncQdrantRemote.deleteV  sZ     8<8[8[95_4 "4!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"33**11)),;!%#2%-/A !% 2 	 	 &  #AA!3O ))44BB$3$3%	 C   f  %D'DD%M3	"%   CE!E"AE2E3EEr  c                   K   | j                   r| j                  |      \  }	}
|xs |
}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }t        j                  | j                  j                  t        j                  ||t        j                   |      |	|||      | j"                         d {   j$                        S | j'                  |      \  }}| j(                  j*                  j-                  |||t        j                  |||||             d {   j$                  }|J d       |S 7 7 w)N)r   r  r  r  r  r   r  r   )r  r   r   r   r  r   r  r  set_payloadzSet payload returned None)rD   r  r^   r    r  r   r  r   r   r   r   r  r   
SetPayloadr   SetPayloadPointsr  rS   r   r  re   r   r  )rl   r   r  r   r  r  r  r   r2   r  r  r  r  r   s                 rq   r  zAsyncQdrantRemote.set_payload  s~     8<8[8[\b8c5_4!3!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"33**55--,;!%$.$>$>w$G,;%-/A # !% 6   & " "&!M!Mf!UWg))44@@$3% & 1 1 '&&"4!	 A   f  %B'BB%M?"s%   C4E?6E;7A*E?!E="E?=E?c                   K   | j                   r| j                  |      \  }}	|xs |	}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }t        j                  | j                  j                  t        j                  ||t        j                   |      |||      | j"                         d {   j$                        S | j'                  |      \  }
}| j(                  j*                  j-                  |||t        j.                  ||
||             d {   j$                  }|J d       |S 7 7 w)N)r   r  r  r  r  r   r   )r  r   r   r   r  zOverwrite payload returned None)rD   r  r^   r    r  r   r  r   r   r   r   r  r   OverwritePayloadr   r   r  rS   r   r  re   r   overwrite_payloadr  )rl   r   r  r   r  r  r   r2   r  r  r  r  r   s                rq   r  z#AsyncQdrantRemote.overwrite_payload  sx     8<8[8[\b8c5_4!3!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"33**;;--,;!%$.$>$>w$G,;%-/A !% < 
 
 &   "&!M!Mf!UWg))44FF$3% & 1 1 '&&"4	!	 G 
 
 f  %H'HH%M;
 
s%   C3E=5E96A)E=E; E=;E=keysc                   K   | j                   r| j                  |      \  }}	|xs |	}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }t        j                  | j                  j                  t        j                  ||||||      | j                          d {   j"                        S | j%                  |      \  }
}| j&                  j(                  j+                  |||t        j                  ||
||             d {   j"                  }|J d       |S 7 7 w)N)r   r  r  r  r  r   r   )r  r   r   r   )r   r  r  delete_payloadzDelete payload returned None)rD   r  r^   r    r  r   r  r   r   r   r   r  r   DeletePayloadr   DeletePayloadPointsrS   r   r  re   r   r  )rl   r   r  r   r  r  r   r2   r  r  r  r  r   s                rq   r  z AsyncQdrantRemote.delete_payload  sk     8<8[8[\b8c5_4!3!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"33**8800,;!%!%,;%-/A !% 9 
 
 &   "&!M!Mf!UWg))44CC$3%#)#7#7!''M_$	 D   f  %E'EE%M5
 s%   C E*"E&#A)E*E(E*(E*c                   K   | j                   r| j                  |      \  }}|xs |}t        |t        j                        rt        j                  |      }t        |t        t        j                              rt        j                  |      }t        j                  | j                  j                  t        j                  |||||      | j                          d {   j"                        S | j%                  ||      }| j&                  j(                  j+                  ||||       d {   j"                  }|J d       |S 7 j7 w)Nr  r   )r   r  r  r  zClear payload returned None)rD   r  r^   r    r  r   r  r   r   r   r   r  r   ClearPayloadr   ClearPayloadPointsrS   r   r  re   r   clear_payloadr  s	            rq   r  zAsyncQdrantRemote.clear_payload  sZ     8<8[8[95_4 "4!M7M(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"33**77//,;!%#2%-/A !% 8 	 	 &  #AA!3O ))44BB$3%$3	 C   f  %D'DD%M3	"r  update_operationsc                 v  K   | j                   r|D cg c]  }t        j                  |       }}t        |t        j
                        rt        j                  |      }| j                  j                  t        j                  ||||      | j                         d {   j                  D cg c]  }t        j                  |       c}S | j                  j                   j#                  |||t	        j$                  |             d {   j                  }|J d       |S c c}w 7 c c}w 7 %w)N)r   r  
operationsr  r   )r  )r   r  r  r  z!Batch update points returned None)rD   r   convert_update_operationr^   r    r  r  r   UpdateBatchr   UpdateBatchPointsrS   r   r   r  re   r   batch_updateUpdateOperations)rl   r   r  r  r  r2   	operationr   s           rq   batch_update_pointsz%AsyncQdrantRemote.batch_update_pointsJ  s>     Pa!CL
33I>! ! (F$8$89%<<XF **66..,;!%'8%-	 !% 7   & 008   ))44AA$3%&,&=&=IZ&[	 B   f  %J'JJ%M;! s;   D9D+A2D9!D0"D92D2AD9D7D92D9change_aliases_operationsc                   K   | j                   r|D cg c]3  }t        |t        j                        st	        j
                  |      n|5 }}| j                  j                  t        j                  ||      | j                         d {   j                  S |D cg c]3  }t        |t        j                        rt        j
                  |      n|5 }}| j                  j                  j                  |t        j                   |             d {   j                  }|J d       |S c c}w 7 c c}w 7 %w)N)r.   actionsr   )r  )r.   change_aliases_operationzUpdate aliases returned None)rD   r^   r   AliasOperationsr   convert_alias_operationsr   UpdateAliasesChangeAliasesrS   r   r   r4   collections_apiupdate_aliasesr    ChangeAliasesOperation)rl   r  r.   r2   r  r  r   s          rq   update_collection_aliasesz+AsyncQdrantRemote.update_collection_aliasesr  sT     
 ";	(  ")T-A-AB 33I>($ ( ++99&&w@XY MM :   f 7	$
  )T%9%9: //	:$
  $
 ))++::)/)F)F4* ;   & 	 !A#AA!7(
$
s<   D?8D1AD?D6D?8D8A D?D=D?8D?c                   K   | j                   r| j                  j                  t        j                  |      | j
                         d {   j                  }t        j                  |D cg c]  }t        j                  |       c}      S | j                  j                  j                  |       d {   j                  }|J d       |S 7 c c}w 7  w)Nr   r   aliasesz$Get collection aliases returned None)rD   r   ListCollectionAliasesr   ListCollectionAliasesRequestrS   r&  r   CollectionsAliasesResponser   convert_alias_descriptionr4   r  get_collection_aliasesr   )rl   r   r2   r9  descriptionr   s         rq   r+  z(AsyncQdrantRemote.get_collection_aliases  s      ++AA55oV MM B   g  33YaJUJ88E  ))++BBSbBcc
& 	 !I#II!
 ds0   ACC!C/C1C<C=CCc                   K   | j                   r| j                  j                  t        j                         | j
                         d {   j                  }t        j                  |D cg c]  }t        j                  |       c}      S | j                  j                  j                          d {   j                  }|J d       |S 7 c c}w 7  w)Nr   r%  zGet aliases returned None)rD   r   ListAliasesr   ListAliasesRequestrS   r&  r   r)  r   r*  r4   r  get_collections_aliasesr   rl   r2   r9  r,  r   s        rq   get_aliaseszAsyncQdrantRemote.get_aliases  s     ++77++-t}} 8   g	 
 33YaJUJ88E  ))++CCEE
& 	 !>#>>!

 F0   A	CC!C-C	/C8C9CCc                   K   | j                   r| j                  j                  t        j                         | j
                         d {   j                  }t        j                  |D cg c]  }t        j                  |       c}      S | j                  j                  j                          d {   j                  }|J d       |S 7 c c}w 7  w)Nr   )collectionszGet collections returned None)rD   r   r	   r   ListCollectionsRequestrS   r5  r   CollectionsResponser   convert_collection_descriptionr4   r  get_collectionsr   r1  s        rq   r9  z!AsyncQdrantRemote.get_collections  s     ++00//14== 1   k	 
 ,, (0# ==kJ  ))++;;==
& 	 !B#BB!
 >r3  c                 p  K   | j                   r`t        j                  | j                  j	                  t        j                  |      | j                         d {   j                        S | j                  j                  j                  |       d {   j                  }|J d       |S 7 U7 w)Nr$  r   zGet collection returned None)rD   r   convert_collection_infor   r  r   GetCollectionInfoRequestrS   r   r4   r  get_collectionrl   r   r2   r   s       rq   r=  z AsyncQdrantRemote.get_collection  s     55//3355oV $ 4   &  ))++::?:[[
& 	 !A#AA! \s$   AB6B2;B6B4B64B6c                 r  K   | j                   rW| j                  j                  t        j                  |      | j
                         d {   j                  j                  S | j                  j                  j                  |       d {   j                  }|J d       |j                  S 7 e7 %w)Nr$  r   zCollection exists returned None)rD   r   CollectionExistsr   CollectionExistsRequestrS   r   existsr4   r  collection_existsr>  s       rq   rC  z#AsyncQdrantRemote.collection_exists  s     ++<<00Q MM =   fVV ))++==o=^^
& 	 !D#DD!}} _s%   AB7B3AB7B5$B75B7optimizers_configcollection_paramsvectors_confighnsw_configquantization_configsparse_vectors_configc	                   K   | j                   rbt        |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                   j#                  t%        j&                  |||||||      | j(                         d {   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                  |      }| j0                  j2                  j5                  |t        j&                  ||||||      |       d {   j*                  }
|
J d       |
S 7 X7 w)N)r   rD  r   rF  rG  rH  rI  r   )rD  r   r  rG  rH  sparse_vectors)update_collectionr.   zUpdate collection returned None)rD   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   UpdateCollectionrS   r   r   VectorsConfigDiffr4   r  rL  )rl   r   rD  rE  rF  rG  rH  r.   rI  r2   r   s              rq   rL  z#AsyncQdrantRemote.update_collection  sZ     +V-H-HI$.$M$MN_$`!+V-H-HI$.$M$MN_$`!.$/!+!G!G!W+v'<'<=(AA+N-x8U8U/VW&0&Q&Q''# /6(2(O(O))% ++22))(7*;0'5$/,?.C !MM 3   f ')B)BC * I IJ[ \')B)BC * I IJ[ \nd&<&<='CCNSNk4#6#67$==kJK)4+F+FG","M"MNa"b))++=="("9"9&7,* +(;#8#   >   & 	 !D#DD!M0s%   E!K #J;$D=K !J>"K >K c                 L  K   | j                   rM| j                  j                  t        j                  |      | j
                         d {   j                  S | j                  j                  j                  ||       d {   j                  }|J d       |S 7 R7 w)Nr$  r   zDelete collection returned None)
rD   r   r  r   DeleteCollectionrS   r   r4   r  delete_collection)rl   r   r.   r2   r   s        rq   r]  z#AsyncQdrantRemote.delete_collection4	  s      ++22))/JTXTaTa 3   f	 ))++==oW^=__
& 	 !D#DD!
 `s$   AB$B 8B$B"B$"B$shard_numberreplication_factorwrite_consistency_factoron_disk_payload
wal_config	init_fromsharding_methodc                   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/        j0                  |||	|||||||||
||      }| j2                  j5                  |       d {   j6                  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	        j0                  ||||||||	|
|||      }| j<                  j>                  jA                  |||       d {   j6                  }|J d       |S 7 V7 w)Nzinit_from is deprecated)r   rG  rb  rD  r^  ra  r.   rF  r_  r`  init_from_collectionrH  rI  rd  )r  r^  r_  r`  ra  rG  rD  rb  rH  rc  rK  rd  )r   create_collectionr.   zCreate collection returned None)!r~   r   rD   r^   r    VectorParamsrQ  r   convert_vectors_configrS  rT  rM  rN  WalConfigDiffconvert_wal_config_diffr   QuantizationConfigconvert_quantization_configInitFromconvert_init_fromrW  ShardingMethodconvert_sharding_methodr   CreateCollectionr   Creater   r   r   r4   r  rg  )rl   r   rF  r^  r_  r`  ra  rG  rD  rb  rH  rc  r.   rI  rd  r2   rg  create_collection_requestr   s                      rq   rg  z#AsyncQdrantRemote.create_collectionC	  s    $  OO56.6+>+>*EF!+!B!B>!R+v'<'<=(AA+N+V-H-HI$.$M$MN_$`!*f&:&:;'??
K
-x8Q8Q/RS&0&L&LM`&a#)V__5&88C	/6(2(O(O))% /6+@+@A","D"D_"U $ 5 5 /'%"3) /-#5)A%.$7&; /!  //667HIIQQQk4#6#67$==kJK')B)BC * I IJ[ \j$"4"45#;;JGJ)4+B+BC","H"HI\"]i%"44Y?I$*$;$;"%1%=+#/! 30+%
! ))++== /"; >  
 & 	 !D#DD!C J4s%   G#M %L;&D;M !L>"M >M c                    K   | j                  ||       d {    | j                  |||||||||	|
||||       d {   S 7 +7 w)Nr   )r   rF  r^  r_  r`  ra  rG  rD  rb  rH  rc  r.   rI  rd  )r]  rg  )rl   r   rF  r^  r_  r`  ra  rG  rD  rb  rH  rc  r.   rI  rd  r2   s                   rq   recreate_collectionz%AsyncQdrantRemote.recreate_collection	  st     $ $$_g$FFF+++)%1%=+#/! 3"7+ , 
 
 	
 	G
s!   A	A&A	 AA	A	c                 2    | j                   rt        S t        S ru   )rD   r"   r#   rv   s    rq   _updater_classz AsyncQdrantRemote._updater_class	  s    $$$$rr   batches_iteratormax_retriesparallelmethodc           	         |(|t               v r|}n)t        d| dt                      dt               v rdnd}| j                  r4|| j                  | j                  || j
                  | j                  ||d}	n|| j                  |||d| j                  }	|dk(  r3 | j                  j                  d	i |	}
|
j                  |      D ]  } y t        || j                  |      } |j                  |fi |	D ]  } y )
NzStart methods z& is not available, available methods: 
forkserverspawn)r   r/   r(   rz  r   r<   r  r   )r   urirz  r  r   r   )start_methodrA   )r   rK   rD   rM   rE   rG   rY   rc   rd   rx  startprocessr!   unordered_map)rl   ry  r   rz  r{  r|  r  r   r  updater_kwargsupdater_pools                rq   _upload_collectionz$AsyncQdrantRemote._upload_collection	  s3    .00% $VH,RShSjRkl  ,8;P;R+R<X_L#2

*{{ ..&8	N $3}}*&8 //N q=/d))//A.AG__%56  &h0C0CR^_D'T''(8KNK rr   records
batch_sizec	           	      n    | j                   j                  ||      }
| j                  |
||||||       y )Nr  r  )ry  r   rz  r{  r|  r   r  rx  iterate_records_batchesr  )rl   r   r  r  r{  r|  rz  r  r   r2   ry  s              rq   upload_recordsz AsyncQdrantRemote.upload_records	  sP      ..FF
 G 
 	-+#1 	  	
rr   c	           	      n    | j                   j                  ||      }
| j                  |
||||||       y )Nr  ry  r   rz  r{  r|  r  r   r  )rl   r   r   r  r{  r|  rz  r  r   r2   ry  s              rq   upload_pointszAsyncQdrantRemote.upload_points
  sP      ..FFz G 
 	-+#1 	  	
rr   c           	      r    | j                   j                  ||||      }| j                  ||||||	|
       y )N)r  r  r  r  r  )rx  iterate_batchesr  )rl   r   r  r  r  r  r{  r|  rz  r  r   r2   ry  s                rq   upload_collectionz#AsyncQdrantRemote.upload_collection*
  sS       ..>>W#* ? 
 	-+#1 	  	
rr   
field_namefield_schema
field_typec                 8  K   |t        j                  dt               |}| j                  rd }t	        |t
        j                        rt        j                  |      }t	        |t              rt        |      }t	        |t        t
        j                              rt        j                  |      }t	        |t        j                        r|}|j!                  d      }	t#        ||	      }
t	        |
t        j$                        rt        j&                  j(                  }t	        |
t        j*                        rt        j&                  j,                  }t	        |
t        j.                        rt        j&                  j0                  }t	        |
t        j2                        rt        j&                  j4                  }t	        |
t        j6                        rt        j&                  j8                  }t	        |
t        j:                        rt        j&                  j<                  }t	        |
t        j>                        rt        j&                  j@                  }t	        |
t        jB                        rt        j&                  jD                  }t        jF                  ||||||      }tI        jJ                  | jL                  jO                  |       d {   jP                        S t	        |t              rtI        j                  |      }t	        |t        j                        rtI        j                  |      }| jR                  jT                  jW                  |t        jN                  ||      ||       d {   jP                  }|J d       |S 7 7 w)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\   DeprecationWarningrD   r^   r    PayloadSchemaTyper   convert_payload_schema_typeintr   r   PayloadSchemaParamsconvert_payload_schema_paramsr   PayloadIndexParamsr  r  TextIndexParams	FieldTypeFieldTypeTextIntegerIndexParamsFieldTypeIntegerKeywordIndexParamsFieldTypeKeywordFloatIndexParamsFieldTypeFloatGeoIndexParamsFieldTypeGeoBoolIndexParamsFieldTypeBoolDatetimeIndexParamsFieldTypeDatetimeUuidIndexParamsFieldTypeUuidCreateFieldIndexCollectionr   r  r   CreateFieldIndexr   re   r  r  )rl   r   r  r  r  r  r  r2   r  r   r  requestr   s                rq   create_payload_indexz&AsyncQdrantRemote.create_payload_indexG
  s     !MMNPbc%L!%,(@(@A)EElS,,@N,1K1K(LM)GGU,(?(?@%1")44^D&'94@lD,@,@A#'>>#?#?LlD,C,CD#'>>#B#BLlD,C,CD#'>>#B#BLlD,A,AB#'>>#@#@LlD,?,?@#'>>#>#>LlD,@,@A#'>>#?#?LlD,D,DE#'>>#C#CLlD,@,@A#'>>#?#?L55 /%'#5!G 33''88AAII  lC(%AA,OLlD$;$;<%CCLQL%%55HH /#)#:#:)$ ! I   & 	 !E#EE!# Bs%   KNNB'N<N=NNc                 h  K   | j                   rYt        j                  ||||      }t        j                  | j
                  j                  |       d {   j                        S | j                  j                  j                  ||||       d {   j                  }|J d       |S 7 X7 w)N)r   r  r  r  z Delete field index returned None)rD   r   DeleteFieldIndexCollectionr   r  r   DeleteFieldIndexr   re   r  delete_field_index)rl   r   r  r  r  r2   r  r   s           rq   delete_payload_indexz&AsyncQdrantRemote.delete_payload_index
  s      55 /%!	G 33''88AAII  %%55HH /%!	 I   & 	 !E#EE! Bs$   AB2B.>B2B0B20B2c                   K   | j                   rd| j                  j                  t        j                  |             d {   j
                  }|D cg c]  }t        j                  |       c}S | j                  j                  j                  |       d {   j                  }|J d       |S 7 tc c}w 7  w)Nr$  'List snapshots API returned None result)rD   r   r	   r   ListSnapshotsRequestsnapshot_descriptionsr   convert_snapshot_descriptionre   r  list_snapshotsr   )rl   r   r2   	snapshotssnapshots        rq   r  z AsyncQdrantRemote.list_snapshots
  s      ))..--oN  $#	 
 W``(J;;HE``%%55DD / E   &	 	
 $O&OO$ as/   ?B?B6B?B80,B?B=B?8B?c                 H  K   | j                   rV| j                  j                  t        j                  |             d {   j
                  }t        j                  |      S | j                  j                  j                  ||       d {   j                  S 7 \7 w)Nr$  )r   r  )rD   r   rs  r   CreateSnapshotRequestsnapshot_descriptionr   r  re   r  create_snapshotr   )rl   r   r  r2   r  s        rq   r  z!AsyncQdrantRemote.create_snapshot
  s      ))00..O  #"	 
 ::8DD%%55EE /d F   &		s$   ?B"BAB"B B" B"snapshot_namec                   K   | j                   r9| j                  j                  t        j                  ||             d {    y| j
                  j                  j                  |||       d {   j                  S 7 ?7 w)N)r   r  T)r   r  r  )	rD   r   r  r   DeleteSnapshotRequestre   r  delete_snapshotr   )rl   r   r  r  r2   s        rq   r  z!AsyncQdrantRemote.delete_snapshot
  s      %%,,**$3=  
 %%55EE /}SW F   &		s$   A BB0B3B4BBc                 z  K   | j                   rb| j                  j                  t        j                                d {   j
                  }|D cg c]  }t        j                  |       c}S | j                  j                  j                          d {   j                  }|J d       |S 7 rc c}w 7  w)Nz,List full snapshots API returned None result)rD   r   ListFullr   ListFullSnapshotsRequestr  r   r  re   snapshots_apilist_full_snapshotsr   )rl   r2   r  r  s       rq   r  z%AsyncQdrantRemote.list_full_snapshots
  s     ))2243P3P3RSS##  W``(J;;HE``..<<PPRRZZ	$T&TT$ T`Rs.   =B;B2 B;B4.*B;B9B;4B;c                 B  K   | j                   rT| j                  j                  t        j                                d {   j
                  }t        j                  |      S | j                  j                  j                  |       d {   j                  S 7 [7 w)N)r  )rD   r   
CreateFullr   CreateFullSnapshotRequestr  r   r  re   r  create_full_snapshotr   )rl   r  r2   r  s       rq   r  z&AsyncQdrantRemote.create_full_snapshot
  s      ))44T5S5S5UVV"" ! ::;OPP))77LLRVLWW___ W Xs#   =BB ABBBBc                   K   | j                   r8| j                  j                  t        j                  |             d {    y| j
                  j                  j                  ||       d {   j                  S 7 >7 w)N)r  T)r  r  )	rD   r   
DeleteFullr   DeleteFullSnapshotRequestre   r  delete_full_snapshotr   )rl   r  r  r2   s       rq   r  z&AsyncQdrantRemote.delete_full_snapshot
  s      %%00..]K   %%33HH+$ I   &			
s#   ?BB /B1B2BBlocationchecksumpriorityc           
         K   | j                   j                  j                  ||t        j                  ||||             d {   j
                  S 7 w)Nr  r  r  r,   )r   r  snapshot_recover)re   r  recover_from_snapshotr    SnapshotRecoverr   )rl   r   r  r,   r  r  r  r2   s           rq   recover_snapshotz"AsyncQdrantRemote.recover_snapshot
  s\      %%33II /!'!7!7%8U\" J   &	s   AAAAshard_idc                    K   | j                   j                  j                  ||       d {   j                  }|J d       |S 7 w)N)r   r  r  )re   r  list_shard_snapshotsr   )rl   r   r  r2   r  s        rq   r  z&AsyncQdrantRemote.list_shard_snapshots  s]      %%33HH /( I   &	 	
 $O&OO$s   +A	AA	c                    K   | j                   j                  j                  |||       d {   j                  S 7 w)N)r   r  r  )re   r  create_shard_snapshotr   )rl   r   r  r  r2   s        rq   r  z'AsyncQdrantRemote.create_shard_snapshot  sE      %%33II /( J   &		s   ,?=?c                    K   | j                   j                  j                  ||||       d {   j                  S 7 w)N)r   r  r  r  )re   r  delete_shard_snapshotr   )rl   r   r  r  r  r2   s         rq   r  z'AsyncQdrantRemote.delete_shard_snapshot%  sJ      %%33II /!+	 J   &	s   -A >A c                    K   | j                   j                  j                  |||t        j                  ||||             d {   j
                  S 7 w)Nr  )r   r  r  shard_snapshot_recover)re   r  recover_shard_from_snapshotr    ShardSnapshotRecoverr   )	rl   r   r  r  r,   r  r  r  r2   s	            rq   recover_shard_snapshotz(AsyncQdrantRemote.recover_shard_snapshot6  s_      %%33OO /!'-'B'B%8U\(	 P   &		s   AAAAreasonc                    K   | j                   j                  j                  t        j                  |d             d {   j
                  }|J d       |S 7 w)NT)error_messagewritezLock storage returned Nonere   service_api
post_locksr    LocksOptionr   )rl   r  r2   r   s       rq   lock_storagezAsyncQdrantRemote.lock_storageL  s_     %%11<<""tD  &	 	
 !?#??!s   >A AAc                    K   | j                   j                  j                  t        j                  d             d {   j
                  }|J d       |S 7 w)NF)r  zPost locks returned Noner  rl   r2   r   s      rq   unlock_storagez AsyncQdrantRemote.unlock_storageU  sX     %%11<<V=O=OV[=\]]
& 	 !=#==! ^s   =AA Ac                    K   | j                   j                  j                          d {   j                  }|J d       |S 7 w)NzGet locks returned None)re   r  	get_locksr   r  s      rq   r  zAsyncQdrantRemote.get_locks\  sI     %%11;;==
& 	 !<#<<! >s   (AAAr   shards_number	placementc                 &  K   | j                   rt        |t        t        j                              rt        j                  |      }| j                  j                  t        j                  ||t        j                  ||||xs g             | j                         d {   j                  S | j                  j                  j                  ||t        j                   ||||             d {   j                  }|J d       |S 7 j7 w)N)r   r  r_  r   r   r.   r  r   )r   r.   create_sharding_keyzCreate shard key returned None)rD   r^   r   r    ShardKeyr   convert_shard_keyr   CreateShardKeyr   CreateShardKeyRequestrS   r   re   cluster_apicreate_shard_keyCreateShardingKey)	rl   r   r   r  r_  r   r.   r2   r   s	            rq   r	  z"AsyncQdrantRemote.create_shard_keyc  s     )%8%IJ&88C	++::..(7 ' $ 3 3&/*7/A&/o2	!	 !MM ;   f" ))55FF$3#(.(@(@"+&3+="+	) G 	 	 f  %G'GG%M9 	s%   B D"D#AD3D4DDc           	        K   | j                   rt        |t        t        j                              rt        j                  |      }| j                  j                  t        j                  ||t        j                  |            | j                         d {   j                  S | j                  j                  j                  ||t        j                   |             d {   j                  }|J d       |S 7 g7 w)N)r   r  r   )r   r.   drop_sharding_keyzDelete shard key returned None)rD   r^   r   r    r  r   r  r   DeleteShardKeyr   DeleteShardKeyRequestrS   r   re   r  delete_shard_keyDropShardingKey)rl   r   r   r.   r2   r   s         rq   r  z"AsyncQdrantRemote.delete_shard_key  s      )%8%IJ&88C	++::..(7 ' $ 3 3i H
 !MM ;   f	 ))55FF$3#&,&<&<y&Q G  
 f  %G'GG%M%s%   BDDAD)D*DDc                 ,  K   | j                   rJ| j                  j                  t        j                                d {   }t        j                  |      S | j                  j                  j                          d {   }|J d       |S 7 P7 w)NzHealthcheck returned None)
rD   r   HealthCheckr   HealthCheckRequestr   convert_health_check_replyr   r  root)rl   version_infos     rq   infozAsyncQdrantRemote.info  s}     !%!;!;D<S<S<U!VVL88FF!YY227799'D)DD'	 W9s#   =BB A B BBB)Ni  i  FNNNNNNNru   )rs   N)NN)NN
   NTFNTNNN)NNNNNr  NTFNNNNN)NNNNNr     TFNNNNNN)NNr  r   TFNNNNN)Nr  r  NNNN)NNNNr  r   TFNNNNNNN)NNNNr  r   NTFNNNNNNN)NNNNr  r   TFNNNNN)	Nr  NNTFNNN)NTNN)Nr  FNNN)TNN)TFNNN)TN)NNNNNNN)NNNNNNNNNNNN)r   NFN)@   r   Nr  FN)NNr  r   Nr  FN)NNTN)T)NNNT)NNNN)__name__
__module____qualname__r   r   r  boolr   r   r   r   r   rC   propertyrw   floatr|   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   r   r   r   r   r	   ScoredPointr   r   r   
NumpyArrayr   r   PayloadSelectorr   r   r  r  r  r  r  r
  r  rY  SparseVectorDocumentWithLookupInterfaceGroupsResultr%  r    r,  SearchMatrixPairsResponser6  SearchMatrixOffsetsResponser?  rC  rK  rk  rV  r^  rf  rq  rm  ru  rs  r~  r  Recordr  CountResultr  r  r  Pointsr  UpdateResultr  PointVectorsr  r  r  r  classmethodr  r  r  r  r  r  Payloadr  r  r  r  UpdateOperationr  r  r"  r)  r+  r2  r7  r9  CollectionInfor=  rC  rM  rO  rZ  rS  rU  r
   SparseVectorParamsrL  r]  rh  rj  rl  rn  rp  rg  rv  r   r$   rx  r   r  r  r  r  VectorStructr  r  r  r  SnapshotDescriptionr  r  r  r  r  r  SnapshotPriorityr  r  r  r  r  r  r  r  r  r  r	  r  VersionInfor  __classcell__)rp   s   @rq   r&   r&   6   s%    ""! $!% $!%"15 _#c]_# sm_# 	_#
 _# ~_# #_# _# #_# sm_# tCH~._# &(2s7#Xb)C..@%AAB
_# _#B   huo  PT $ , ,hsmS(3-RU&V W , ,GQME -$"6"6 - - (T__ ( ( + 2 2 + + &4?? & & #i/ # # #i/ # # 8<!%++ 5../+ e334	+
 #+ + 
d5$$%	&+n 046: $JN38+/#7;?C!%)hh UO#tE{"###	
h u||,h   2 23h h h D(3-1F1FFGh D(3-/0h  "%!h" #h$ e334%h& %U%;%;<'h( #)h* +h, 
e	 -hZ (,#FJ/36: $JN38+/6:7;?C!%!kk $k }	k
 U^^(<dBCk u||,k   2 23k k k D(3-1F1FFGk D(3-/0k "%k e223k e334k %U%;%;<k  #!k" #k$ 
		%kb 8<!%.. 5--.. e334	.
 #. . 
e!!	".z #FJ/36:JN38+/;?6:7;?C!%7@'@' @' MMKeKKNN	
	@' }@' U^^(<dBC@'  u||,!@'"   2 23#@'$ %@'& '@'( D(3-1F1FFG)@'* D(3-/0+@', "%-@'. e778/@'0 e2231@'2 e3343@'4 %U%;%;<5@'6 #7@'8 9@': 
		;@'Z 157;KO38+/;?7;?C!%+ss UO#tE{"###	
s s v}}-s   3 34s s s D(3-1G1GGHs  D(3-/0!s" "%#s$ e778%s& e334's( %U%;%;<)s* #+s, -s. 
		/sp 04#7;?C!%2$2$ u||,2$ 	2$
 2$ }2$ e3342$ %U%;%;<2$ #2$ 2$ 
	(	(2$n 04#7;?C!%2$2$ u||,2$ 	2$
 2$ }2$ e3342$ %U%;%;<2$ #2$ 2$ 
	*	*2$p 8<!%++ 5112+ e334	+
 #+ + 
d5$$%	&+` @D?C/36:FJ/4+/#6:6:7;?C!%#qq 8E$:$:;<q 8E$:$:;<	q
 u||,q   2 23q q q D$s)U-B-BBCq D$s)O,q "%q }q e223q 5223q e334q  %U%;%;<!q" ##q$ %q& 
e	 'qn KOJN047;+/KO38#7;;?6:7;?C!%'  8E%--e*D$EFG	
 8E%--e*D$EFG v}}-   3 34   "% D(3-1G1GGH D(3-/0 } f334 e778  5223!" e334#$ %U%;%;<%& #'( )* 
		+H 04@D/36:FJ/4#6:7;?C!%ll ++,l (5#;#;<=	l
 u||,l   2 23l l l D$s)U-B-BBCl D$s)O,l }l e223l e334l %U%;%;<l #l  !l" 
e	 #ld 8<!%(( 5001( e334	(
 #( ( 
d5$$%	&(Z 15,0*.JN387;?C!%LJLJ  -LJ 	LJ
 5==)LJ 'LJ D(3-1F1FFGLJ D(3-/0LJ e334LJ %U%;%;<LJ #LJ LJ 
tELL!8EMM#::	;LJb 04?C!%'' u||,' 	'
 %U%;%;<' #' ' 
		'Z 04!%7;?C44 4 u||,	4
 4 4 #4 e3344 %U%;%;<4 4 
		4t 26?CEE E 	E
 5../E %U%;%;<E E 
		EV 26?C&& ++,& 	&
 5../& %U%;%;<& & 
		&Z 26?C.. #. $$	.
 . 5../. %U%;%;<. . 
		.h KO387;?C!%>> emm$> D(3-1F1FFG	>
 D(3-/0> e334> %U%;%;<> #> > 
ell	>@ 5))5	t""HT-B-B$CC	D5 5> ))?GH^H^?_			 > 	"11		dll		 	 "))"	xV3345x7NN	O" "@ 26?C-- --- 	-
 5../- %U%;%;<- - 
		-h "26?C33 3 $$	3
 c]3 3 5../3 %U%;%;<3 3 
		3t 26?C00 0 $$	0
 0 5../0 %U%;%;<0 0 
		0n 26?C-- sm- $$	-
 - 5../- %U%;%;<- - 
		-f 26?C-- --- 	-
 5../- %U%;%;<- - 
		-f 26&& $E$9$9:& 	&
 5../& & 
e  	!&V "&"#+E,A,A#B" #" 	"
 
"H".1		)	)*# %2R2R $c e6O6O &C 3 5K_K_  s c d " CGBF<@6:FJ!%RVDD $E$>$>?D $E$>$>?	D
 !!8!89D e223D &e&B&BCD #D  (U5M5M0M(NOD D 
DN >B"-5c]MP	& '+,026*.6:BF48BF.2!%RV:>XX e00'#u?Q?Q:Q2RRSX sm	X
 %SMX #+3-X "$X e223X $E$>$>?X U001X &e&>&>?X ENN+X #X  (U5M5M0M(NOX "%"6"67X  !X" 
#X| '+,026*.6:BF48BF.2!%RV:>"
"
 e00'#u?Q?Q:Q2RRS"
 sm	"

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

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

 
 
 
 
 %U%;%;<
 
 

> 7;15 $?C

 e&&&')9)98EDVDV;WW

 (4S>23
 hu}}-.
 
 
 
 
 
 %U%;%;<
 
 

B ;?8<26CC C u667	C
 U445C C 5../C C 
		CR 26  	
 5../  
		:".1	e''	(& 26"*.AD	%++	," FJ"36>BUX	$ # $u?X?X:Y   ``+.`		"	"` 04 (,?B	$$ "&"&59  #	
 3- 5112   
$(	"	.1	=@		e''	(	 AE".19=PS	%++	,   	
   
$, "&"&59  	
 # 3- 5112   
$,  @Q@Q S U5F5F  0A0A  (,,0)-!%** >>*  }	*
 %SM* DI&* #* * 
*` "&	 >> #	
  
>E-- rr   r&   );r~   rQ   r[   multiprocessingr   typingr   r   r   r   r   r	   r
   r   r   r   r   r   r   rW   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&   rA   rr   rq   <module>rK     sw       1       ' & 4 ) ; E ; F 
 A @ ? B B 8~- ~-rr   