Refactor: dataset / kb API to RESTFul style (#13690)

### What problem does this PR solve?

1. Split dataset api to gateway and service, and modify web UI to use
restful http api.
2. Old KB releated APIs are commented.

### Type of change

- [x] Refactoring

---------

Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com>
This commit is contained in:
Lynn
2026-03-19 14:41:36 +08:00
committed by GitHub
parent 7827f0fce5
commit 4bb1acaa5b
53 changed files with 1721 additions and 1207 deletions

View File

@ -26,9 +26,9 @@ from common import (
delete_dialogs,
list_chunks,
list_documents,
list_kbs,
list_datasets,
parse_documents,
rm_kb,
delete_datasets,
)
from libs.auth import RAGFlowWebApiAuth
from pytest import FixtureRequest
@ -104,9 +104,9 @@ def require_env_flag():
@pytest.fixture(scope="function")
def clear_datasets(request: FixtureRequest, WebApiAuth: RAGFlowWebApiAuth):
def cleanup():
res = list_kbs(WebApiAuth, params={"page_size": 1000})
for kb in res["data"]["kbs"]:
rm_kb(WebApiAuth, {"kb_id": kb["id"]})
res = list_datasets(WebApiAuth, params={"page_size": 1000})
kb_ids = [kb["id"] for kb in res["data"]]
delete_datasets(WebApiAuth, {"ids": kb_ids})
request.addfinalizer(cleanup)
@ -122,9 +122,9 @@ def clear_dialogs(request, WebApiAuth):
@pytest.fixture(scope="class")
def add_dataset(request: FixtureRequest, WebApiAuth: RAGFlowWebApiAuth) -> str:
def cleanup():
res = list_kbs(WebApiAuth, params={"page_size": 1000})
for kb in res["data"]["kbs"]:
rm_kb(WebApiAuth, {"kb_id": kb["id"]})
res = list_datasets(WebApiAuth, params={"page_size": 1000})
kb_ids = [kb["id"] for kb in res["data"]]
delete_datasets(WebApiAuth, {"ids": kb_ids})
request.addfinalizer(cleanup)
return batch_create_datasets(WebApiAuth, 1)[0]
@ -133,9 +133,9 @@ def add_dataset(request: FixtureRequest, WebApiAuth: RAGFlowWebApiAuth) -> str:
@pytest.fixture(scope="function")
def add_dataset_func(request: FixtureRequest, WebApiAuth: RAGFlowWebApiAuth) -> str:
def cleanup():
res = list_kbs(WebApiAuth, params={"page_size": 1000})
for kb in res["data"]["kbs"]:
rm_kb(WebApiAuth, {"kb_id": kb["id"]})
res = list_datasets(WebApiAuth, params={"page_size": 1000})
kb_ids = [kb["id"] for kb in res["data"]]
delete_datasets(WebApiAuth, {"ids": kb_ids})
request.addfinalizer(cleanup)
return batch_create_datasets(WebApiAuth, 1)[0]