diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/client/intelligentAnnotation/AnnotationRequest.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/client/intelligentAnnotation/AnnotationRequest.java index eed6653..94d6d4d 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/client/intelligentAnnotation/AnnotationRequest.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/client/intelligentAnnotation/AnnotationRequest.java @@ -20,7 +20,7 @@ public class AnnotationRequest { private List targetLabels; @JsonProperty("conf_threshold") - private Double confThreshold; + private Float confThreshold; public static AnnotationRequest fromJson(String json) throws JsonProcessingException { return new ObjectMapper().readValue(json, AnnotationRequest.class); diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/IntelligentAnnotationServiceEntity.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/IntelligentAnnotationServiceEntity.java index 0f743d4..521d2f7 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/IntelligentAnnotationServiceEntity.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/dataset/IntelligentAnnotationServiceEntity.java @@ -8,7 +8,7 @@ public class IntelligentAnnotationServiceEntity extends BaseEntity { private Long serviceId; private String serviceName; private String serviceUrl; - private String annotationLabels; + private Float confLevel ; /**删除标志(0代表存在 1代表删除) */ private String delFlag; diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java index 31cbe2a..0bdfc74 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/dataset/IntelligentAnnotationServiceImpl.java @@ -83,7 +83,7 @@ public class IntelligentAnnotationServiceImpl implements IntelligentAnnotationSe } String serviceUrl = aiAnnotationServiceInfo.getServiceUrl(); AnnotationRequest request = new AnnotationRequest(); - request.setConfThreshold(0.1); + request.setConfThreshold(aiAnnotationServiceInfo.getConfLevel()); request.setImageUrls(imageUrls); request.setTargetLabels(ObjectUtils.isEmpty(taskInfo.getLabels()) ? new ArrayList<>() : Arrays.asList(taskInfo.getLabels().split(","))); AnnotationResult result = intelligentAnnotationClient.intelligentAnnotation(serviceUrl, request); diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/utils/AverageUtil.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/utils/AverageUtil.java index 6ec9985..39c5c8c 100644 --- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/utils/AverageUtil.java +++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/utils/AverageUtil.java @@ -4,6 +4,7 @@ import com.bonus.ai.domain.DataSetBasicFileEntity; import com.bonus.ai.domain.dataset.AnnotationTaskAnnotatorEntity; import com.bonus.ai.domain.dataset.AnnotationTaskEntity; import com.bonus.common.security.utils.SecurityUtils; +import org.springframework.util.ObjectUtils; import java.util.*; @@ -53,6 +54,10 @@ public class AverageUtil { for (DataSetBasicFileEntity file : files) { + // 跳过空文件,因为这些文件与数据集的关系到,但文件实体不在 + if (ObjectUtils.isEmpty(file)){ + continue; + } // 为文件寻找一个标注人员 AnnotationTaskEntity.UserFileCount annotator = findUserWithQuota(annotators); AnnotationTaskEntity.UserFileCount reviewer = findUserWithQuota(reviewers); diff --git a/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml b/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml index 8df4a41..76d9742 100644 --- a/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml +++ b/bonus-modules/bonus-ai/src/main/resources/mapper/IntelligentAnnotationMapper.xml @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ - select intelligent_annotation_service_id, intelligent_annotation_service_name, intelligent_annotation_service_url, del_flag, create_by, create_time, update_by, update_time from ai_intelligent_annotation_service + select intelligent_annotation_service_id, intelligent_annotation_service_name, intelligent_annotation_service_url,conf_level, del_flag, create_by, create_time, update_by, update_time from ai_intelligent_annotation_service @@ -38,7 +38,7 @@ intelligent_annotation_service_name, intelligent_annotation_service_url, - intelligent_annotation_service_labels, + conf_level, del_flag, create_by, create_time, @@ -48,7 +48,7 @@ #{serviceName}, #{serviceUrl}, - #{annotationLabels}, + #{conf_level}, #{delFlag}, #{createBy}, #{createTime}, @@ -63,6 +63,7 @@ intelligent_annotation_service_name = #{serviceName}, intelligent_annotation_service_url = #{serviceUrl}, + conf_level = #{confLevel}, update_by = #{updateBy}, where intelligent_annotation_service_id = #{serviceId} diff --git a/sql/bonus_ai.sql b/sql/bonus_ai.sql index 44e66ce..1fd46a9 100644 --- a/sql/bonus_ai.sql +++ b/sql/bonus_ai.sql @@ -243,7 +243,7 @@ create table ai_intelligent_annotation_service intelligent_annotation_service_id bigint(20) not null auto_increment, intelligent_annotation_service_name varchar(128) default '' comment '智能标注服务名称', intelligent_annotation_service_url varchar(128) default '' comment '智能标注服务url', - intelligent_annotation_service_labels varchar(128) default '' comment '智能标注服务标签', + conf_level FLOAT default 0.5 comment '置信度', del_flag char(1) default '0' comment '是否删除(0代表存在,1代表删除)', create_by varchar(64) default '' comment '创建者', update_by varchar(64) default '' comment '更新者',