@@ -1029,7 +1029,7 @@ def create_user_chat(self, command):
10291029 else :
10301030 print (f"Fail to create chat { chat_name } , code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
10311031
1032- def create_index (self , command ):
1032+ def create_dataset_table (self , command ):
10331033 if self .server_type != "user" :
10341034 print ("This command is only allowed in USER mode" )
10351035 return
@@ -1045,15 +1045,15 @@ def create_index(self, command):
10451045 # Build payload
10461046 payload = {"kb_id" : dataset_id , "vector_size" : vector_size }
10471047 # Call API
1048- response = self .http_client .request ("POST" , "/kb/index " , json_body = payload ,
1048+ response = self .http_client .request ("POST" , "/kb/doc_engine_table " , json_body = payload ,
10491049 use_api_base = False , auth_kind = "web" )
10501050 res_json = response .json ()
10511051 if response .status_code == 200 and res_json .get ("code" ) == 0 :
1052- print (f"Success to create index for dataset: { dataset_name } " )
1052+ print (f"Success to create table for dataset: { dataset_name } " )
10531053 else :
1054- print (f"Fail to create index for dataset { dataset_name } , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
1054+ print (f"Fail to create table for dataset { dataset_name } , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
10551055
1056- def drop_index (self , command ):
1056+ def drop_dataset_table (self , command ):
10571057 if self .server_type != "user" :
10581058 print ("This command is only allowed in USER mode" )
10591059 return
@@ -1062,41 +1062,41 @@ def drop_index(self, command):
10621062 dataset_id = self ._get_dataset_id (dataset_name )
10631063 if dataset_id is None :
10641064 return
1065- # Call API to delete index
1065+ # Call API to delete table
10661066 payload = {"kb_id" : dataset_id }
1067- response = self .http_client .request ("DELETE" , "/kb/index " , json_body = payload ,
1067+ response = self .http_client .request ("DELETE" , "/kb/doc_engine_table " , json_body = payload ,
10681068 use_api_base = False , auth_kind = "web" )
10691069 res_json = response .json ()
10701070 if response .status_code == 200 and res_json .get ("code" ) == 0 :
1071- print (f"Success to drop index for dataset: { dataset_name } " )
1071+ print (f"Success to drop table for dataset: { dataset_name } " )
10721072 else :
1073- print (f"Fail to drop index for dataset { dataset_name } , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
1073+ print (f"Fail to drop table for dataset { dataset_name } , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
10741074
1075- def create_doc_meta_index (self , command ):
1075+ def create_metadata_table (self , command ):
10761076 if self .server_type != "user" :
10771077 print ("This command is only allowed in USER mode" )
10781078 return
1079- # Call API to create doc meta index
1080- response = self .http_client .request ("POST" , "/tenant/doc_meta_index " ,
1079+ # Call API to create metadata table
1080+ response = self .http_client .request ("POST" , "/tenant/doc_engine_metadata_table " ,
10811081 use_api_base = False , auth_kind = "web" )
10821082 res_json = response .json ()
10831083 if response .status_code == 200 and res_json .get ("code" ) == 0 :
1084- print ("Success to create doc meta index " )
1084+ print ("Success to create metadata table " )
10851085 else :
1086- print (f"Fail to create doc meta index , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
1086+ print (f"Fail to create metadata table , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
10871087
1088- def drop_doc_meta_index (self , command ):
1088+ def drop_metadata_table (self , command ):
10891089 if self .server_type != "user" :
10901090 print ("This command is only allowed in USER mode" )
10911091 return
1092- # Call API to delete doc meta index
1093- response = self .http_client .request ("DELETE" , "/tenant/doc_meta_index " ,
1092+ # Call API to delete metadata table
1093+ response = self .http_client .request ("DELETE" , "/tenant/doc_engine_metadata_table " ,
10941094 use_api_base = False , auth_kind = "web" )
10951095 res_json = response .json ()
10961096 if response .status_code == 200 and res_json .get ("code" ) == 0 :
1097- print ("Success to drop doc meta index " )
1097+ print ("Success to drop metadata table " )
10981098 else :
1099- print (f"Fail to drop doc meta index , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
1099+ print (f"Fail to drop metadata table , code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
11001100
11011101 def drop_user_chat (self , command ):
11021102 if self .server_type != "user" :
@@ -1548,9 +1548,13 @@ def update_chunk(self, command_dict):
15481548 print (f"Invalid JSON body: { e } " )
15491549 return
15501550
1551- # Call PUT /datasets/{dataset_id}/documents/{doc_id}/chunks/{chunk_id}
1552- path = f"/datasets/{ dataset_id } /documents/{ doc_id } /chunks/{ chunk_id } "
1553- response = self .http_client .request ("PUT" , path , json_body = payload , use_api_base = True , auth_kind = "api" )
1551+ # Add IDs to payload
1552+ payload ["dataset_id" ] = dataset_id
1553+ payload ["document_id" ] = doc_id
1554+ payload ["chunk_id" ] = chunk_id
1555+
1556+ # Call POST /v1/chunk/update
1557+ response = self .http_client .request ("POST" , "/chunk/update" , json_body = payload , use_api_base = False , auth_kind = "web" )
15541558 res_json = response .json ()
15551559 if response .status_code == 200 :
15561560 if res_json .get ("code" ) == 0 :
@@ -1583,7 +1587,7 @@ def set_metadata(self, command_dict):
15831587 else :
15841588 print (f"Fail to set metadata, code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
15851589 else :
1586- print (f"Fail to set metadata, HTTP { response .status_code } " )
1590+ print (f"Fail to set metadata, HTTP { response .status_code } : { res_json . get ( 'message' , 'no message' ) } " )
15871591
15881592 def remove_tags (self , command_dict ):
15891593 if self .server_type != "user" :
@@ -1613,6 +1617,31 @@ def remove_tags(self, command_dict):
16131617 else :
16141618 print (f"Fail to remove tags, HTTP { response .status_code } " )
16151619
1620+ def remove_chunks (self , command_dict ):
1621+ if self .server_type != "user" :
1622+ print ("This command is only allowed in USER mode" )
1623+ return
1624+
1625+ doc_id = command_dict ["doc_id" ]
1626+ payload = {"doc_id" : doc_id }
1627+
1628+ if command_dict .get ("delete_all" ):
1629+ payload ["delete_all" ] = True
1630+ elif command_dict .get ("chunk_ids" ):
1631+ payload ["chunk_ids" ] = command_dict ["chunk_ids" ]
1632+
1633+ response = self .http_client .request ("POST" , "/chunk/rm" , json_body = payload ,
1634+ use_api_base = False , auth_kind = "web" )
1635+ res_json = response .json ()
1636+ if response .status_code == 200 :
1637+ if res_json .get ("code" ) == 0 :
1638+ deleted_count = res_json .get ("data" , 0 )
1639+ print (f"Success to remove chunks from document { doc_id } : { deleted_count } chunks deleted" )
1640+ else :
1641+ print (f"Fail to remove chunks, code: { res_json .get ('code' )} , message: { res_json .get ('message' )} " )
1642+ else :
1643+ print (f"Fail to remove chunks, HTTP { response .status_code } " )
1644+
16161645 def list_chunks (self , command_dict ):
16171646 if self .server_type != "user" :
16181647 print ("This command is only allowed in USER mode" )
@@ -1976,14 +2005,14 @@ def run_command(client: RAGFlowClient, command_dict: dict):
19762005 client .create_user_chat (command_dict )
19772006 case "drop_user_chat" :
19782007 client .drop_user_chat (command_dict )
1979- case "create_index " :
1980- client .create_index (command_dict )
1981- case "drop_index " :
1982- client .drop_index (command_dict )
1983- case "create_doc_meta_index " :
1984- client .create_doc_meta_index (command_dict )
1985- case "drop_doc_meta_index " :
1986- client .drop_doc_meta_index (command_dict )
2008+ case "create_dataset_table " :
2009+ client .create_dataset_table (command_dict )
2010+ case "drop_dataset_table " :
2011+ client .drop_dataset_table (command_dict )
2012+ case "create_metadata_table " :
2013+ client .create_metadata_table (command_dict )
2014+ case "drop_metadata_table " :
2015+ client .drop_metadata_table (command_dict )
19872016 case "create_chat_session" :
19882017 client .create_chat_session (command_dict )
19892018 case "drop_chat_session" :
@@ -2016,6 +2045,8 @@ def run_command(client: RAGFlowClient, command_dict: dict):
20162045 return client .set_metadata (command_dict )
20172046 case "remove_tags" :
20182047 return client .remove_tags (command_dict )
2048+ case "remove_chunks" :
2049+ return client .remove_chunks (command_dict )
20192050 case "list_chunks" :
20202051 return client .list_chunks (command_dict )
20212052 case "meta" :
@@ -2077,10 +2108,6 @@ def show_help():
20772108LIST METADATA SUMMARY OF DATASET <dataset> DOCUMENTS <doc_id>[, <doc_id>]*
20782109GET CHUNK <chunk_id>
20792110LIST CHUNKS OF DOCUMENT <doc_id> [PAGE <page>] [SIZE <size>] [KEYWORDS <keywords>] [AVAILABLE <0|1>]
2080- CREATE INDEX FOR DATASET <dataset> VECTOR_SIZE <vector_size>
2081- DROP INDEX FOR DATASET <dataset>
2082- CREATE INDEX DOC_META
2083- DROP INDEX DOC_META
20842111
20852112Meta Commands:
20862113\\ ?, \\ h, \\ help Show this help
0 commit comments