### 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>tags/v0.14.0
| if not chat: | if not chat: | ||||
| return get_error_data_result(message="The chat doesn't exist") | return get_error_data_result(message="The chat doesn't exist") | ||||
| page_number = int(request.args.get("page", 1)) | page_number = int(request.args.get("page", 1)) | ||||
| items_per_page = int(request.args.get("page_size", 1024)) | |||||
| items_per_page = int(request.args.get("page_size", 30)) | |||||
| orderby = request.args.get("orderby", "create_time") | orderby = request.args.get("orderby", "create_time") | ||||
| if request.args.get("desc") == "False" or request.args.get("desc") == "false": | if request.args.get("desc") == "False" or request.args.get("desc") == "false": | ||||
| desc = False | desc = False | ||||
| res["datasets"] = kb_list | res["datasets"] = kb_list | ||||
| res["avatar"] = res.pop("icon") | res["avatar"] = res.pop("icon") | ||||
| list_assts.append(res) | list_assts.append(res) | ||||
| return get_result(data=list_assts) | |||||
| return get_result(data=list_assts) |
| if not kbs: | if not kbs: | ||||
| return get_error_data_result(message="The dataset doesn't exist") | return get_error_data_result(message="The dataset doesn't exist") | ||||
| page_number = int(request.args.get("page", 1)) | page_number = int(request.args.get("page", 1)) | ||||
| items_per_page = int(request.args.get("page_size", 1024)) | |||||
| items_per_page = int(request.args.get("page_size", 30)) | |||||
| orderby = request.args.get("orderby", "create_time") | orderby = request.args.get("orderby", "create_time") | ||||
| if request.args.get("desc") == "False" or request.args.get("desc") == "false": | if request.args.get("desc") == "False" or request.args.get("desc") == "false": | ||||
| desc = False | desc = False | ||||
| new_key = key_mapping.get(key, key) | new_key = key_mapping.get(key, key) | ||||
| renamed_data[new_key] = value | renamed_data[new_key] = value | ||||
| renamed_list.append(renamed_data) | renamed_list.append(renamed_data) | ||||
| return get_result(data=renamed_list) | |||||
| return get_result(data=renamed_list) |
| required: false | required: false | ||||
| description: Filter by document ID. | description: Filter by document ID. | ||||
| - in: query | - in: query | ||||
| name: offset | |||||
| name: page | |||||
| type: integer | type: integer | ||||
| required: false | required: false | ||||
| default: 1 | default: 1 | ||||
| description: Page number. | description: Page number. | ||||
| - in: query | - in: query | ||||
| name: limit | |||||
| name: page_size | |||||
| type: integer | type: integer | ||||
| required: false | required: false | ||||
| default: 1024 | |||||
| default: 30 | |||||
| description: Number of items per page. | description: Number of items per page. | ||||
| - in: query | - in: query | ||||
| name: orderby | name: orderby | ||||
| return get_error_data_result(message=f"You don't own the document {name}.") | return get_error_data_result(message=f"You don't own the document {name}.") | ||||
| page = int(request.args.get("page", 1)) | page = int(request.args.get("page", 1)) | ||||
| keywords = request.args.get("keywords", "") | keywords = request.args.get("keywords", "") | ||||
| page_size = int(request.args.get("page_size", 1024)) | |||||
| page_size = int(request.args.get("page_size", 30)) | |||||
| orderby = request.args.get("orderby", "create_time") | orderby = request.args.get("orderby", "create_time") | ||||
| if request.args.get("desc") == "False": | if request.args.get("desc") == "False": | ||||
| desc = False | desc = False | ||||
| required: true | required: true | ||||
| description: ID of the document. | description: ID of the document. | ||||
| - in: query | - in: query | ||||
| name: offset | |||||
| name: page | |||||
| type: integer | type: integer | ||||
| required: false | required: false | ||||
| default: 1 | default: 1 | ||||
| description: Page number. | description: Page number. | ||||
| - in: query | - in: query | ||||
| name: limit | |||||
| name: page_size | |||||
| type: integer | type: integer | ||||
| required: false | required: false | ||||
| default: 30 | default: 30 | ||||
| if "question" not in req: | if "question" not in req: | ||||
| return get_error_data_result("`question` is required.") | return get_error_data_result("`question` is required.") | ||||
| page = int(req.get("page", 1)) | page = int(req.get("page", 1)) | ||||
| size = int(req.get("page_size", 1024)) | |||||
| size = int(req.get("page_size", 30)) | |||||
| question = req["question"] | question = req["question"] | ||||
| doc_ids = req.get("document_ids", []) | doc_ids = req.get("document_ids", []) | ||||
| if not isinstance(doc_ids, list): | if not isinstance(doc_ids, list): | ||||
| message="No chunk found! Check the chunk status please!", | message="No chunk found! Check the chunk status please!", | ||||
| code=RetCode.DATA_ERROR, | code=RetCode.DATA_ERROR, | ||||
| ) | ) | ||||
| return server_error_response(e) | |||||
| return server_error_response(e) |
| id = request.args.get("id") | id = request.args.get("id") | ||||
| name = request.args.get("name") | name = request.args.get("name") | ||||
| page_number = int(request.args.get("page", 1)) | page_number = int(request.args.get("page", 1)) | ||||
| items_per_page = int(request.args.get("page_size", 1024)) | |||||
| items_per_page = int(request.args.get("page_size", 30)) | |||||
| orderby = request.args.get("orderby", "create_time") | orderby = request.args.get("orderby", "create_time") | ||||
| if request.args.get("desc") == "False" or request.args.get("desc") == "false": | if request.args.get("desc") == "False" or request.args.get("desc") == "false": | ||||
| desc = False | desc = False | ||||
| if not conv: | if not conv: | ||||
| return get_error_data_result(message="The chat doesn't own the session") | return get_error_data_result(message="The chat doesn't own the session") | ||||
| ConversationService.delete_by_id(id) | ConversationService.delete_by_id(id) | ||||
| return get_result() | |||||
| return get_result() |
| return Session(self.rag, res['data']) | return Session(self.rag, res['data']) | ||||
| raise Exception(res["message"]) | raise Exception(res["message"]) | ||||
| def list_sessions(self,page: int = 1, page_size: int = 1024, orderby: str = "create_time", desc: bool = True, | |||||
| def list_sessions(self,page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True, | |||||
| id: str = None, name: str = None) -> List[Session]: | id: str = None, name: str = None) -> List[Session]: | ||||
| res = self.get(f'/chats/{self.id}/sessions',{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name} ) | res = self.get(f'/chats/{self.id}/sessions',{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name} ) | ||||
| res = res.json() | res = res.json() |
| return doc_list | return doc_list | ||||
| raise Exception(res.get("message")) | raise Exception(res.get("message")) | ||||
| def list_documents(self, id: str = None, keywords: str = None, page: int =1, page_size: int = 1024, orderby: str = "create_time", desc: bool = True): | |||||
| def list_documents(self, id: str = None, keywords: str = None, page: int =1, page_size: int = 30, orderby: str = "create_time", desc: bool = True): | |||||
| res = self.get(f"/datasets/{self.id}/documents",params={"id": id,"keywords": keywords,"page": page,"page_size": page_size,"orderby": orderby,"desc": desc}) | res = self.get(f"/datasets/{self.id}/documents",params={"id": id,"keywords": keywords,"page": page,"page_size": page_size,"orderby": orderby,"desc": desc}) | ||||
| res = res.json() | res = res.json() | ||||
| documents = [] | documents = [] |
| return _list[0] | return _list[0] | ||||
| raise Exception("Dataset %s not found" % name) | raise Exception("Dataset %s not found" % name) | ||||
| def list_datasets(self, page: int = 1, page_size: int = 1024, orderby: str = "create_time", desc: bool = True, | |||||
| def list_datasets(self, page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True, | |||||
| id: str = None, name: str = None) -> \ | id: str = None, name: str = None) -> \ | ||||
| List[DataSet]: | List[DataSet]: | ||||
| res = self.get("/datasets", | res = self.get("/datasets", | ||||
| if res.get("code") != 0: | if res.get("code") != 0: | ||||
| raise Exception(res["message"]) | raise Exception(res["message"]) | ||||
| def list_chats(self, page: int = 1, page_size: int = 1024, orderby: str = "create_time", desc: bool = True, | |||||
| def list_chats(self, page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True, | |||||
| id: str = None, name: str = None) -> List[Chat]: | id: str = None, name: str = None) -> List[Chat]: | ||||
| res = self.get("/chats",{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name}) | res = self.get("/chats",{"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id, "name": name}) | ||||
| res = res.json() | res = res.json() | ||||
| raise Exception(res["message"]) | raise Exception(res["message"]) | ||||
| def retrieve(self, dataset_ids, document_ids=None, question="", page=1, page_size=1024, similarity_threshold=0.2, vector_similarity_weight=0.3, top_k=1024, rerank_id:str=None, keyword:bool=False, ): | |||||
| 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, ): | |||||
| if document_ids is None: | if document_ids is None: | ||||
| document_ids = [] | document_ids = [] | ||||
| data_json ={ | data_json ={ | ||||
| "offset": page, | |||||
| "limit": page_size, | |||||
| "page": page, | |||||
| "page_size": page_size, | |||||
| "similarity_threshold": similarity_threshold, | "similarity_threshold": similarity_threshold, | ||||
| "vector_similarity_weight": vector_similarity_weight, | "vector_similarity_weight": vector_similarity_weight, | ||||
| "top_k": top_k, | "top_k": top_k, |
| blob = b"Sample document content for test." | blob = b"Sample document content for test." | ||||
| document_infos = [{"displayed_name": "test.txt","blob":blob}] | document_infos = [{"displayed_name": "test.txt","blob":blob}] | ||||
| ds.upload_documents(document_infos) | ds.upload_documents(document_infos) | ||||
| ds.list_documents(keywords="test", page=0, page_size=12) | |||||
| ds.list_documents(keywords="test", page=1, page_size=12) | |||||