mirror of
https://github.com/langgenius/dify.git
synced 2026-04-27 19:27:23 +08:00
support name generate
This commit is contained in:
parent
af74019d6e
commit
4545f509a5
@ -14,7 +14,7 @@ from fields.dataset_fields import dataset_detail_fields
|
|||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import DatasetPermissionEnum
|
from models.dataset import DatasetPermissionEnum
|
||||||
from services.dataset_service import DatasetPermissionService, DatasetService
|
from services.dataset_service import DatasetPermissionService, DatasetService
|
||||||
from services.entities.knowledge_entities.rag_pipeline_entities import RagPipelineDatasetCreateEntity
|
from services.entities.knowledge_entities.rag_pipeline_entities import IconInfo, RagPipelineDatasetCreateEntity
|
||||||
from services.rag_pipeline.rag_pipeline_dsl_service import RagPipelineDslService
|
from services.rag_pipeline.rag_pipeline_dsl_service import RagPipelineDslService
|
||||||
|
|
||||||
|
|
||||||
@ -117,52 +117,19 @@ class CreateEmptyRagPipelineDatasetApi(Resource):
|
|||||||
# The role of the current user in the ta table must be admin, owner, or editor, or dataset_operator
|
# The role of the current user in the ta table must be admin, owner, or editor, or dataset_operator
|
||||||
if not current_user.is_dataset_editor:
|
if not current_user.is_dataset_editor:
|
||||||
raise Forbidden()
|
raise Forbidden()
|
||||||
|
|
||||||
parser = reqparse.RequestParser()
|
|
||||||
parser.add_argument(
|
|
||||||
"name",
|
|
||||||
nullable=False,
|
|
||||||
required=True,
|
|
||||||
help="type is required. Name must be between 1 to 40 characters.",
|
|
||||||
type=_validate_name,
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"description",
|
|
||||||
type=str,
|
|
||||||
nullable=True,
|
|
||||||
required=False,
|
|
||||||
default="",
|
|
||||||
)
|
|
||||||
|
|
||||||
parser.add_argument(
|
|
||||||
"icon_info",
|
|
||||||
type=dict,
|
|
||||||
nullable=True,
|
|
||||||
required=False,
|
|
||||||
default={},
|
|
||||||
)
|
|
||||||
|
|
||||||
parser.add_argument(
|
|
||||||
"permission",
|
|
||||||
type=str,
|
|
||||||
choices=(DatasetPermissionEnum.ONLY_ME, DatasetPermissionEnum.ALL_TEAM, DatasetPermissionEnum.PARTIAL_TEAM),
|
|
||||||
nullable=True,
|
|
||||||
required=False,
|
|
||||||
default=DatasetPermissionEnum.ONLY_ME,
|
|
||||||
)
|
|
||||||
|
|
||||||
parser.add_argument(
|
|
||||||
"partial_member_list",
|
|
||||||
type=list,
|
|
||||||
nullable=True,
|
|
||||||
required=False,
|
|
||||||
default=[],
|
|
||||||
)
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
|
||||||
dataset = DatasetService.create_empty_rag_pipeline_dataset(
|
dataset = DatasetService.create_empty_rag_pipeline_dataset(
|
||||||
tenant_id=current_user.current_tenant_id,
|
tenant_id=current_user.current_tenant_id,
|
||||||
rag_pipeline_dataset_create_entity=RagPipelineDatasetCreateEntity(**args),
|
rag_pipeline_dataset_create_entity=RagPipelineDatasetCreateEntity(
|
||||||
|
name="",
|
||||||
|
description="",
|
||||||
|
icon_info=IconInfo(
|
||||||
|
icon="📙",
|
||||||
|
icon_background="#FFF4ED",
|
||||||
|
icon_type="emoji",
|
||||||
|
),
|
||||||
|
permission=DatasetPermissionEnum.ONLY_ME,
|
||||||
|
partial_member_list=None,
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return marshal(dataset, dataset_detail_fields), 201
|
return marshal(dataset, dataset_detail_fields), 201
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,7 @@ from werkzeug.exceptions import NotFound
|
|||||||
|
|
||||||
from configs import dify_config
|
from configs import dify_config
|
||||||
from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
|
from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
|
||||||
|
from core.helper.name_generator import generate_incremental_name
|
||||||
from core.model_manager import ModelManager
|
from core.model_manager import ModelManager
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.plugin.entities.plugin import ModelProviderID
|
from core.plugin.entities.plugin import ModelProviderID
|
||||||
@ -255,14 +256,23 @@ class DatasetService:
|
|||||||
tenant_id: str,
|
tenant_id: str,
|
||||||
rag_pipeline_dataset_create_entity: RagPipelineDatasetCreateEntity,
|
rag_pipeline_dataset_create_entity: RagPipelineDatasetCreateEntity,
|
||||||
):
|
):
|
||||||
# check if dataset name already exists
|
if rag_pipeline_dataset_create_entity.name:
|
||||||
if (
|
# check if dataset name already exists
|
||||||
db.session.query(Dataset)
|
if (
|
||||||
.filter_by(name=rag_pipeline_dataset_create_entity.name, tenant_id=tenant_id)
|
db.session.query(Dataset)
|
||||||
.first()
|
.filter_by(name=rag_pipeline_dataset_create_entity.name, tenant_id=tenant_id)
|
||||||
):
|
.first()
|
||||||
raise DatasetNameDuplicateError(
|
):
|
||||||
f"Dataset with name {rag_pipeline_dataset_create_entity.name} already exists."
|
raise DatasetNameDuplicateError(
|
||||||
|
f"Dataset with name {rag_pipeline_dataset_create_entity.name} already exists."
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
# generate a random name as Untitled 1 2 3 ...
|
||||||
|
datasets = db.session.query(Dataset).filter_by(tenant_id=tenant_id).all()
|
||||||
|
names = [dataset.name for dataset in datasets]
|
||||||
|
rag_pipeline_dataset_create_entity.name = generate_incremental_name(
|
||||||
|
names,
|
||||||
|
"Untitled",
|
||||||
)
|
)
|
||||||
|
|
||||||
pipeline = Pipeline(
|
pipeline = Pipeline(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user