@@ -48,17 +48,20 @@ def __init__(self, index_name: str, pool_threads=1):
4848 @sentry
4949 @validate_and_convert_errors
5050 def upsert (self , vectors , ** kwargs ):
51+ _check_type = kwargs .pop ('_check_type' , False )
52+
5153 def _vector_transform (item ):
5254 if isinstance (item , Vector ):
5355 return item
5456 if isinstance (item , tuple ):
5557 id , values , metadata = fix_tuple_length (item , 3 )
56- return Vector (id = id , values = values , metadata = metadata or {})
58+ return Vector (id = id , values = values , metadata = metadata or {}, _check_type = _check_type )
5759 raise ValueError (f"Invalid vector value passed: cannot interpret type { type (item )} " )
5860
5961 return self ._vector_api .upsert (
6062 UpsertRequest (
6163 vectors = list (map (_vector_transform , vectors )),
64+ _check_type = _check_type ,
6265 ** {k : v for k , v in kwargs .items () if k not in _OPENAPI_ENDPOINT_PARAMS }
6366 ),
6467 ** {k : v for k , v in kwargs .items () if k in _OPENAPI_ENDPOINT_PARAMS }
@@ -77,19 +80,22 @@ def fetch(self, *args, **kwargs):
7780 @sentry
7881 @validate_and_convert_errors
7982 def query (self , queries , ** kwargs ):
83+ _check_type = kwargs .pop ('_check_type' , False )
84+
8085 def _query_transform (item ):
8186 if isinstance (item , QueryVector ):
8287 return item
8388 if isinstance (item , tuple ):
8489 values , filter = fix_tuple_length (item , 2 )
85- return QueryVector (values = values , filter = filter )
90+ return QueryVector (values = values , filter = filter , _check_type = _check_type )
8691 if isinstance (item , Iterable ):
87- return QueryVector (values = item )
92+ return QueryVector (values = item , _check_type = _check_type )
8893 raise ValueError (f"Invalid query vector value passed: cannot interpret type { type (item )} " )
8994
9095 return self ._vector_api .query (
9196 QueryRequest (
9297 queries = list (map (_query_transform , queries )),
98+ _check_type = _check_type ,
9399 ** {k : v for k , v in kwargs .items () if k not in _OPENAPI_ENDPOINT_PARAMS }
94100 ),
95101 ** {k : v for k , v in kwargs .items () if k in _OPENAPI_ENDPOINT_PARAMS }
0 commit comments