@@ -27,10 +27,11 @@ def __init__(self, project_id: str, api_key: str, headers: dict = None):
2727 }
2828 if headers is not None :
2929 self ._header .update (headers )
30+ self ._db_id = None
3031
3132 def validate (self ):
3233 resp = requests .get (
33- url = self ._baseurl + " /vectordb/list" ,
34+ url = f" { self ._baseurl } /vectordb/list" ,
3435 data = None ,
3536 headers = self ._header ,
3637 verify = False ,
@@ -42,7 +43,7 @@ def validate(self):
4243
4344 def get_db_list (self ):
4445 db_list = []
45- req_url = "{ }/vectordb/list". format ( self . _baseurl )
46+ req_url = f" { self . _baseurl } /vectordb/list"
4647 resp = requests .get (url = req_url , data = None , headers = self ._header , verify = False )
4748 status_code = resp .status_code
4849 body = resp .json ()
@@ -52,8 +53,22 @@ def get_db_list(self):
5253 del resp
5354 return db_list
5455
56+ def load_db (self , db_name : str , db_path : str ):
57+ db_id = db_name .lstrip ("db_" ).replace ("_" , "-" )
58+ req_url = f"{ self ._baseurl } /vectordb/{ db_id } /load"
59+ resp = requests .post (url = req_url , data = None , headers = self ._header , verify = False )
60+ status_code = resp .status_code
61+ body = resp .json ()
62+ resp .close ()
63+ del resp
64+ return status_code , body
65+
66+ def use_db (self , db_name : str ):
67+ self ._db_id = db_name .lstrip ("db_" ).replace ("_" , "-" )
68+ return 200 , {"statusCode" : 200 , "message" : "" , "result" : {}}
69+
5570 def get_db_info (self , db_id : str ):
56- req_url = "{ }/vectordb/{}" . format ( self . _baseurl , db_id )
71+ req_url = f" { self . _baseurl } /vectordb/{ db_id } "
5772 resp = requests .get (url = req_url , data = None , headers = self ._header , verify = False )
5873 status_code = resp .status_code
5974 body = resp .json ()
@@ -62,7 +77,7 @@ def get_db_info(self, db_id: str):
6277 return status_code , body
6378
6479 def get_db_statistics (self , db_id : str ):
65- req_url = "{ }/vectordb/{}/statistics". format ( self . _baseurl , db_id )
80+ req_url = f" { self . _baseurl } /vectordb/{ db_id } /statistics"
6681 req_data = None
6782 resp = requests .get (
6883 url = req_url , data = json .dumps (req_data ), headers = self ._header , verify = False
@@ -121,7 +136,7 @@ def __init__(
121136 def list_tables (self ):
122137 if self ._db_id is None :
123138 raise Exception ("[ERROR] db_id is None!" )
124- req_url = "{ }/table/list". format ( self . _baseurl )
139+ req_url = f" { self . _baseurl } /table/list"
125140 resp = requests .get (url = req_url , headers = self ._header , verify = False )
126141 status_code = resp .status_code
127142 body = resp .json ()
@@ -140,7 +155,7 @@ def create_table(
140155 raise Exception ("[ERROR] db_id is None!" )
141156 if table_fields is None :
142157 table_fields = []
143- req_url = "{ }/table/create". format ( self . _baseurl )
158+ req_url = f" { self . _baseurl } /table/create"
144159 req_data = {"name" : table_name , "fields" : table_fields }
145160 if indices is not None :
146161 req_data ["indices" ] = indices
@@ -157,7 +172,7 @@ def create_table(
157172 def drop_table (self , table_name : str ):
158173 if self ._db_id is None :
159174 raise Exception ("[ERROR] db_id is None!" )
160- req_url = "{ }/table/delete?table_name={}" . format ( self . _baseurl , table_name )
175+ req_url = f" { self . _baseurl } /table/delete?table_name={ table_name } "
161176 req_data = {}
162177 resp = requests .delete (
163178 url = req_url , data = json .dumps (req_data ), headers = self ._header , verify = False
@@ -170,7 +185,7 @@ def drop_table(self, table_name: str):
170185
171186 # Insert data into table
172187 def insert (self , table_name : str , records : list [dict ]):
173- req_url = "{ }/data/insert". format ( self . _baseurl )
188+ req_url = f" { self . _baseurl } /data/insert"
174189 req_data = {"table" : table_name , "data" : records }
175190 resp = requests .post (
176191 url = req_url , data = json .dumps (req_data ), headers = self ._header , verify = False
@@ -182,7 +197,7 @@ def insert(self, table_name: str, records: list[dict]):
182197 return status_code , body
183198
184199 def upsert (self , table_name : str , records : list [dict ]):
185- req_url = "{ }/data/insert". format ( self . _baseurl )
200+ req_url = f" { self . _baseurl } /data/insert"
186201 req_data = {"table" : table_name , "data" : records , "upsert" : True }
187202 resp = requests .post (
188203 url = req_url , data = json .dumps (req_data ), headers = self ._header , verify = False
@@ -207,7 +222,7 @@ def query(
207222 with_distance : Optional [bool ] = False ,
208223 facets : Optional [list [dict ]] = None ,
209224 ):
210- req_url = "{ }/data/query". format ( self . _baseurl )
225+ req_url = f" { self . _baseurl } /data/query"
211226 req_data = {"table" : table_name , "limit" : limit }
212227
213228 if response_fields is None :
@@ -272,7 +287,7 @@ def delete(
272287 "[WARN] Both primary_keys and ids are prvoided, will use primary keys by default!"
273288 )
274289
275- req_url = "{ }/data/delete". format ( self . _baseurl )
290+ req_url = f" { self . _baseurl } /data/delete"
276291 req_data = {"table" : table_name }
277292 if primary_keys is not None :
278293 req_data ["primaryKeys" ] = primary_keys
@@ -335,7 +350,7 @@ def get(
335350 else :
336351 req_data ["facets" ] = facets
337352
338- req_url = "{ }/data/get". format ( self . _baseurl )
353+ req_url = f" { self . _baseurl } /data/get"
339354 resp = requests .post (
340355 url = req_url , data = json .dumps (req_data ), headers = self ._header , verify = False
341356 )
0 commit comments