Feat: add delete all support for delete operations (#13530)

### What problem does this PR solve?

Add delete all support for delete operations.

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
- [x] Documentation Update

---------

Co-authored-by: writinwaters <cai.keith@gmail.com>
This commit is contained in:
Yongteng Lei
2026-03-12 09:47:42 +08:00
committed by GitHub
parent d201a81db7
commit e1b632a7bb
19 changed files with 1042 additions and 975 deletions

View File

@ -87,8 +87,11 @@ class Agent(Base):
return result_list
raise Exception(res.get("message"))
def delete_sessions(self, ids: list[str] | None = None):
res = self.rm(f"/agents/{self.id}/sessions", {"ids": ids})
def delete_sessions(self, ids: list[str] | None = None, delete_all: bool = False):
payload = {"ids": ids}
if delete_all:
payload["delete_all"] = True
res = self.rm(f"/agents/{self.id}/sessions", payload)
res = res.json()
if res.get("code") != 0:
raise Exception(res.get("message"))
raise Exception(res.get("message"))

View File

@ -88,8 +88,8 @@ class Chat(Base):
return result_list
raise Exception(res["message"])
def delete_sessions(self, ids: list[str] | None = None):
res = self.rm(f"/chats/{self.id}/sessions", {"ids": ids})
def delete_sessions(self, ids: list[str] | None = None, delete_all: bool = False):
res = self.rm(f"/chats/{self.id}/sessions", {"ids": ids, "delete_all": delete_all})
res = res.json()
if res.get("code") != 0:
raise Exception(res.get("message"))

View File

@ -95,8 +95,8 @@ class DataSet(Base):
return documents
raise Exception(res["message"])
def delete_documents(self, ids: list[str] | None = None):
res = self.rm(f"/datasets/{self.id}/documents", {"ids": ids})
def delete_documents(self, ids: list[str] | None = None, delete_all: bool = False):
res = self.rm(f"/datasets/{self.id}/documents", {"ids": ids, "delete_all": delete_all})
res = res.json()
if res.get("code") != 0:
raise Exception(res["message"])

View File

@ -94,8 +94,8 @@ class Document(Base):
return Chunk(self.rag, res["data"].get("chunk"))
raise Exception(res.get("message"))
def delete_chunks(self, ids: list[str] | None = None):
res = self.rm(f"/datasets/{self.dataset_id}/documents/{self.id}/chunks", {"chunk_ids": ids})
def delete_chunks(self, ids: list[str] | None = None, delete_all: bool = False):
res = self.rm(f"/datasets/{self.dataset_id}/documents/{self.id}/chunks", {"chunk_ids": ids, "delete_all": delete_all})
res = res.json()
if res.get("code") != 0:
raise Exception(res.get("message"))