
    'Xh"                    z   d dl Zd dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZ 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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( d dl)m*Z+ d dl,m-Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7m8Z8 d dl9m:Z: d dl;m<Z< d dl=m>Z> d dl?m@Z@  G d de%      ZAy)    N)get_all_start_methods)
Any	AwaitableCallableIterableMappingOptionalSequenceTypeUnionget_args)Compression)Url	parse_url)urljoin)show_warningshow_warning_once)grpc)	construct)
BearerAuth)AsyncQdrantBase)is_compatibleget_server_version)get_async_channel)common_types)get_args_subscribed)
GrpcToRest
RestToGrpc!grpc_payload_schema_to_field_type)AsyncApiClient	AsyncApismodels)ParallelWorkerPool)GrpcBatchUploader)RestBatchUploader)BaseUploaderc            )       (    e Zd Z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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j6                  fd       Zedej:                  fd       Zedej>                  fd       Z edejB                  fd       Z"ede#e$   fd       Z%ede#e$   fd        Z&	 	 dd!ed"e'e(jR                     d#ee(jT                     d
ee   de	de+e+e(jX                        fd$Z-	 	 	 	 	 	 	 	 	 	 	 dd!ed%e
e'e   eee+e   f   e(j\                  e(j^                  e(j`                  f   d&ee(jb                     d'ee(jd                     d(ed)ee   d*e
ee'e   e(jf                  f   d+e
ee'e   f   d,ee   d-ed#ee(jT                     d.ee(jh                     d
ee   de	de+e(jX                     fd/Z5	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd!ed0e
e(jl                  e+e   e+e+e      e(jn                  e(jp                  e(j`                  e(jr                  e(jt                  e(jv                  df
   d1ee   d2e
e(jx                  e+e(jx                     df   d&ee(jb                     d'ee(jd                     d(ed)ee   d*e
ee'e   e(jf                  f   d+e
ee'e   f   d,ee   d3ee(jz                     d#ee(jT                     d.ee(jh                     d
ee   de	de(j|                  f"d4Z?	 	 dd!ed"e'e(j                     d#ee(jT                     d
ee   de	de+e(j|                     fd5ZA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd!ed6ed0e
e(jl                  e+e   e+e+e      e(jn                  e(jp                  e(j`                  e(jr                  e(jt                  e(jv                  df
   d1ee   d2e
e(jx                  e+e(jx                     df   d&ee(jb                     d'ee(jd                     d(ed7ed*e
ee'e   e(jf                  f   d+e
ee'e   f   d,ee   d8ee(j                     d3ee(jz                     d#ee(jT                     d.ee(jh                     d
ee   de	de(j                  f&d9ZD	 	 	 	 	 	 	 	 	 	 	 dd!ed%e
e'e   eee+e   f   e(j\                  e(j^                  e(j`                  f   d6ed&eeEjb                     d'eeEjd                     d(ed7ed*e
ee'e   eEjf                  f   d+e
ee'e   f   d,ee   d8ee(j                     d#ee(jT                     d.ee(jh                     d
ee   de	de(j                  f d:ZF	 	 	 	 	 	 	 dd!ed&ee(jb                     d(ed;ed1ee   d#ee(jT                     d.ee(jh                     d
ee   de	de(j                  fd<ZH	 	 	 	 	 	 	 dd!ed&ee(jb                     d(ed;ed1ee   d#ee(jT                     d.ee(jh                     d
ee   de	de(j                  fd=ZJ	 	 dd!ed"e'e(j                     d#ee(jT                     d
ee   de	de+e+e(jX                        fd>ZL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd!ed?ee'e(j                        d@ee'e(j                        d&ee(jb                     d'ee(jd                     d(ed)ed*e
ee+e   e(jf                  f   d+e
ee+e   f   d,ee   d1ee   d3ee(jz                     dAee(j                     d#ee(jT                     d.ee(jh                     d
ee   de	de+e(jX                     f$dBZO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd!ed6ed?ee'e
e(jl                  e+e   f         d@ee'e
e(jl                  e+e   f         d&eeEjb                     d'eeEjd                     d(ed7ed,ee   d*e
ee'e   eEjf                  f   d+e
ee'e   f   d1ee   d3eeEjz                     d8ee(j                     dAee(j                     d#ee(jT                     d.ee(jh                     d
ee   de	de(j                  f(dCZP	 	 	 	 	 	 	 	 	 	 	 	 	 dd!edDee(j                     dEee'e(j                        d&ee(jb                     d'ee(jd                     d(ed)ed*e
ee+e   e(jf                  f   d+e
ee+e   f   d1ee   d3ee(jz                     d#ee(jT                     d.ee(jh                     d
ee   de	de+e(jX                     f dFZS	 	 dd!ed"e'e(j                     d#ee(jT                     d
ee   de	de+e+e(jX                        fdGZU	 	 	 	 	 	 	 	 	 dd!edHee(jb                     d(edIee(j                     d)ee(jl                     d*e
ee'e   e(jf                  f   d+e
ee'e   f   d#ee(jT                     d.ee(jh                     d
ee   de	dee+e(j                     ee(jl                     f   fdJZX	 	 	 	 dd!edKee(jb                     dLed.ee(jh                     d
ee   de	de(j                  fdMZZ	 	 	 	 	 	 dd!edNedOee(jb                     d(edLed
ee   d#ee(jT                     d.ee(jh                     de	de(j                  fdPZ\	 	 	 dd!edQe(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fdTZ`	 	 	 dd!edQe'e(j                     dRedSee(j                     d.ee(jh                     de	de(j                  fdUZb	 	 	 dd!edVe'e   dQe(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fdWZd	 	 	 	 	 dd!edXe'e(jl                     d*e
ee'e   e(jf                  f   d+e
ee'e   f   d#ee(jT                     d.ee(jh                     d
ee   de	de+e(j                     fdYZeefdQe(j                  deej                  eejh                     f   fdZ       ZgefdQe(j                  d.ee(jh                     deEj                  fd[       Zhefd\ej                  de+ejl                     fd]       ZiefdQe(j                  deee+eEj                        eeEjb                     f   fd^       Zk	 	 	 dd!ed\e(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fd_Zl	 	 	 	 dd!ed`e(j                  dQe(j                  dNee   dRedSee(j                     d.ee(jh                     de	de(j                  fdaZn	 	 	 dd!ed`e(j                  dQe(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fdbZo	 	 	 dd!edce'e   dQe(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fddZp	 	 	 dd!ed\e(j                  dRedSee(j                     d.ee(jh                     de	de(j                  fdeZq	 	 dd!edfe'e(j                     dRedSee(j                     de	de+e(j                     fdgZs	 ddhe'e(j                     d
ee   de	defdiZud!ede	de(j                  fdjZwde	de(j                  fdkZxde	de(j                  fdlZzd!ede	de(j                  fdmZ|d!ede	defdnZ}	 	 	 	 	 	 	 	 dd!edoee(j                     dpee(j                     dqee(j                      dree(j                     dsee(j                     d
ee   dteeee(j                  f      duee(j
                     de	defdvZ	 dd!ed
ee   de	defdwZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd!edqee
e(j                  eee(j                  f   f      dxee   dyee   dzee   d{ee   dree(j                     doee(j                     d|ee(j                     dsee(j                     d}ee(j                     d
ee   dteeee(j                  f      d~ee(j                     duee(j
                     de	def"dZ	 	 	 	 	 	 	 	 	 	 	 	 	 dd!edqe
e(j                  eee(j                  f   f   dxee   dyee   dzee   d{ee   dree(j                     doee(j                     d|ee(j                     dsee(j                     d}ee(j                     d
ee   dteeee(j                  f      d~ee(j                     duee(j
                     de	def"dZedee   fd       Z	 	 	 	 dded!edededee   dRed.ee(jh                     ddfdZ	 	 	 	 	 	 dd!edee(j                     dededee   dedRed.ee(jh                     de	ddfdZ	 	 	 	 	 	 dd!edQee(j*                     dededee   dedRed.ee(jh                     de	ddfdZ	 	 	 	 	 	 	 	 dd!edVe
eee(j`                  f   e(j`                  ee(j.                     f   d`eeee	e	f         dXeee(jl                        dededee   dedRed.ee(jh                     de	ddfdZ	 	 	 	 dd!ededee(j2                     dee(j2                     dRedSee(j                     de	de(j                  fdZ	 	 dd!ededRedSee(j                     de	de(j                  fdZd!ede	de+e(j8                     fdZ	 dd!edRede	dee(j8                     fdZ	 dd!ededRede	dee   f
dZde	de+e(j8                     fdZ	 ddRede	de(j8                  fdZ	 ddedRede	dee   fdZ	 	 	 	 dd!ededee   dee   dee(jF                     dRede	dee   fdZd!edede	de+e(j8                     fdZ	 dd!ededRede	dee(j8                     f
dZ	 dd!edededRede	dee   fdZ	 	 	 	 dd!edededee   dee   dee(jF                     dRede	dee   fdZdede	de(jR                  fdZde	de(jR                  fdZde	de(jR                  fdZ	 	 	 	 dd!ede(jZ                  dee   dyee   dee+e      d
ee   de	defdZ	 dd!ede(jZ                  d
ee   de	def
dZde(j`                  fdZ xZS )AsyncQdrantRemote   Nurlport	grpc_portprefer_grpchttpsapi_keyprefixtimeouthostgrpc_optionsauth_token_providercheck_compatibilitykwargsc                    t        |   d0i | || _        || _        |
xs 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"                  r|j"                  | _        | j                  dvr*t        d| j                         |	xs d| _        || _        |t%        j&                  |      nd }|| _        || _        |j-                  dd       }|%| j                  dv rt/        j0                  d d      }|j-                  dd      }g | _        |j-                  di       j5                         D ci c]  \  }}||
 c}}| _        |M| j                  dk(  rt9        dt:        d       || j6                  d<   | j2                  j=                  d|f       t>        j@                  jC                  d      }tE        jF                         }d| d| }|| j6                  d<   || j                  d<   |j-                  d d       }|'tI        |tJ              stM        d!tO        |             |tJ        jP                  k(  rt        d"      || _)        | j                  | j                   d#| j                   n| j                  }| j                   d$| }tU        || j                        | _+        | j6                  |d%|| _,        ||| jX                  d<   ||| jX                  d&<   || _-        n| j\                  | _-        | j*                  E| j                  dk(  rt9        d't:        d       t_        | j*                        }|| jX                  d(<   ta        d0d)| jV                  i| jX                  | _1        d | _2        d | _3        d | _4        d | _5        d | _6        d| _7        |r	 t>        j@                  jC                  d      }tq        | jV                  | j6                  | jX                  js                  d(            }|st9        d*t:        d       y tu        ||      st9        d+| d,| d-t:        d       y y y c c}}w # tv        $ r#}ty        jz                  d.| d/       Y d }~y d }~ww xY w)1Nr.   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 )r8   r.   zUnknown scheme: limits)r;   z	127.0.0.1)max_connectionsmax_keepalive_connectionshttp2Fmetadataz,Api key is used with an insecure connection.   messagecategory
stacklevelzapi-keyzqdrant-clientzpython-client/z python/z
User-Agentzgrpc.primary_user_agent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?   r1   z8Auth token provider is used with an insecure connection.authr2   zFailed to obtain server version. Unable to check client-server compatibility. Set check_compatibility=False to skip version check.zQdrant client version z% is incompatible with server version z. Major versions should match and minor version difference must not exceed 1. Set check_compatibility=False to skip version check.zUnable to get server version: z!, server version defaults to None )>super__init___prefer_grpc
_grpc_port_grpc_options_https_scheme_prefixlen
ValueError
startswithr   r2   r+   _host_portschemepathmathceil_api_key_auth_token_providerpophttpxLimits_grpc_headersitems_rest_headersr   UserWarningappend	importlibr@   versionplatformpython_version
isinstancer   	TypeErrortypeDeflate_grpc_compressionr   rest_uri
_rest_args_timeoutDEFAULT_GRPC_TIMEOUTr   r!   openapi_client_grpc_channel_grpc_points_client_grpc_collections_client_grpc_snapshots_client_grpc_root_client_closedr   getr   	Exceptionloggingdebug)selfr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   
parsed_urlrq   r<   r?   kvclient_versionri   
user_agentrF   addressbase_urlbearer_authserver_versioner	__class__s                                K/RAG/venv/lib/python3.12/site-packages/qdrant_client/async_qdrant_remote.pyrL   zAsyncQdrantRemote.__init__:   s   $ 	"6"'#)/R$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)0)<499W%$$7!Hd+>zz77dVWX

7E*17J1K1Q1Q1ST1Sv1ad1ST||v%J( 
 -4Dy)%%y'&:;"++33OD!002%n%5Xn=MN
+5<(8B4528**=OQU2V'<Lk1Z^_cdt_u^vw  {222x  "226**2HTZZL$**.djjll^3wi0$,,7&*&8&85SFS(.DOOH%)1DOOI&$DM 55DM$$0||v%V( 
 %T%>%>?K&1DOOF#9B :
:
"&//:
 ">B HL%DH#<@"!*!3!3!;!;O!L!3MM4#5#5t7J7J67R" &  !e!,#$
 '~~F "88HHmn|m}  ~@  !A!,#$ G m UP  4RD8YZ s%   VA-V" 4%V" "	W+W		Wreturnc                     | j                   S N)ry   r~   s    r   closedzAsyncQdrantRemote.closed   s    ||    
grpc_gracec                   K   t        | d      r1| j                  %	 | j                  j                  |       d {    	 | j                  j                          d {    d| _
        y 7 /# t        $ r t	        dt
        d       Y Jt        $ r Y Tw xY w7 9# t        $ r t	        dt
        d       Y d| _
        y w xY ww)Nrt   )gracezKUnable to close grpc_channel. Connection was interrupted on the server siderA   rB   zNUnable to close http connection. Connection was interrupted on the server sideT)hasattrrt   closeAttributeErrorr   rd   RuntimeErrorr8   acloser{   ry   )r~   r   r6   s      r   r   zAsyncQdrantRemote.close   s     4)d.@.@.L	((..Z.@@@	))""$$$ # A! i( 
    % 	h$
 	st   CA- A+A- B BB #C+A- -BC
BCBCB B?5	C>B??Cc                     t        |       }|j                  |j                  |j                  |j                  f\  }}}}||||fS r   )r   rX   r2   r+   rY   )r*   parse_resultrX   r2   r+   r0   s         r   
_parse_urlzAsyncQdrantRemote._parse_url   sP    %cN	(
$tV dF++r   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.)r2   r+   sslr@   optionscompressionr4   )ry   r   rt   get_channelrV   rN   rP   ra   rO   rn   r]   r   s    r   _init_grpc_channelz$AsyncQdrantRemote._init_grpc_channel   sl    <<^__%!,ZZ__KK++** 22$($=$="D &r   c                 l    | j                          t        j                  | j                        | _        y r   )r   r   
PointsStubrt   ru   r   s    r   _init_grpc_points_clientz*AsyncQdrantRemote._init_grpc_points_client   s%    !#'??43E3E#F r   c                 l    | j                          t        j                  | j                        | _        y r   )r   r   CollectionsStubrt   rv   r   s    r   _init_grpc_collections_clientz/AsyncQdrantRemote._init_grpc_collections_client   s'    !(,(<(<T=O=O(P%r   c                 l    | j                          t        j                  | j                        | _        y r   )r   r   SnapshotsStubrt   rw   r   s    r   _init_grpc_snapshots_clientz-AsyncQdrantRemote._init_grpc_snapshots_client   s'    !&*&8&89K9K&L#r   c                 l    | j                          t        j                  | j                        | _        y r   )r   r   
QdrantStubrt   rx   r   s    r   _init_grpc_root_clientz(AsyncQdrantRemote._init_grpc_root_client  s%    !!%1C1C!Dr   c                 R    | j                   | j                          | j                   S )zgRPC client for collections methods

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

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

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

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

        Returns:
            An instance of raw REST API client, generated from OpenAPI schema
        rs   r   s    r   restzAsyncQdrantRemote.rest4       """r   c                     | j                   S r   r   r   s    r   r8   zAsyncQdrantRemote.http=  r   r   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_consistencyr1   r1   searches)r   r   r1   search_request_batchzSearch batch returned None)rM   rj   r"   SearchRequestr   convert_search_requestr   ReadConsistencyconvert_read_consistencyr   SearchBatchr   SearchBatchPointsrq   resultr   convert_scored_pointSearchPointsconvert_search_pointsr8   
search_apisearch_batch_pointsSearchRequestBatch
r~   r   r   r   r1   r6   rgrpc_reshithttp_ress
             r   search_batchzAsyncQdrantRemote.search_batchF  s     
 "	 "A a!5!56 11!_E "	   +':6;Q;Q'RS(AA+N7;7G7G7S7S&&$3"*%0#	 $+#6DMM 8T 8 2H U]TcTcTcqJ#005JTc  "!A 8B!TEVEV7W
003]^^!  
 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        dt        d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` insteadr)   zsearch-append-payloadrC   rD   rE   idxdatar      model)r   vectorvector_namefilterr   r   r   r   paramsr   r   r1   sparse_indicesr   r   namer   )	r   r   r   r   r   with_vectorr   r   	shard_key)r   r   r1   search_requestSearch returned None).r   DeprecationWarningrj   npndarraytolistrM   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   rq   r   r   r   WithPayloadSelectorconvert_with_payload_selectorr8   r   r   r   )r~   r   r   r   r   r   r   r   r   r   r   r   r   r1   r6   r   r   r   resr   search_resultr   s                         r   searchzAsyncQdrantRemote.searchs  sc    . o++	 *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  $+#6DMM# .E . (C& EHJJOJSJ33C8J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!O>#O4$O>6O7DO>O<O>7O>queryusingprefetchlookup_fromc                 $	  K   | 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        j,                  |      }| j.                  j1                  t3        j4                  |||||||
|	|||||||      ||n| j6                         d {   }|j8                  D cg c]  }t;        j<                  |       }}t	        j>                  |      S t        |t2        j0                        rt;        j                  |      }t        |t2        j@                        rt;        j                  |      }t        |t              r>|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        jB                        rt;        jD                  |	      }	t        |t2        j"                        rt;        j$                  |      }t	        jF                  ||||||||||
|	|      }| jH                  jJ                  jM                  ||||       d {   }|j8                  }|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  r1   r   r   r   points)r   r  r  r  r   r   r   r   r   r   r   r  )r   r   r1   query_requestr   )'rM   r   convert_queryrj   r"   Prefetchconvert_prefetch_queryr  r  r  r  r  r   r  r  r  r	  LookupLocationconvert_lookup_locationr   r   r
  r  r   Queryr   QueryPointsrq   r   r   r   QueryResponsePrefetchQueryr  r  QueryRequestr8   r   query_points)r~   r   r  r  r  r   r   r   r   r   r   r   r  r   r   r1   r6   pr  r   scored_pointsr  query_resultr   s                           r   r$  zAsyncQdrantRemote.query_points  s    <  "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" $+#6DMM% -C - 'C( NQZZXZcZ<<SAZM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   A)R+8Q<#G R#R$R6RB
R8R	DR R!!R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]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   r1   r   r  r   )r   r   r1   query_request_batchzQuery batch returned None)rM   rj   r"   r#  r   convert_query_requestr   r   r   r   
QueryBatchr   QueryBatchPointsrq   r   r!  r   r   r   convert_query_pointsr8   r   query_batch_pointsQueryRequestBatchr   s
             r   r.  z$AsyncQdrantRemote.query_batch_pointsX  s     
 "	 "A a!4!45 00OD "	   +':6;Q;Q'RS(AA+N6:6F6F6Q6Q%%$3!)%0#	 $+#6DMM 7R 7 1H "	 )A $$LMHHUHSJ;;C@HU )	  "!A 7ADDTDT6U
//2[\\!  
 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                  
  K   | 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        j,                  |      }t        |t        t        j.                              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|||n| j<                         d {   j>                  }tA        jB                  |      S t        |t(        jD                        rtA        j                  |      }t        |t(        jF                        rtA        j                  |      }t        |t              r>|D cg c]3  }t        |t(        jF                        rtA        j                  |      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$                  |      }t        |t(        j*                        rtA        j,                  |      }t	        jL                  ||||||||||	||
||      }| jN                  jP                  jS                  ||||       d {   }|J d       |j>                  S c c}w 7 *c c}w 7 &w)Nr   
collectionr   r  r  r   r   r   r   r   r   r  r0  r1  r2  r  r1   r   r   r   )r   r  r  r  r   r   r   r   r0  r1  r   r   r2  r  )r   r   r1   query_groups_requestz%Query points groups API returned NonerJ   )*rM   r   r  rj   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QueryPointGroupsrq   r   r   convert_groups_resultr  r"  r  r  QueryGroupsRequestr8   r   query_points_groups)r~   r   r0  r  r  r  r   r   r   r1  r   r   r   r2  r  r   r   r1   r6   r%  r   r  r'  s                          r   r>  z%AsyncQdrantRemote.query_points_groups  s    @  "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#& (/':G) 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?   A)T+8S?#H7TTBT08T(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)Nr4  r   r   r   r   r   r   r   r   r   r1  r   r   r   r   r0  r   r2  r1   r   r   r   r   )r   r   r   r   r   r   r0  r1  r   r2  r   )search_groups_requestr   r   r1   rJ   )0rM   rj   r"   r7  r   r8  r9  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SearchPointGroupsrq   r   r   r<  r   r   r   r   r  r  SearchGroupsRequestrs   r   search_point_groups)r~   r   r   r0  r   r   r   r1  r   r   r   r2  r   r   r1   r6   r   r   r   r   r@  s                        r   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   rF  r   r  r1   r   r   r   r   r   rF  r  r   r   r   r1   search_matrix_requestz(Search matrix pairs returned None result)rM   rj   r"   r  r   r  r   r
  r  r   r   r   SearchMatrixPairsr   SearchMatrixPointsrq   r   convert_search_matrix_pairsr   rs   r   search_matrix_pairsSearchMatrixRequestr~   r   r   r   rF  r  r   r   r1   r6   responsesearch_matrix_results               r   rO  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   rH  r   rI  rJ  z*Search matrix offsets returned None result)rM   rj   r"   r  r   r  r   r
  r  r   r   r   SearchMatrixOffsetsr   rM  rq   r   convert_search_matrix_offsetsr   rs   r   search_matrix_offsetsrP  rQ  s               r   rX  z'AsyncQdrantRemote.search_matrix_offsets  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]]/##?"rT  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   r1   r   r   )r   r   r1   recommend_request_batch)rM   rj   r"   RecommendRequestr   convert_recommend_requestr   r   r   r   RecommendBatchr   RecommendBatchPointsrq   r   r   r   RecommendPointsconvert_recommend_pointsr8   r   recommend_batch_pointsRecommendRequestBatchr   s
             r   recommend_batchz!AsyncQdrantRemote.recommend_batch  s     
 "	 "A a!8!89 44QH "	   +':6;Q;Q'RS(AA+N7;7G7G7V7V))$3%-%0#	 $+#6DMM 8W 8 2H U]TcTcTcqJ#005JTc  "	 "A a!5!56 33A6 "	   ii**AA$3 +#,2,H,HRZ,[	 B   f  OG2 KsZ   G 9F'A?G F,G  F33F.F3G 8F9AG F>G .F33G 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   re  rf  r   r   r   r   r   r   r   r  r  r   rg  positive_vectorsnegative_vectorsr   r1   r   )r   re  rf  r   r   r   r   r   r   r  r  rg  r   )r   r   r1   recommend_request"Recommend points API returned NonerJ   )(rM   r   !convert_recommend_examples_to_ids%convert_recommend_examples_to_vectorsrj   r"   r  r  r  r  r   r  r  r  r	  r  r  r   r   r9  RecommendStrategyconvert_recommend_strategyr
  r  r   	Recommendr   r`  rq   r   r   r   PointIdconvert_point_idr  r  rs   r   rZ  r\  )r~   r   re  rf  r   r   r   r   r   r   r   r  r  rg  r   r   r1   r6   positive_idsri  negative_idsrj  r  r   exampler   s                             r   	recommendzAsyncQdrantRemote.recommend  sU    ( 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OJSJ33C8JOO  (	  (G gt||4 ++G4  (	    (	  (G gt||4 ++G4  (	   ,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)Nr4  r   r   re  rf  r   r0  r   r1  r   r   r   r   r  r  r   r2  rg  ri  rj  r   r1   r   z"Recommend groups API returned None)re  rf  r   r0  r   r1  r   r   r   r   r  r  r2  rg  r   )r   r   r1   recommend_groups_requestrl  rJ   )+rM   rj   r"   r7  r   r8  r9  r   rm  rn  r  r  r  r  r   r  r  r  r	  r  r  r   r   ro  rp  r
  r  r   RecommendGroupsRecommendPointGroupsrq   r   r   r<  rr  rs  r  r  rs   r   recommend_point_groupsr   RecommendGroupsRequest)r~   r   r0  re  rf  r   r   r   r1  r   r   r   r  r  r2  rg  r   r   r1   r6   rt  ri  ru  rj  r  point_idr   s                              r   recommend_groupsz"AsyncQdrantRemote.recommend_groups  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 h5 ++H5 !)	   !)	 !)H h5 ++H5 !)	   ,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   r  r  r   r   r   r   r   r   r  r  r   r   r1   r   )r  r  r   r   r   r   r   r   r  r  r   )r   r   r1   discover_requestz!Discover points API returned None)&rM   rj   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   DiscoverPointsrq   r   r   r   TargetVectorr  r  rs   r   discover_pointsDiscoverRequest)r~   r   r  r  r   r   r   r   r   r   r  r  r   r   r1   r6   pairr  r   r   s                       r   discoverzAsyncQdrantRemote.discover  s    $ ?G %v':6;R;R'ST 008 	  $	 $D dF$=$=> 77= $	   ,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OJSJ33C8JOO %*VT=N=N*O 008  $	 $D dD$;$;< 77= $	   ,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   r  r   r1   r   r   )r   discover_request_batchr   r1   )rM   rj   r"   r  r   convert_discover_requestr   DiscoverBatchr   DiscoverBatchPointsrq   r   r   r   r  convert_discover_pointsr8   r   discover_batch_pointsDiscoverRequestBatchr   s
             r   discover_batchz AsyncQdrantRemote.discover_batchy  s     
 "	 "A a!7!78 33AG "	   8<7G7G7U7U(($3$,%0#	 $+#6DMM 8V 8 2H U]TcTcTcqJ#005JTc  "!A :DAtGZGZ9[
2215abb!  
 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   r1   r   next_page_offset)r   r   r  r   r   r   r   )r   r   scroll_requestr1   z&Scroll points API returned None result)(rM   rj   r   r"   ExtendedPointIdr   convert_extended_point_idr  r  r  r  r  r	  r   r   r
  r  OrderByInterfaceconvert_order_by_interfacer   Scrollr   ScrollPointsrq   r   r   convert_retrieved_pointHasFieldrs  r  rr  OrderByconvert_order_byr  r  rs   
points_apiscroll_pointsScrollRequestr  )r~   r   r  r   r  r   r   r   r   r   r1   r6   r  pointscroll_results                  r   scrollzAsyncQdrantRemote.scroll  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# $+#6DMM .E . (C  IL

S
u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   r1   r   )r   r  r   )r   count_requestr1   z!Count points returned None result)rM   rj   r"   r  r   r  r   r
  r  r   Countr   CountPointsrq   r   r   convert_count_resultrs   r  count_pointsCountRequest)	r~   r   r  r  r   r1   r6   rR  count_results	            r   countzAsyncQdrantRemote.count  sS     ,6)88|L,.A&BYBY.Z[%/%J%JK]%^"&&,,$$(7+#+= ' (/':G - 	 	 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  r1   r   r   r   )hits)r   r  r   r   r  )r   r   r1   facet_requestz!Facet points returned None result)rM   rj   r"   r  r   r  r   r
  r  r   r   r   Facetr   FacetCountsrq   r   FacetResponser  r   convert_facet_value_hitrs   r  facetFacetRequestr   )r~   r   r  r  r   r  r1   r   r   r6   rR  r   facet_results                r   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  )"rM   rj   r"   Batchr   convert_batch_vector_structr  rS   idsranger   PointStructr  payloadsconvert_payloadr  convert_point_structWriteOrderingconvert_write_orderingr   r
  r  r   UpsertUpsertPointsrq   r   r   convert_update_result
PointsListPointsBatchrs   r  upsert_points)r~   r   r  r  r  r   r6   vectors_batchr   r  grpc_resulthttp_results               r   upsertzAsyncQdrantRemote.upsertP  s     &&,,/4>4Z4ZNNC

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

3P -c 2!??6 !+ : :6??3;O P!  6  	 &$'
 "(	 "( "%););< 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                  |||||      | 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   r  update_vectorsr  )rM   r   convert_point_vectorsrj   r"   r  r  r   r
  r  r   UpdateVectorsr   UpdatePointVectorsrq   r   r   r  rs   r  r  )	r~   r   r  r  r  r   r6   r  r  s	            r   r  z AsyncQdrantRemote.update_vectors  sQ     KQR6%j66u=6FR(F$8$89%<<XF,.A&BYBY.Z[%/%J%JK]%^"&&44++(7!%!)+= !MM 5 	 	 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                  |      |||      | 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   r   z#Delete vectors returned None result)r   r  r   r   )r   r  r  delete_vectors)rM   _try_argument_to_grpc_selectorrj   r"   r  r   r  r   r
  r  r   DeleteVectorsr   DeletePointVectorsVectorsSelectorrq   r   r   r  '_try_argument_to_rest_points_and_filterrs   r  r  r   )r~   r   r  r  r  r  r   r6   r  opt_shard_key_selectorr  _points_filters                r   r  z AsyncQdrantRemote.delete_vectors  sw     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!)+= !MM 5 
 
 f  *Q,QQ*33K@@!%!M!Mf!UWg))44CC$3%#,,,&&&"4$	 D   f!
"s%   C&F(F )BF1F2FF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   r1   r   zRetrieve returned None result)r  r   r   r   )r   r   point_requestr1   z!Retrieve API returned None result)rM   rj   r   r"   r  r   r  r  r  r	  r   r   r
  r  r   Getr   	GetPointsrq   r   r   r  r  r  rr  rs  rs   r  
get_pointsPointRequest)r~   r   r  r   r   r   r   r1   r6   r   r   recordr  s                r   retrievezAsyncQdrantRemote.retrieve  se     ,(;F<W<W(XY)HHV
 	 C c#6v7M7M#NO 44S9 	   &::<HL+':6;Q;Q'RS(AA+N,.A&BYBY.Z[%/%J%JK]%^"&&**NN(7%1%1)4+= ' (/':G +   f  %F'FF%MSTV6J66v>VTT,(@(@A)GGU C 5?sDLL4Q
++C0WZZ  
 ))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: )rj   r  r   PointsSelectorPointsIdsListr   r"   r  r   r  r   r   r  convert_points_selectorr  r   FilterSelectorrT   rl   )clsr  r   r   r  s        r   r  z0AsyncQdrantRemote._try_argument_to_grpc_selector1  s    "fd#"11))
 $*	 $*C &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  )rj   r  r   rr  r   rs  r   r"   PointIdsListr  r   r   r   r  r  r  rT   rl   )r  r  r   r   r  r  s         r   _try_argument_to_rest_selectorz0AsyncQdrantRemote._try_argument_to_rest_selectorQ  sX    fd# "!C 5?sDLL4Q
++C0WZZ!   (##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       r   _points_selector_to_points_listz1AsyncQdrantRemote._points_selector_to_points_listq  sF     ))*BC<Iot,8= 	r   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  )rj   r  r   rr  r   rs  r  r   r"   r  r  r  r   r  r  rT   rl   )r  r  r  r  r   selectors         r   r  z9AsyncQdrantRemote._try_argument_to_rest_points_and_filter}  s    fd# "!C 5?sDLL4Q
++C0WZZ!  ( !!!  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)rM   r  rj   r"   r  r   r  r   r
  r  r   r  r   Deleter   DeletePointsrq   r   r  rs   r  delete_points	r~   r   r  r  r  r   r6   r  r   s	            r   deletezAsyncQdrantRemote.delete  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)rM   r  rj   r"   r  r   r  r   r
  r  r   r  r   
SetPayloadr   SetPayloadPointsr  rq   r   r  rs   r  r  )r~   r   r  r  r  r  r  r   r6   r  r  r  r  r   s                 r   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)rM   r  rj   r"   r  r   r  r   r
  r  r   r  r   OverwritePayloadr   r  r  rq   r   r  rs   r  overwrite_payloadr  )r~   r   r  r  r  r  r   r6   r  r  r  r  r   s                r   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)rM   r  rj   r"   r  r   r  r   r
  r  r   r  r   DeletePayloadr   DeletePayloadPointsrq   r   r  rs   r  r  )r~   r   r  r  r  r  r   r6   r  r  r  r  r   s                r   r  z AsyncQdrantRemote.delete_payload0  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)rM   r  rj   r"   r  r   r  r   r
  r  r   r  r   ClearPayloadr   ClearPayloadPointsrq   r   r  rs   r  clear_payloadr  s	            r   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)rM   r   convert_update_operationrj   r"   r  r  r   UpdateBatchr   UpdateBatchPointsrq   r   r   r  rs   r  batch_updateUpdateOperations)r~   r   r&  r  r  r6   	operationr   s           r   batch_update_pointsz%AsyncQdrantRemote.batch_update_points  sN     Pa!Pa9
33I>Pa  ! (F$8$89%<<XF **66..,;!%'8%-	 !% 7   &

F 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                  ||      ||n| 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)r1   actionsr   )r2  )r1   change_aliases_operationzUpdate aliases returned None)rM   rj   r   AliasOperationsr   convert_alias_operationsr   UpdateAliasesChangeAliasesrq   r   r   r8   aliases_apiupdate_aliasesr"   ChangeAliasesOperation)r~   r0  r1   r6   r.  r3  r   s          r   update_collection_aliasesz+AsyncQdrantRemote.update_collection_aliases  sc     
 ";	( ";I ")T-A-AB 33I> ";	 % ( ++99&&w@XY'.':G :   f 7	$
 7	 )T%9%9: //	: 7	 	! $
 ))''66)/)F)F4* 7   & 	 !A#AA!7(
$
s<   E8D5AED:E#8D<A EEE<E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)rM   r   ListCollectionAliasesr   ListCollectionAliasesRequestrq   r?  r   CollectionsAliasesResponser   convert_alias_descriptionr8   r8  get_collection_aliasesr   )r~   r   r6   rR  descriptionr   s         r   rD  z(AsyncQdrantRemote.get_collection_aliases  s      ++AA55oV MM B   g  33YaYa+J88EYa  ))''>>>__
& 	 !I#II!
 `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)rM   r   ListAliasesr   ListAliasesRequestrq   r?  r   rB  r   rC  r8   r8  get_collections_aliasesr   r~   r6   rR  rE  r   s        r   get_aliaseszAsyncQdrantRemote.get_aliases  s     ++77++-t}} 8   g	 
 33YaYa+J88EYa  ))''??AA
& 	 !>#>>!

 B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)rM   r   Listr   ListCollectionsRequestrq   rN  r   CollectionsResponser   convert_collection_descriptionr8   collections_apiget_collectionsr   rJ  s        r   rT  z!AsyncQdrantRemote.get_collections	  s     ++00//14== 1   k	 
 ,, (0'/ ==kJ'/  ))++;;==
& 	 !B#BB!
 >rL  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)rM   r   convert_collection_infor   r  r   GetCollectionInfoRequestrq   r   r8   rS  get_collectionr~   r   r6   r   s       r   rX  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)rM   r   CollectionExistsr   CollectionExistsRequestrq   r   existsr8   rS  collection_existsrY  s       r   r^  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_configstrict_mode_configc
                   K   | j                   rt        |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                  |      }t        |	t        j                         rt	        j"                  |	      }	| j$                  j'                  t)        j*                  ||||||||	|	      ||n| j,                         d {   j.                  S t        |t(        j                        rt1        j
                  |      }t        |t(        j                        rt1        j                  |      }t        |t(        j2                        rt1        j                  |      }t        |t(        j                        rt1        j                  |      }t        |t(        j                        rt1        j                  |      }| j4                  j6                  j9                  |t        j*                  |||||||	      |       d {   j.                  }|J d       |S 7 Y7 w)N)	r   r_  r   ra  rb  rc  rd  re  r1   r   )r_  r   r  rb  rc  sparse_vectorsre  )update_collectionr1   zUpdate collection returned None)rM   rj   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_configStrictModeConfigconvert_strict_mode_configr   Updater   UpdateCollectionrq   r   r   VectorsConfigDiffr8   rS  rh  )r~   r   r_  r`  ra  rb  rc  r1   rd  re  r6   r   s               r   rh  z#AsyncQdrantRemote.update_collection2	  s     +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))% ,f.E.EF%/%J%JK]%^"++22))(7*;0'5$/,?.C+= '
 (/':G 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'9#   >   & 	 !D#DD!S4s%   FK6K1D>K6K4K64K6c                 V  K   | j                   rR| j                  j                  t        j                  ||      ||n| j
                         d {   j                  S | j                  j                  j                  ||       d {   j                  }|J d       |S 7 R7 w)N)r   r1   r   zDelete collection returned None)
rM   r   r  r   DeleteCollectionrq   r   r8   rS  delete_collection)r~   r   r1   r6   r   s        r   r{  z#AsyncQdrantRemote.delete_collection~	  s      ++22))/SZ['.':G 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        dt        dd       | j                  r	t        |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        |t        j.                        rt        j0                  |      }t3        j4                  |||	|||||||||
|||      }| j6                  j9                  || j:                         d {   j<                  S t        |t2        j                        rt?        j                  |      }t        |t2        j                        rt?        j                  |      }t        |	t2        j                        rt?        j                  |	      }	t        |
t2        j                         rt?        j"                  |
      }
t        |t@              rt?        j&                  |      }t	        j4                  ||||||||	|
||||      }| jB                  jD                  jG                  |||       d {   j<                  }|J d	       |S 7 W7 w)
Nzinit_from is deprecatedr)   zcreate-collection-init-fromr   )r   rb  r  r_  r|  r  r1   ra  r}  r~  init_from_collectionrc  rd  r  re  r   )r  r|  r}  r~  r  rb  r_  r  rc  r  rg  r  re  )r   create_collectionr1   zCreate collection returned None)$r   r   rM   rj   r"   VectorParamsrm  r   convert_vectors_configro  rp  ri  rj  WalConfigDiffconvert_wal_config_diffr   QuantizationConfigconvert_quantization_configInitFromconvert_init_fromrs  ShardingMethodconvert_sharding_methodrt  ru  r   CreateCollectionr   Createrq   r   r   r9  r8   rS  r  )r~   r   ra  r|  r}  r~  r  rb  r_  r  rc  r  r1   rd  r  re  r6   r  create_collection_requestr   s                       r   r  z#AsyncQdrantRemote.create_collection	  s    *  1+1	 .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,f.E.EF%/%J%JK]%^" $ 5 5 /'%"3) /-#5)A%.$7&; /#5!$ ++223Ddmm2\\f 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+1%
!  ))++== /"; >  
 & 	 !D#DD!G ]8s%   HM;M6 D<M;M9M;9M;c                    K   | j                  ||       d {    | j                  |||||||||	|
|||||       d {   S 7 ,7 w)Nr   )r   ra  r|  r}  r~  r  rb  r_  r  rc  r  r1   rd  r  re  )r{  r  )r~   r   ra  r|  r}  r~  r  rb  r_  r  rc  r  r1   rd  r  re  r6   s                    r   recreate_collectionz%AsyncQdrantRemote.recreate_collection	  sw     & $$_g$FFF+++)%1%=+#/! 3"7+1 , 
 
 	
 	G
s!   A
A'A
AA
A
c                 2    | j                   rt        S t        S r   )rM   r$   r%   r   s    r   _updater_classz AsyncQdrantRemote._updater_class
  s    $$$$r   batches_iteratormax_retriesparallelmethodc                 0   |(|t               v r|}n)t        d| dt                      dt               v rdnd}| j                  rJ|| j                  | j                  || 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   r2   r+   r  r   r@   r  r   r   r1   )r   urir  r  r   r   )start_methodrJ   )r   rT   rM   rV   rN   rP   ra   rO   rq   ro   rp   r  startprocessr#   unordered_map)r~   r  r   r  r  r  r  r   r  updater_kwargsupdater_pools                r   _upload_collectionz$AsyncQdrantRemote._upload_collection#
  s:    .00% $VH,RShSjRkl  ,8;P;R+R<X_L#2

*{{ ..&8--==N $3}}*&8 //N q=/d))//A.AG__%56 7 &h0C0CR^_D'T''(8KNK Lr   records
batch_sizec	           	      n    | j                   j                  ||      }
| j                  |
||||||       y )Nr  r  )r  r   r  r  r  r   r  r  iterate_records_batchesr  )r~   r   r  r  r  r  r  r  r   r6   r  s              r   upload_recordsz AsyncQdrantRemote.upload_recordsU
  sP      ..FF
 G 
 	-+#1 	  	
r   c	           	      n    | j                   j                  ||      }
| j                  |
||||||       y )Nr  r  r   r  r  r  r  r   r  )r~   r   r  r  r  r  r  r  r   r6   r  s              r   upload_pointszAsyncQdrantRemote.upload_pointsn
  sP      ..FFz G 
 	-+#1 	  	
r   c           	      r    | j                   j                  ||||      }| j                  ||||||	|
       y )N)r  r  r  r  r  )r  iterate_batchesr  )r~   r   r  r  r  r  r  r  r  r  r   r6   r  s                r   upload_collectionz#AsyncQdrantRemote.upload_collection
  sS       ..>>W#* ? 
 	-+#1 	  	
r   
field_namefield_schema
field_typec                   K   |t        dt        dd       |}| j                  rd }t        |t        j
                        rt        j                  |      }t        |t              r(t        j                  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                  || jP                         d {   jR                        S t        |t              rtI        j                  |      }t        |t        j                        rtI        j                  |      }| jT                  jV                  jY                  |t	        jN                  ||      ||	       d {   jR                  }|J d
       |S 7 7 w)Nz2field_type is deprecated, use field_schema insteadr)   zpayload-index-field-typer   index_params)r   r  r  field_index_paramsr  r  r   )r  r  )r   create_field_indexr  r  z Create field index returned None)-r   r   rM   rj   r"   PayloadSchemaTyper   convert_payload_schema_typer9  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   CreateFieldIndexrq   r   rs   indexes_apir  )r~   r   r  r  r  r  r  r6   r  r   r  requestr   s                r   create_payload_indexz&AsyncQdrantRemote.create_payload_index
  s     !L+.	 &L!%,(@(@A)EElS,,)EE,,\:  ,,@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$--8XX``  lC(%AA,OLlD$;$;<%CCLQL%%11DD /#)#:#:)$ ! E   & 	 !E#EE!# Ys%   LOOB'O9O:OOc                   K   | j                   ret        j                  ||||      }t        j                  | j
                  j                  || j                         d {   j                        S | j                  j                  j                  ||||       d {   j                  }|J d       |S 7 X7 w)N)r   r  r  r  r   z Delete field index returned None)rM   r   DeleteFieldIndexCollectionr   r  r   DeleteFieldIndexrq   r   rs   r  delete_field_index)r~   r   r  r  r  r6   r  r   s           r   delete_payload_indexz&AsyncQdrantRemote.delete_payload_index
  s      55 /%!	G 33''88$--8XX``  %%11DD /%!	 E   & 	 !E#EE! Ys$   AB>!B:">B> B<!B><B>c                   K   | j                   rp| j                  j                  t        j                  |      | 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=  r   'List snapshots API returned None result)rM   r   rO  r   ListSnapshotsRequestrq   snapshot_descriptionsr   convert_snapshot_descriptionrs   snapshots_apilist_snapshotsr   )r~   r   r6   	snapshotssnapshots        r   r  z AsyncQdrantRemote.list_snapshots  s      ))..--oN MM /   $#  W``V_(J;;HEV_``%%33BBSbBcc
& 	 $O&OO$
 acs0   ACCC C<,C(C	)CCc                 `  K   | j                   rb| j                  j                  t        j                  |      | j
                         d {   j                  }t        j                  |      S | j                  j                  j                  ||       d {   j                  S 7 \7 w)Nr=  r   )r   r  )rM   r   r  r   CreateSnapshotRequestrq   snapshot_descriptionr   r  rs   r  create_snapshotr   )r~   r   r  r6   r  s        r   r  z!AsyncQdrantRemote.create_snapshot   s      ))00..O MM 1   #"  ::8DD%%33CC /d D   &		s%   AB.B*AB.B,B.,B.snapshot_namec                 (  K   | j                   rE| j                  j                  t        j                  ||      | j
                         d {    y| j                  j                  j                  |||       d {   j                  S 7 ?7 w)N)r   r  r   T)r   r  r  )
rM   r   r  r   DeleteSnapshotRequestrq   rs   r  delete_snapshotr   )r~   r   r  r  r6   s        r   r  z!AsyncQdrantRemote.delete_snapshot1  s      %%,,**$3= 	 -    %%33CC /}SW D   &		s$   ABB0B?B BBc                   K   | j                   rn| j                  j                  t        j                         | 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)Nr   z,List full snapshots API returned None result)rM   r   ListFullr   ListFullSnapshotsRequestrq   r  r   r  rs   r  list_full_snapshotsr   )r~   r6   r  r  s       r   r  z%AsyncQdrantRemote.list_full_snapshotsB  s     ))22113T]] 3   $#	 
 W``V_(J;;HEV_``..<<PPRRZZ	$T&TT$ aRs0   A	CB>CC :*C$C%C Cc                 Z  K   | j                   r`| j                  j                  t        j                         | j
                         d {   j                  }t        j                  |      S | j                  j                  j                  |       d {   j                  S 7 [7 w)Nr   )r  )rM   r   
CreateFullr   CreateFullSnapshotRequestrq   r  r   r  rs   r  create_full_snapshotr   )r~   r  r6   r  s       r   r  z&AsyncQdrantRemote.create_full_snapshotN  s      ))44224dmm 5   #"	 !
 ::;OPP))77LLRVLWW___
 Xs%   A	B+B'AB+B)B+)B+c                 $  K   | j                   rD| j                  j                  t        j                  |      | j
                         d {    y| j                  j                  j                  ||       d {   j                  S 7 >7 w)N)r  r   T)r  r  )
rM   r   
DeleteFullr   DeleteFullSnapshotRequestrq   rs   r  delete_full_snapshotr   )r~   r  r  r6   s       r   r  z&AsyncQdrantRemote.delete_full_snapshotZ  s      %%00..]KUYUbUb 1    %%33HH+$ I   &			
s$   ABB/B=B>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)rs   r  recover_from_snapshotr"   SnapshotRecoverr   )r~   r   r  r/   r  r  r  r6   s           r   recover_snapshotz"AsyncQdrantRemote.recover_snapshoth  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  )rs   r  list_shard_snapshotsr   )r~   r   r  r6   r  s        r   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  )rs   r  create_shard_snapshotr   )r~   r   r  r  r6   s        r   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  )rs   r  delete_shard_snapshotr   )r~   r   r  r  r  r6   s         r   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)rs   r  recover_shard_from_snapshotr"   ShardSnapshotRecoverr   )	r~   r   r  r  r/   r  r  r  r6   s	            r   recover_shard_snapshotz(AsyncQdrantRemote.recover_shard_snapshot  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rs   service_api
post_locksr"   LocksOptionr   )r~   r  r6   r   s       r   lock_storagezAsyncQdrantRemote.lock_storage  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  r~   r6   r   s      r   unlock_storagez AsyncQdrantRemote.unlock_storage  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)rs   r  	get_locksr   r  s      r   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             ||n| j                         d {   j                  S | j                  j                  j                  ||t        j                   ||||             d {   j                  }|J d       |S 7 j7 w)N)r   r  r}  r  r   r1   r  r   )r   r1   create_sharding_keyzCreate shard key returned None)rM   rj   r   r"   ShardKeyr   convert_shard_keyr   CreateShardKeyr   CreateShardKeyRequestrq   r   rs   distributed_apicreate_shard_keyCreateShardingKey)	r~   r   r   r  r}  r  r1   r6   r   s	            r   r'  z"AsyncQdrantRemote.create_shard_key  s     )%8%IJ&88C	++::..(7 ' $ 3 3&/*7/A&/o2	!	 (/':G ;   f" ))99JJ$3#(.(@(@"+&3+="+	) K 	 	 f  %G'GG%M9 	s%   B$D&D'AD7D8DDc           	        K   | j                   rt        |t        t        j                              rt        j                  |      }| j                  j                  t        j                  ||t        j                  |            ||n| j                         d {   j                  S | j                  j                  j                  ||t        j                   |             d {   j                  }|J d       |S 7 g7 w)N)r   r   r   )r   r1   drop_sharding_keyzDelete shard key returned None)rM   rj   r   r"   r"  r   r#  r   DeleteShardKeyr   DeleteShardKeyRequestrq   r   rs   r&  delete_shard_keyDropShardingKey)r~   r   r   r1   r6   r   s         r   r-  z"AsyncQdrantRemote.delete_shard_key  s      )%8%IJ&88C	++::..(7 ' $ 3 3i H
 (/':G ;   f	 ))99JJ$3#&,&<&<y&Q K  
 f  %G'GG%M%s%   BDD AD-D	.D	Dc                 D  K   | j                   rV| j                  j                  t        j                         | j
                         d {   }t        j                  |      S | j                  j                  j                          d {   }|J d       |S 7 P7 w)Nr   zHealthcheck returned None)rM   r   HealthCheckr   HealthCheckRequestrq   r   convert_health_check_replyr   r  root)r~   version_infos     r   infozAsyncQdrantRemote.info  s     !%!;!;'')4== "< " L 88FF!YY227799'D)DD' :s%   A	B BA B BB B )Ni  i  FNNNNNNNTr   )r   N)NN)NN
   NTFNTNNN)NNNNNr6  NTFNNNNN)NNNNNr6     TFNNNNNN)NNr6  r   TFNNNNN)Nr7  r6  NNNN)NNNNr6  r   TFNNNNNNN)NNNNr6  r   NTFNNNNNNN)NNNNr6  r   TFNNNNN)	Nr6  NNTFNNN)NTNN)Nr6  FNNN)TNN)TFNNN)TN)NNNNNNNN)NNNNNNNNNNNNNN)NNNNNNNNNNNNN)r   NFN)@   r   Nr7  FN)NNr8  r   Nr7  FN)NNTN)T)NNNT)NNNN)__name__
__module____qualname__rr   r	   r9  r  boolrm  r   r   r   r   rL   propertyr   floatr   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r    r   r8   r
   r   r   r   r  ScoredPointr   r   r   
NumpyArrayr  r  PayloadSelectorr
  r  rr  SparseVectorr  DocumentImageInferenceObjectr  r  r!  r$  r#  r.  WithLookupInterfaceGroupsResultr>  r"   rE  SearchMatrixPairsResponserO  SearchMatrixOffsetsResponserX  r\  rd  r  ro  rw  r  r  r  r  r  r  r  Recordr  CountResultr  r  r  Pointsr  UpdateResultr  PointVectorsr  r  r  r  classmethodr  r  r  r  r  r  Payloadr  r  r  r%  UpdateOperationr/  r4  r;  rB  rD  rK  rQ  rT  CollectionInforX  r^  ri  rk  rx  ro  rq  r   SparseVectorParamsrt  rh  r{  r  r  r  r  r  r  r  r   r&   r  r   r  r  r  r  VectorStructr  r  r  r  SnapshotDescriptionr  r  r  r  r  r  SnapshotPriorityr  r  r  r	  r  r  r  r  r  r"  r'  r-  VersionInfor5  __classcell__)r   s   @r   r(   r(   7   s%    ""! $!% $!%"15 $(Ic]I smI 	I
 I ~I #I I #I smI tCH~.I &(2s7#Xb)C..@%AAB
I "I  !IV   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!%)kk UO#tE{"###	
k u||,k   2 23k k k D(3-1F1FFGk D(3-/0k  "%!k" #k$ e334%k& %U%;%;<'k( #)k* +k, 
e	 -kv #FJ/36: $JN38+/6:7;?C!%7vv MMKeKKNNKK!!	
v }v  U^^(<dBC!v" u||,#v$   2 23%v& 'v( )v* D(3-1F1FFG+v, D(3-/0-v. "%/v0 e2231v2 e3343v4 %U%;%;<5v6 #7v8 9v: 
		;vx 8<!%.. 5--.. e334	.
 #. . 
e!!	".~ #FJ/36:JN38+/;?6:7;?C!%;B'B' B' MMKeKKNNKK!!	
	B'  }!B'" U^^(<dBC#B'$ u||,%B'&   2 23'B'( )B'* +B', D(3-1F1FFG-B'. D(3-/0/B'0 "%1B'2 e7783B'4 e2235B'6 e3347B'8 %U%;%;<9B': #;B'< =B'> 
		?B'^ 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$$%	&,b @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%;%;<' ' 
		'\ 26?C// #/ $$	/
 / 5..// %U%;%;</ / 
		/j 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?CJJ $E$>$>?J $E$>$>?	J
 !!8!89J e223J &e&B&BCJ #J  (U5M5M0M(NOJ %U%;%;<J J 
JZ >B"-5c]MP	* &*,026*.6:BF48BF.2!%RV:>?C%ff !%$$gc53E3E.E&FFG
f smf %SMf #+3-f "$f e223f $E$>$>?f U001f &e&>&>?f ENN+f #f   (U5M5M0M(NO!f" "%"6"67#f$ %U%;%;<%f& 'f( 
)fX '+,026*.6:BF48BF.2!%RV:>?C!$
$
 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$
  %U%;%;<!$
" #$
$ 
%$
L %\ 2 % %  $?C0"0 0 	0
 0 0 0 %U%;%;<0 
0l  $?C

 %,,'
 	

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

 
 
 
 
 %U%;%;<
 
 

> 7;15 $?C

 e&&&')9)98EDVDV;WW

 (4S>23
 hu}}-.
 
 
 
 
 
 %U%;%;<
 
 

B ;?8<26LL L u667	L
 U445L L 5../L L 
		Ld 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-- r   r(   )Bimportlib.metadatarf   r|   rZ   rh   multiprocessingr   typingr   r   r   r   r   r	   r
   r   r   r   r_   numpyr   r   r   urllib3.utilr   r   urllib.parser   $qdrant_client.common.client_warningsr   r   qdrant_clientqdrant_client._pydantic_compatr   qdrant_client.authr   qdrant_client.async_client_baser   "qdrant_client.common.version_checkr   r   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(   rJ   r   r   <module>ro     s~        1      '   P & 4 ) ; P E ; F 
 A @ ? B B 8j/ j/r   