liuhua
liuhua
commited on
Commit
·
f4df7fc
1
Parent(s):
aa075d6
Fix bugs in API (#3204)
Browse files### What problem does this PR solve?
Fix bugs in API
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
---------
Co-authored-by: liuhua <10215101452@stu.ecun.edu.cn>
api/apps/sdk/chat.py
CHANGED
|
@@ -264,7 +264,7 @@ def list_chat(tenant_id):
|
|
| 264 |
if not chat:
|
| 265 |
return get_error_data_result(message="The chat doesn't exist")
|
| 266 |
page_number = int(request.args.get("page", 1))
|
| 267 |
-
items_per_page = int(request.args.get("page_size",
|
| 268 |
orderby = request.args.get("orderby", "create_time")
|
| 269 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 270 |
desc = False
|
|
@@ -308,4 +308,4 @@ def list_chat(tenant_id):
|
|
| 308 |
res["datasets"] = kb_list
|
| 309 |
res["avatar"] = res.pop("icon")
|
| 310 |
list_assts.append(res)
|
| 311 |
-
return get_result(data=list_assts)
|
|
|
|
| 264 |
if not chat:
|
| 265 |
return get_error_data_result(message="The chat doesn't exist")
|
| 266 |
page_number = int(request.args.get("page", 1))
|
| 267 |
+
items_per_page = int(request.args.get("page_size", 30))
|
| 268 |
orderby = request.args.get("orderby", "create_time")
|
| 269 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 270 |
desc = False
|
|
|
|
| 308 |
res["datasets"] = kb_list
|
| 309 |
res["avatar"] = res.pop("icon")
|
| 310 |
list_assts.append(res)
|
| 311 |
+
return get_result(data=list_assts)
|
api/apps/sdk/dataset.py
CHANGED
|
@@ -502,7 +502,7 @@ def list(tenant_id):
|
|
| 502 |
if not kbs:
|
| 503 |
return get_error_data_result(message="The dataset doesn't exist")
|
| 504 |
page_number = int(request.args.get("page", 1))
|
| 505 |
-
items_per_page = int(request.args.get("page_size",
|
| 506 |
orderby = request.args.get("orderby", "create_time")
|
| 507 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 508 |
desc = False
|
|
@@ -532,4 +532,4 @@ def list(tenant_id):
|
|
| 532 |
new_key = key_mapping.get(key, key)
|
| 533 |
renamed_data[new_key] = value
|
| 534 |
renamed_list.append(renamed_data)
|
| 535 |
-
return get_result(data=renamed_list)
|
|
|
|
| 502 |
if not kbs:
|
| 503 |
return get_error_data_result(message="The dataset doesn't exist")
|
| 504 |
page_number = int(request.args.get("page", 1))
|
| 505 |
+
items_per_page = int(request.args.get("page_size", 30))
|
| 506 |
orderby = request.args.get("orderby", "create_time")
|
| 507 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 508 |
desc = False
|
|
|
|
| 532 |
new_key = key_mapping.get(key, key)
|
| 533 |
renamed_data[new_key] = value
|
| 534 |
renamed_list.append(renamed_data)
|
| 535 |
+
return get_result(data=renamed_list)
|
api/apps/sdk/doc.py
CHANGED
|
@@ -386,16 +386,16 @@ def list_docs(dataset_id, tenant_id):
|
|
| 386 |
required: false
|
| 387 |
description: Filter by document ID.
|
| 388 |
- in: query
|
| 389 |
-
name:
|
| 390 |
type: integer
|
| 391 |
required: false
|
| 392 |
default: 1
|
| 393 |
description: Page number.
|
| 394 |
- in: query
|
| 395 |
-
name:
|
| 396 |
type: integer
|
| 397 |
required: false
|
| 398 |
-
default:
|
| 399 |
description: Number of items per page.
|
| 400 |
- in: query
|
| 401 |
name: orderby
|
|
@@ -460,7 +460,7 @@ def list_docs(dataset_id, tenant_id):
|
|
| 460 |
return get_error_data_result(message=f"You don't own the document {name}.")
|
| 461 |
page = int(request.args.get("page", 1))
|
| 462 |
keywords = request.args.get("keywords", "")
|
| 463 |
-
page_size = int(request.args.get("page_size",
|
| 464 |
orderby = request.args.get("orderby", "create_time")
|
| 465 |
if request.args.get("desc") == "False":
|
| 466 |
desc = False
|
|
@@ -741,13 +741,13 @@ def list_chunks(tenant_id, dataset_id, document_id):
|
|
| 741 |
required: true
|
| 742 |
description: ID of the document.
|
| 743 |
- in: query
|
| 744 |
-
name:
|
| 745 |
type: integer
|
| 746 |
required: false
|
| 747 |
default: 1
|
| 748 |
description: Page number.
|
| 749 |
- in: query
|
| 750 |
-
name:
|
| 751 |
type: integer
|
| 752 |
required: false
|
| 753 |
default: 30
|
|
@@ -1323,7 +1323,7 @@ def retrieval_test(tenant_id):
|
|
| 1323 |
if "question" not in req:
|
| 1324 |
return get_error_data_result("`question` is required.")
|
| 1325 |
page = int(req.get("page", 1))
|
| 1326 |
-
size = int(req.get("page_size",
|
| 1327 |
question = req["question"]
|
| 1328 |
doc_ids = req.get("document_ids", [])
|
| 1329 |
if not isinstance(doc_ids, list):
|
|
@@ -1401,4 +1401,4 @@ def retrieval_test(tenant_id):
|
|
| 1401 |
message="No chunk found! Check the chunk status please!",
|
| 1402 |
code=RetCode.DATA_ERROR,
|
| 1403 |
)
|
| 1404 |
-
return server_error_response(e)
|
|
|
|
| 386 |
required: false
|
| 387 |
description: Filter by document ID.
|
| 388 |
- in: query
|
| 389 |
+
name: page
|
| 390 |
type: integer
|
| 391 |
required: false
|
| 392 |
default: 1
|
| 393 |
description: Page number.
|
| 394 |
- in: query
|
| 395 |
+
name: page_size
|
| 396 |
type: integer
|
| 397 |
required: false
|
| 398 |
+
default: 30
|
| 399 |
description: Number of items per page.
|
| 400 |
- in: query
|
| 401 |
name: orderby
|
|
|
|
| 460 |
return get_error_data_result(message=f"You don't own the document {name}.")
|
| 461 |
page = int(request.args.get("page", 1))
|
| 462 |
keywords = request.args.get("keywords", "")
|
| 463 |
+
page_size = int(request.args.get("page_size", 30))
|
| 464 |
orderby = request.args.get("orderby", "create_time")
|
| 465 |
if request.args.get("desc") == "False":
|
| 466 |
desc = False
|
|
|
|
| 741 |
required: true
|
| 742 |
description: ID of the document.
|
| 743 |
- in: query
|
| 744 |
+
name: page
|
| 745 |
type: integer
|
| 746 |
required: false
|
| 747 |
default: 1
|
| 748 |
description: Page number.
|
| 749 |
- in: query
|
| 750 |
+
name: page_size
|
| 751 |
type: integer
|
| 752 |
required: false
|
| 753 |
default: 30
|
|
|
|
| 1323 |
if "question" not in req:
|
| 1324 |
return get_error_data_result("`question` is required.")
|
| 1325 |
page = int(req.get("page", 1))
|
| 1326 |
+
size = int(req.get("page_size", 30))
|
| 1327 |
question = req["question"]
|
| 1328 |
doc_ids = req.get("document_ids", [])
|
| 1329 |
if not isinstance(doc_ids, list):
|
|
|
|
| 1401 |
message="No chunk found! Check the chunk status please!",
|
| 1402 |
code=RetCode.DATA_ERROR,
|
| 1403 |
)
|
| 1404 |
+
return server_error_response(e)
|
api/apps/sdk/session.py
CHANGED
|
@@ -322,7 +322,7 @@ def list(chat_id,tenant_id):
|
|
| 322 |
id = request.args.get("id")
|
| 323 |
name = request.args.get("name")
|
| 324 |
page_number = int(request.args.get("page", 1))
|
| 325 |
-
items_per_page = int(request.args.get("page_size",
|
| 326 |
orderby = request.args.get("orderby", "create_time")
|
| 327 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 328 |
desc = False
|
|
@@ -391,4 +391,4 @@ def delete(tenant_id,chat_id):
|
|
| 391 |
if not conv:
|
| 392 |
return get_error_data_result(message="The chat doesn't own the session")
|
| 393 |
ConversationService.delete_by_id(id)
|
| 394 |
-
return get_result()
|
|
|
|
| 322 |
id = request.args.get("id")
|
| 323 |
name = request.args.get("name")
|
| 324 |
page_number = int(request.args.get("page", 1))
|
| 325 |
+
items_per_page = int(request.args.get("page_size", 30))
|
| 326 |
orderby = request.args.get("orderby", "create_time")
|
| 327 |
if request.args.get("desc") == "False" or request.args.get("desc") == "false":
|
| 328 |
desc = False
|
|
|
|
| 391 |
if not conv:
|
| 392 |
return get_error_data_result(message="The chat doesn't own the session")
|
| 393 |
ConversationService.delete_by_id(id)
|
| 394 |
+
return get_result()
|
sdk/python/ragflow_sdk/modules/chat.py
CHANGED
|
@@ -57,7 +57,7 @@ class Chat(Base):
|
|
| 57 |
return Session(self.rag, res['data'])
|
| 58 |
raise Exception(res["message"])
|
| 59 |
|
| 60 |
-
def list_sessions(self,page: int = 1, page_size: int =
|
| 61 |
id: str = None, name: str = None) -> List[Session]:
|
| 62 |
res = self.get(f'/chats/{self.id}/sessions',{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name} )
|
| 63 |
res = res.json()
|
|
|
|
| 57 |
return Session(self.rag, res['data'])
|
| 58 |
raise Exception(res["message"])
|
| 59 |
|
| 60 |
+
def list_sessions(self,page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
|
| 61 |
id: str = None, name: str = None) -> List[Session]:
|
| 62 |
res = self.get(f'/chats/{self.id}/sessions',{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name} )
|
| 63 |
res = res.json()
|
sdk/python/ragflow_sdk/modules/dataset.py
CHANGED
|
@@ -48,7 +48,7 @@ class DataSet(Base):
|
|
| 48 |
return doc_list
|
| 49 |
raise Exception(res.get("message"))
|
| 50 |
|
| 51 |
-
def list_documents(self, id: str = None, keywords: str = None, page: int =1, page_size: int =
|
| 52 |
res = self.get(f"/datasets/{self.id}/documents",params={"id": id,"keywords": keywords,"page": page,"page_size": page_size,"orderby": orderby,"desc": desc})
|
| 53 |
res = res.json()
|
| 54 |
documents = []
|
|
|
|
| 48 |
return doc_list
|
| 49 |
raise Exception(res.get("message"))
|
| 50 |
|
| 51 |
+
def list_documents(self, id: str = None, keywords: str = None, page: int =1, page_size: int = 30, orderby: str = "create_time", desc: bool = True):
|
| 52 |
res = self.get(f"/datasets/{self.id}/documents",params={"id": id,"keywords": keywords,"page": page,"page_size": page_size,"orderby": orderby,"desc": desc})
|
| 53 |
res = res.json()
|
| 54 |
documents = []
|
sdk/python/ragflow_sdk/ragflow.py
CHANGED
|
@@ -76,7 +76,7 @@ class RAGFlow:
|
|
| 76 |
return _list[0]
|
| 77 |
raise Exception("Dataset %s not found" % name)
|
| 78 |
|
| 79 |
-
def list_datasets(self, page: int = 1, page_size: int =
|
| 80 |
id: str = None, name: str = None) -> \
|
| 81 |
List[DataSet]:
|
| 82 |
res = self.get("/datasets",
|
|
@@ -142,7 +142,7 @@ class RAGFlow:
|
|
| 142 |
if res.get("code") != 0:
|
| 143 |
raise Exception(res["message"])
|
| 144 |
|
| 145 |
-
def list_chats(self, page: int = 1, page_size: int =
|
| 146 |
id: str = None, name: str = None) -> List[Chat]:
|
| 147 |
res = self.get("/chats",{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name})
|
| 148 |
res = res.json()
|
|
@@ -154,12 +154,12 @@ class RAGFlow:
|
|
| 154 |
raise Exception(res["message"])
|
| 155 |
|
| 156 |
|
| 157 |
-
def retrieve(self, dataset_ids, document_ids=None, question="", page=1, page_size=
|
| 158 |
if document_ids is None:
|
| 159 |
document_ids = []
|
| 160 |
data_json ={
|
| 161 |
-
"
|
| 162 |
-
"
|
| 163 |
"similarity_threshold": similarity_threshold,
|
| 164 |
"vector_similarity_weight": vector_similarity_weight,
|
| 165 |
"top_k": top_k,
|
|
|
|
| 76 |
return _list[0]
|
| 77 |
raise Exception("Dataset %s not found" % name)
|
| 78 |
|
| 79 |
+
def list_datasets(self, page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
|
| 80 |
id: str = None, name: str = None) -> \
|
| 81 |
List[DataSet]:
|
| 82 |
res = self.get("/datasets",
|
|
|
|
| 142 |
if res.get("code") != 0:
|
| 143 |
raise Exception(res["message"])
|
| 144 |
|
| 145 |
+
def list_chats(self, page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
|
| 146 |
id: str = None, name: str = None) -> List[Chat]:
|
| 147 |
res = self.get("/chats",{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name})
|
| 148 |
res = res.json()
|
|
|
|
| 154 |
raise Exception(res["message"])
|
| 155 |
|
| 156 |
|
| 157 |
+
def retrieve(self, dataset_ids, document_ids=None, question="", page=1, page_size=30, similarity_threshold=0.2, vector_similarity_weight=0.3, top_k=1024, rerank_id:str=None, keyword:bool=False, ):
|
| 158 |
if document_ids is None:
|
| 159 |
document_ids = []
|
| 160 |
data_json ={
|
| 161 |
+
"page": page,
|
| 162 |
+
"page_size": page_size,
|
| 163 |
"similarity_threshold": similarity_threshold,
|
| 164 |
"vector_similarity_weight": vector_similarity_weight,
|
| 165 |
"top_k": top_k,
|
sdk/python/test/t_document.py
CHANGED
|
@@ -45,7 +45,7 @@ def test_list_documents_in_dataset_with_success(get_api_key_fixture):
|
|
| 45 |
blob = b"Sample document content for test."
|
| 46 |
document_infos = [{"displayed_name": "test.txt","blob":blob}]
|
| 47 |
ds.upload_documents(document_infos)
|
| 48 |
-
ds.list_documents(keywords="test", page=
|
| 49 |
|
| 50 |
|
| 51 |
|
|
|
|
| 45 |
blob = b"Sample document content for test."
|
| 46 |
document_infos = [{"displayed_name": "test.txt","blob":blob}]
|
| 47 |
ds.upload_documents(document_infos)
|
| 48 |
+
ds.list_documents(keywords="test", page=1, page_size=12)
|
| 49 |
|
| 50 |
|
| 51 |
|