feat(llm): 添加数据集标注管理功能
- 新增 AnnotationController 控制器,提供标注保存接口- 新增 AnnotationInfoCreateDTO 数据传输对象,用于接收标注信息 - 新增 DataResponseBody 统一响应体类,规范接口返回格式 - 新增 Dataset 数据集实体类,定义数据集基本属性和状态 - 新增 DatasetCreateDTO 和 DatasetCustomCreateDTO 数据集创建传输对象- 新增 DatasetTypeEnum 枚举类,定义数据集类型 - 新增 DataStateCodeConstant 常量类,定义数据集状态码 - 新增 AnnotationService 接口及其实现类 AnnotationServiceImpl- 新增系统权限相关 DTO 类 SysPermissionDTO - 添加数据集相关的 DTO、VO、枚举等辅助类
This commit is contained in:
parent
934ef24ce6
commit
3234f6f2d7
@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.AnnotationInfoCreateDTO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.DataResponseBody;
|
||||
import cn.iocoder.yudao.module.llm.service.rest.AnnotationService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
||||
/**
|
||||
* @description 标注管理
|
||||
* @date 2020-04-10
|
||||
*/
|
||||
@Tag(name = "数据处理:标注")
|
||||
@RestController
|
||||
@RequestMapping("/datasets/files")
|
||||
@Validated
|
||||
public class AnnotationController {
|
||||
|
||||
/**
|
||||
* 标注服务实现类
|
||||
*/
|
||||
@Autowired
|
||||
@Lazy
|
||||
private AnnotationService annotationService;
|
||||
|
||||
|
||||
|
||||
@Operation(summary = "标注保存")
|
||||
@PostMapping(value = "/{datasetId}/{fileId}/annotations")
|
||||
public DataResponseBody save(@PathVariable(value = "fileId") Long fileId,
|
||||
@PathVariable(value = "datasetId") Long datasetId,
|
||||
@Validated @RequestBody AnnotationInfoCreateDTO annotationInfoCreateDTO) {
|
||||
annotationService.save(fileId,datasetId, annotationInfoCreateDTO);
|
||||
return new DataResponseBody();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.dto;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.enums.DataStateCodeConstant;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.rest.Dataset;
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 数据集
|
||||
* @date 2020-04-17
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
public class DatasetCreateDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotBlank(message = "数据名不能为空", groups = Create.class)
|
||||
@Size(min = 1, max = 50, message = "数据名长度范围只能是1~50", groups = Create.class)
|
||||
private String name;
|
||||
|
||||
@Schema(description = "备注信息")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "类型 0: private 私有数据, 1:team 团队数据 2:public 公开数据")
|
||||
@NotNull(message = "类型不能为空", groups = Create.class)
|
||||
// @EnumValue(enumClass = DatasetTypeEnum.class, enumMethod = "isValid",
|
||||
// message = "类型参数不对,请使用 0-私有数据, 1-团队数据 2-公开数据", groups = Create.class)
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "团队编号")
|
||||
private Long teamId;
|
||||
|
||||
@Schema(description = "数据类型:0图片,1视频, 2文本")
|
||||
@NotNull(message = "数据类型不能为空", groups = Create.class)
|
||||
// @EnumValue(enumClass = DatatypeEnum.class, enumMethod = "isValid", message = Constant.DATA_TYPE_RULE, groups = Create.class)
|
||||
private Integer dataType;
|
||||
|
||||
@Schema(description = "标注类型:101分类,102目标检测,201目标跟踪 301文本分类")
|
||||
@NotNull(message = "数据用于标注的类型不能为空", groups = Create.class)
|
||||
// @EnumValue(enumClass = AnnotateTypeEnum.class, enumMethod = "isValid", message = Constant.ANNOTATE_TYPE_RULE, groups = Create.class)
|
||||
private Integer annotateType;
|
||||
|
||||
@Schema(description = "标签组Id")
|
||||
private Long labelGroupId;
|
||||
|
||||
@Schema(description = "预置标签类型 2:imageNet 3:MS COCO")
|
||||
private Integer presetLabelType;
|
||||
|
||||
@Schema(description = "是否用户导入")
|
||||
@TableField(value = "is_import")
|
||||
private boolean isImport;
|
||||
|
||||
@Schema(description = "模板")
|
||||
private Integer templateType;
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
private Integer module;
|
||||
|
||||
public @interface Create {
|
||||
}
|
||||
|
||||
/**
|
||||
* DatasetCreateDTO 转换Dataset
|
||||
*
|
||||
* @param datasetCreateDTO 数据集创建DTO
|
||||
* @return 数据集
|
||||
*/
|
||||
public static Dataset from(DatasetCreateDTO datasetCreateDTO) {
|
||||
Dataset dataset = new Dataset(datasetCreateDTO);
|
||||
dataset.setStatus(DataStateCodeConstant.NOT_ANNOTATION_STATE);
|
||||
dataset.setModule(datasetCreateDTO.getModule());
|
||||
return dataset;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新数据集
|
||||
*
|
||||
* @param datasetCreateDTO 数据集创建DTO
|
||||
* @return 数据集
|
||||
*/
|
||||
public static Dataset update(DatasetCreateDTO datasetCreateDTO) {
|
||||
return new Dataset(datasetCreateDTO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.dto;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 自定义数据集
|
||||
* @date 2020-07-28
|
||||
*/
|
||||
@Data
|
||||
public class DatasetCustomCreateDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "数据集名称")
|
||||
@Size(min = 1, max = 50, message = "数据名长度范围只能是1~50", groups = Create.class)
|
||||
private String name;
|
||||
|
||||
@Schema(description = "数据集描述")
|
||||
private String desc;
|
||||
|
||||
@Schema(description = "数据集压缩包地址")
|
||||
@NotNull(message = "请上传压缩包!", groups = Create.class)
|
||||
private String archiveUrl;
|
||||
|
||||
@Schema(description = "数据集类型")
|
||||
@NotNull(message = "请指定上传的数据集类型!", groups = Create.class)
|
||||
private Integer datasetType;
|
||||
|
||||
@Schema(description = "标注类型")
|
||||
@NotNull(message = "请指定需要的标注类型!", groups = Create.class)
|
||||
private Integer annotateType;
|
||||
|
||||
public @interface Create {
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.enums;
|
||||
|
||||
/**
|
||||
* @description 数据集状态码
|
||||
* @date 2020-09-03
|
||||
*/
|
||||
public class DataStateCodeConstant {
|
||||
|
||||
private DataStateCodeConstant() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 未标注
|
||||
*/
|
||||
public static final Integer NOT_ANNOTATION_STATE = 101;
|
||||
/**
|
||||
* 手动标注中
|
||||
*/
|
||||
public static final Integer MANUAL_ANNOTATION_STATE = 102;
|
||||
/**
|
||||
* 自动标注中
|
||||
*/
|
||||
public static final Integer AUTOMATIC_LABELING_STATE = 103;
|
||||
/**
|
||||
* 自动标注完成
|
||||
*/
|
||||
public static final Integer AUTO_TAG_COMPLETE_STATE = 104;
|
||||
/**
|
||||
* 标注完成
|
||||
*/
|
||||
public static final Integer ANNOTATION_COMPLETE_STATE = 105;
|
||||
|
||||
/**
|
||||
* 目标跟踪中
|
||||
*/
|
||||
public static final Integer TARGET_FOLLOW_STATE = 201;
|
||||
/**
|
||||
* 目标跟踪完成
|
||||
*/
|
||||
public static final Integer TARGET_COMPLETE_STATE = 202;
|
||||
/**
|
||||
* 目标跟踪失败
|
||||
*/
|
||||
public static final Integer TARGET_FAILURE_STATE = 203;
|
||||
|
||||
/**
|
||||
* 未采样
|
||||
*/
|
||||
public static final Integer NOT_SAMPLED_STATE = 301;
|
||||
/**
|
||||
* 采样中
|
||||
*/
|
||||
public static final Integer SAMPLING_STATE = 302;
|
||||
/**
|
||||
* 采样失败
|
||||
*/
|
||||
public static final Integer SAMPLED_FAILURE_STATE = 303;
|
||||
|
||||
/**
|
||||
* 增强中
|
||||
*/
|
||||
public static final Integer STRENGTHENING_STATE = 401;
|
||||
/**
|
||||
* 导入中
|
||||
*/
|
||||
public static final Integer IN_THE_IMPORT_STATE = 402;
|
||||
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.enums;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @description 数据集类型
|
||||
* @date 2020-11-25
|
||||
*/
|
||||
@Getter
|
||||
public enum DatasetTypeEnum {
|
||||
|
||||
/**
|
||||
* 私有数据
|
||||
*/
|
||||
PRIVATE(0, "私有数据"),
|
||||
/**
|
||||
* 团队数据
|
||||
*/
|
||||
TEAM(1, "团队数据"),
|
||||
/**
|
||||
* 公开数据
|
||||
*/
|
||||
PUBLIC(2, "公开数据");
|
||||
|
||||
DatasetTypeEnum(Integer value, String msg) {
|
||||
this.value = value;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
private Integer value;
|
||||
|
||||
private String msg;
|
||||
|
||||
/**
|
||||
* 数据类型校验 用户web端接口调用时参数校验
|
||||
*
|
||||
* @param value 数据类型
|
||||
* @return 参数校验结果
|
||||
*/
|
||||
public static boolean isValid(Integer value) {
|
||||
for (DatasetTypeEnum datasetTypeEnum : DatasetTypeEnum.values()) {
|
||||
if (datasetTypeEnum.value.equals(value)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 标注文件保存
|
||||
* @date 2020-04-10
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class AnnotationInfoCreateDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "标注信息")
|
||||
@NotBlank(message = "标注信息不能为空")
|
||||
private String annotation;
|
||||
|
||||
@Schema(description = "文件id")
|
||||
@NotNull(message = "文件id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "数据集ID")
|
||||
private Long datasetId;
|
||||
|
||||
@Schema(description = "当前版本")
|
||||
private String currentVersionName;
|
||||
|
||||
@Schema(description = "数据集类型")
|
||||
private Integer dataType;
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Copyright 2020 Zhejiang Lab. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.slf4j.MDC;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 统一的公共响应体
|
||||
* @date 2020-03-16
|
||||
*/
|
||||
@Data
|
||||
public class DataResponseBody<T> implements Serializable {
|
||||
|
||||
/**
|
||||
* 返回状态码
|
||||
*/
|
||||
private Integer code;
|
||||
/**
|
||||
* 返回信息
|
||||
*/
|
||||
private String msg;
|
||||
/**
|
||||
* 泛型数据
|
||||
*/
|
||||
private T data;
|
||||
/**
|
||||
* 链路追踪ID
|
||||
*/
|
||||
private String traceId;
|
||||
|
||||
public DataResponseBody() {
|
||||
this(200, null);
|
||||
}
|
||||
|
||||
public DataResponseBody(T data) {
|
||||
this(200, null, data);
|
||||
}
|
||||
|
||||
public DataResponseBody(Integer code, String msg) {
|
||||
this(code, msg, null);
|
||||
}
|
||||
|
||||
public DataResponseBody(Integer code, String msg, T data) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
this.data = data;
|
||||
this.traceId = MDC.get("traceId");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 数据集版本查询
|
||||
* @date 2020-6-10
|
||||
*/
|
||||
@Data
|
||||
public class DatasetVersionQueryVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// @ApiModelProperty("数据集ID")
|
||||
private Long id;
|
||||
|
||||
// @ApiModelProperty("数据集名称")
|
||||
private String name;
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @description 系统权限DTO
|
||||
* @date 2020-06-29
|
||||
*/
|
||||
@Data
|
||||
public class SysPermissionDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -3836401769559845765L;
|
||||
|
||||
private Long roleId;
|
||||
|
||||
private String permission;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @description 系统角色DTO
|
||||
* @date 2020-06-29
|
||||
*/
|
||||
@Data
|
||||
public class SysRoleDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -3836401769559845765L;
|
||||
|
||||
/**
|
||||
* 权限列表
|
||||
*/
|
||||
private List<SysPermissionDTO> permissions;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 角色ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description 系统用户配置 DTO
|
||||
* @date 2021-7-5
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class SysUserConfigDTO implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Notebook 延迟删除时间配置
|
||||
*/
|
||||
private Integer notebookDelayDeleteTime;
|
||||
|
||||
/**
|
||||
* CPU 资源限制配置
|
||||
*/
|
||||
private Integer cpuLimit;
|
||||
|
||||
/**
|
||||
* 内存资源限制配置
|
||||
*/
|
||||
private Integer memoryLimit;
|
||||
|
||||
/**
|
||||
* GPU 资源限制配置
|
||||
*/
|
||||
private Integer gpuLimit;
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 团队转换DTO
|
||||
* @date 2020-06-01
|
||||
*/
|
||||
@Data
|
||||
public class TeamDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7049447715255649751L;
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
private Boolean enabled;
|
||||
|
||||
private Long pid;
|
||||
|
||||
/**
|
||||
* 团队成员
|
||||
*/
|
||||
private List<UserSmallDTO> teamUserList;
|
||||
|
||||
private Timestamp createTime;
|
||||
|
||||
public String getLabel() {
|
||||
return name;
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 用户信息
|
||||
* @date 2020-06-29
|
||||
*/
|
||||
@Data
|
||||
public class UserDTO implements Serializable {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String username;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String sex;
|
||||
|
||||
private String email;
|
||||
|
||||
private String phone;
|
||||
|
||||
private Boolean enabled;
|
||||
|
||||
private String remark;
|
||||
|
||||
private Date lastPasswordResetTime;
|
||||
|
||||
private Timestamp createTime;
|
||||
|
||||
/**
|
||||
* 头像路径
|
||||
*/
|
||||
private String userAvatarPath;
|
||||
|
||||
/**
|
||||
* 角色
|
||||
*/
|
||||
private List<SysRoleDTO> roles;
|
||||
|
||||
/**
|
||||
* 用户配置
|
||||
*/
|
||||
private SysUserConfigDTO userConfig;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.rest.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description 用户信息DTO
|
||||
* @date 2020-06-01
|
||||
*/
|
||||
@Data
|
||||
public class UserSmallDTO {
|
||||
private String username;
|
||||
private String nickName;
|
||||
|
||||
public UserSmallDTO() {}
|
||||
|
||||
public UserSmallDTO(UserDTO userDTO) {
|
||||
this.username = userDTO.getUsername();
|
||||
this.nickName = userDTO.getNickName();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,185 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.dal.dataobject.rest;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.dto.DatasetCreateDTO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.dto.DatasetCustomCreateDTO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.enums.DataStateCodeConstant;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.enums.DatasetTypeEnum;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.TeamDTO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.UserDTO;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
/**
|
||||
* @description 数据集
|
||||
* @date 2020-04-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("data_dataset")
|
||||
//@ApiModel(value = "Dataset对象", description = "数据集管理")
|
||||
@Builder
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
public class Dataset {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableField("deleted")
|
||||
private Boolean deleted = false;
|
||||
|
||||
/**
|
||||
* 数据集名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据集备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
// @ApiModelProperty(value = "类型 0: private 私有数据, 1:team 团队数据 2:public 公开数据")
|
||||
private Integer type;
|
||||
|
||||
// @ApiModelProperty(value = "数据类型:0图片,1视频, 2文本")
|
||||
private Integer dataType;
|
||||
|
||||
// @ApiModelProperty(value = "标注类型:2分类,1目标检测,5目标跟踪,6本文分类")
|
||||
private Integer annotateType;
|
||||
|
||||
private Long teamId;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
// @ApiModelProperty(value = "数据集存储位置")
|
||||
private String uri;
|
||||
|
||||
// @ApiModelProperty(value = "0:未标注,1:手动标注中,2:自动标注中,3:自动标注完成,4:标注完成")
|
||||
private Integer status;
|
||||
|
||||
// @ApiModelProperty(value = "当前版本号")
|
||||
private String currentVersionName;
|
||||
|
||||
// @ApiModelProperty(value = "是否用户导入")
|
||||
@TableField(value = "is_import")
|
||||
private boolean isImport;
|
||||
|
||||
// @ApiModelProperty(value = "用户导入数据集压缩包地址")
|
||||
private String archiveUrl;
|
||||
|
||||
// @ApiModelProperty(value = "解压状态: 0未解压 1解压中 2解压完成 3解压失败")
|
||||
private Integer decompressState;
|
||||
|
||||
// @ApiModelProperty(value = "解压失败原因")
|
||||
private String decompressFailReason;
|
||||
|
||||
// @ApiModelProperty(value = "是否置顶")
|
||||
@TableField(value = "is_top")
|
||||
private boolean isTop;
|
||||
|
||||
// @ApiModelProperty(value = "标签组Id")
|
||||
private Long labelGroupId;
|
||||
|
||||
// @ApiModelProperty(value = "数据集源ID")
|
||||
private Long sourceId;
|
||||
|
||||
/**
|
||||
* 团队
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private TeamDTO team;
|
||||
|
||||
/**
|
||||
* 创建用户
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private UserDTO createUser;
|
||||
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
private Timestamp createTime;
|
||||
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
private Timestamp updateTime;
|
||||
|
||||
@TableField(value = "create_user_id", fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
@TableField(value = "update_user_id", fill = FieldFill.INSERT_UPDATE)
|
||||
private Long updateUserId;
|
||||
|
||||
private Long originUserId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private UserDTO updateUser;
|
||||
|
||||
// @ApiModelProperty(value = "模板")
|
||||
private Integer templateType;
|
||||
|
||||
// @ApiModelProperty(value = "所属模块")
|
||||
private Integer module;
|
||||
|
||||
public Dataset() {
|
||||
}
|
||||
|
||||
public Dataset(Long id, Integer status) {
|
||||
this.id = id;
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Dataset(DatasetCreateDTO datasetCreateDTO) {
|
||||
this.name = datasetCreateDTO.getName();
|
||||
this.remark = datasetCreateDTO.getRemark();
|
||||
this.type = datasetCreateDTO.getType();
|
||||
this.teamId = datasetCreateDTO.getTeamId();
|
||||
this.dataType = datasetCreateDTO.getDataType();
|
||||
this.annotateType = datasetCreateDTO.getAnnotateType();
|
||||
this.isImport = datasetCreateDTO.isImport();
|
||||
this.labelGroupId = datasetCreateDTO.getLabelGroupId();
|
||||
this.templateType=datasetCreateDTO.getTemplateType();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户自定义数据集
|
||||
* @param datasetCustomCreateDTO
|
||||
*/
|
||||
public Dataset(DatasetCustomCreateDTO datasetCustomCreateDTO) {
|
||||
this.name = datasetCustomCreateDTO.getName();
|
||||
this.remark = datasetCustomCreateDTO.getDesc();
|
||||
this.type = DatasetTypeEnum.PRIVATE.getValue();
|
||||
this.dataType = datasetCustomCreateDTO.getDatasetType();
|
||||
this.annotateType = datasetCustomCreateDTO.getAnnotateType();
|
||||
this.status = DataStateCodeConstant.ANNOTATION_COMPLETE_STATE;
|
||||
this.archiveUrl = datasetCustomCreateDTO.getArchiveUrl();
|
||||
this.isImport = true;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
///**
|
||||
// * Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// * =============================================================
|
||||
// */
|
||||
//
|
||||
//package cn.iocoder.yudao.module.llm.dal.mysql.rest;
|
||||
//
|
||||
//import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.DatasetVersionQueryVO;
|
||||
//import cn.iocoder.yudao.module.llm.dal.dataobject.rest.Dataset;
|
||||
//import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
//import org.apache.ibatis.annotations.Delete;
|
||||
//import org.apache.ibatis.annotations.Param;
|
||||
//import org.apache.ibatis.annotations.Select;
|
||||
//import org.apache.ibatis.annotations.Update;
|
||||
//
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
///**
|
||||
// * @description 数据集管理 Mapper 接口
|
||||
// * @date 2020-04-10
|
||||
// */
|
||||
////@DataPermission(ignoresMethod = {"insert", "selectById", "selectCountByPublic", "selectList", "dataVersionListVO"})
|
||||
//public interface DatasetMapper extends BaseMapper<Dataset> {
|
||||
//
|
||||
// /**
|
||||
// * 分页获取数据集
|
||||
// *
|
||||
// * @param page 分页插件
|
||||
// * @param queryWrapper 查询条件
|
||||
// * @return Page<Dataset>数据集列表
|
||||
// */
|
||||
// @Select("SELECT * FROM data_dataset ${ew.customSqlSegment}")
|
||||
// Page<Dataset> listPage(Page<Dataset> page, @Param("ew") Wrapper<Dataset> queryWrapper);
|
||||
//
|
||||
// /**
|
||||
// * 修改数据集当前版本
|
||||
// *
|
||||
// * @param id 数据集ID
|
||||
// * @param versionName 数据集版本名称
|
||||
// */
|
||||
// @Update("update data_dataset set current_version_name = #{versionName} where id = #{id}")
|
||||
// void updateVersionName(@Param("id") Long id, @Param("versionName") String versionName);
|
||||
//
|
||||
// /**
|
||||
// * 更新数据集状态
|
||||
// *
|
||||
// * @param datasetId 数据集ID
|
||||
// * @param status 数据集状态
|
||||
// */
|
||||
// @Update("update data_dataset set status = #{status} where id = #{datasetId}")
|
||||
// void updateStatus(@Param("datasetId") Long datasetId, @Param("status") Integer status);
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 获取指定类型数据集的数量
|
||||
// *
|
||||
// * @param type 数据集类型
|
||||
// * @return int 公共数据集的数量
|
||||
// */
|
||||
// @Select("SELECT count(1) FROM data_dataset where type = #{type} and deleted = #{deleted}")
|
||||
// int selectCountByPublic(@Param("type") Integer type,@Param("deleted") Integer deleted);
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 根据标签组ID查询关联的数据集数量
|
||||
// *
|
||||
// * @param labelGroupId 标签组ID
|
||||
// * @return int 数量
|
||||
// */
|
||||
// @Select("SELECT count(1) FROM data_dataset where label_group_id = #{labelGroupId} and deleted =0")
|
||||
// int getCountByLabelGroupId(@Param("labelGroupId") Long labelGroupId);
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 数据集数据删除
|
||||
// *
|
||||
// * @param id 数据集id
|
||||
// * @param deleteFlag 删除标识
|
||||
// * @return int 数量
|
||||
// */
|
||||
// @Update("update data_dataset set deleted = #{deleteFlag} where id = #{id}")
|
||||
// int updateStatusById(@Param("id") Long id, @Param("deleteFlag") boolean deleteFlag);
|
||||
//
|
||||
// /**
|
||||
// * 根据数据集ID删除数据信息
|
||||
// *
|
||||
// * @param datasetId 数据集ID
|
||||
// */
|
||||
// @Delete("delete from data_dataset where id = #{datasetId}")
|
||||
// void deleteInfoById(@Param("datasetId") Long datasetId);
|
||||
//
|
||||
// List<DatasetVersionQueryVO> dataVersionListVO(@Param("annotateType") Integer annotateType,
|
||||
// @Param("module") Integer module, @Param("ids") List<Long> ids,
|
||||
// @Param("currentUserId") Long currentUserId);
|
||||
//
|
||||
//}
|
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.service.rest;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.AnnotationInfoCreateDTO;
|
||||
|
||||
/**
|
||||
* @description 标注信息服务类
|
||||
* @date 2020-07-16
|
||||
*/
|
||||
public interface AnnotationService {
|
||||
|
||||
/**
|
||||
* 保存标注(单个)
|
||||
*
|
||||
* @param fileId 文件ID
|
||||
* @param datasetId 数据集ID
|
||||
* @param annotationInfoCreateDTO 保存标注参数
|
||||
* @return int 标注成功数量
|
||||
*/
|
||||
void save(Long fileId,Long datasetId, AnnotationInfoCreateDTO annotationInfoCreateDTO);
|
||||
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
/**
|
||||
* Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================
|
||||
*/
|
||||
|
||||
package cn.iocoder.yudao.module.llm.service.rest;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.rest.vo.AnnotationInfoCreateDTO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.rest.Dataset;
|
||||
import cn.iocoder.yudao.module.llm.service.dataset.DatasetService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @description 标注service
|
||||
* @date 2020-03-27
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class AnnotationServiceImpl implements AnnotationService {
|
||||
|
||||
/**
|
||||
* 数据集服务类
|
||||
*/
|
||||
// @Resource
|
||||
// private DatasetService datasetService;
|
||||
|
||||
@Override
|
||||
public void save(Long fileId, Long datasetId, AnnotationInfoCreateDTO annotationInfoCreateDTO) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 标注保存(单个)
|
||||
*
|
||||
* @param annotationInfoCreateDTO 标注信息
|
||||
*/
|
||||
// @Override
|
||||
// public void save(Long fileId, Long datasetId, AnnotationInfoCreateDTO annotationInfoCreateDTO) {
|
||||
// Dataset dataset = datasetService.getOneById(datasetId);
|
||||
// if (dataset == null) {
|
||||
// throw new BusinessException(ErrorEnum.DATASET_ABSENT);
|
||||
// }
|
||||
// datasetService.checkPublic(dataset, OperationTypeEnum.UPDATE);
|
||||
// //判断数据集是否在发布中
|
||||
// if (!StringUtils.isBlank(dataset.getCurrentVersionName())) {
|
||||
// if (datasetVersionService.getDatasetVersionSourceVersion(dataset).getDataConversion().equals(NumberConstant.NUMBER_4)) {
|
||||
// throw new BusinessException(ErrorEnum.DATASET_PUBLISH_ERROR);
|
||||
// }
|
||||
// }
|
||||
// annotationInfoCreateDTO.setId(fileId);
|
||||
// annotationInfoCreateDTO.setDatasetId(datasetId);
|
||||
// annotationInfoCreateDTO.setCurrentVersionName(dataset.getCurrentVersionName());
|
||||
// annotationInfoCreateDTO.setDataType(dataset.getDataType());
|
||||
// doSave(annotationInfoCreateDTO);
|
||||
// saveDatasetFileAnnotationsByImage(annotationInfoCreateDTO);
|
||||
// //改变数据集的状态为标注中
|
||||
// StateMachineUtil.stateChange(new StateChangeDTO() {{
|
||||
// setObjectParam(new Object[]{dataset});
|
||||
// setEventMethodName(DataStateMachineConstant.DATA_MANUAL_ANNOTATION_SAVE_EVENT);
|
||||
// setStateMachineType(DataStateMachineConstant.DATA_STATE_MACHINE);
|
||||
// }});
|
||||
// //将文件改为标注中的状态
|
||||
// StateMachineUtil.stateChange(new StateChangeDTO() {{
|
||||
// setObjectParam(new Object[]{new DatasetVersionFile() {{
|
||||
// setDatasetId(dataset.getId());
|
||||
// setFileId(fileId);
|
||||
// setVersionName(dataset.getCurrentVersionName());
|
||||
// }}});
|
||||
// setEventMethodName(FileStateMachineConstant.FILE_MANUAL_ANNOTATION_SAVE_EVENT);
|
||||
// setStateMachineType(FileStateMachineConstant.FILE_STATE_MACHINE);
|
||||
// }});
|
||||
// }
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
///**
|
||||
// * Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// * =============================================================
|
||||
// */
|
||||
//
|
||||
//package cn.iocoder.yudao.module.llm.service.rest;
|
||||
//
|
||||
//
|
||||
///**
|
||||
// * @description 数据集信息服务
|
||||
// * @date 2020-04-10
|
||||
// */
|
||||
//public interface DatasetService {
|
||||
//
|
||||
//}
|
@ -0,0 +1,40 @@
|
||||
///**
|
||||
// * Copyright 2020 Tianshu AI Platform. All Rights Reserved.
|
||||
// *
|
||||
// * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// * you may not use this file except in compliance with the License.
|
||||
// * You may obtain a copy of the License at
|
||||
// *
|
||||
// * http://www.apache.org/licenses/LICENSE-2.0
|
||||
// *
|
||||
// * Unless required by applicable law or agreed to in writing, software
|
||||
// * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// * See the License for the specific language governing permissions and
|
||||
// * limitations under the License.
|
||||
// * =============================================================
|
||||
// */
|
||||
//
|
||||
//package cn.iocoder.yudao.module.llm.service.rest;
|
||||
//
|
||||
//
|
||||
//import cn.iocoder.yudao.module.llm.dal.dataobject.rest.Dataset;
|
||||
//import cn.iocoder.yudao.module.llm.dal.mysql.rest.DatasetMapper;
|
||||
//import cn.iocoder.yudao.module.llm.service.dataset.DatasetService;
|
||||
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
//import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
///**
|
||||
// * @description 数据集服务实现类
|
||||
// * @date 2020-04-10
|
||||
// */
|
||||
//@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
|
||||
//@Service
|
||||
//public class DatasetServiceImpl extends ServiceImpl<DatasetMapper, Dataset> implements DatasetService {
|
||||
//
|
||||
// @Override
|
||||
// public boolean save(Dataset entity) {
|
||||
// return super.save(entity);
|
||||
// }
|
||||
//}
|
Loading…
x
Reference in New Issue
Block a user