Skip to content

Commit 1d19cd3

Browse files
authored
feature: add data-evaluation
* feature: add evaluation task management function * feature: add evaluation task detail page * fix: delete duplicate definition for table t_model_config * refactor: rename package synthesis to ratio * refactor: add eval file table and refactor related code * fix: calling large models in parallel during evaluation
1 parent 265e284 commit 1d19cd3

File tree

52 files changed

+2866
-1228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2866
-1228
lines changed

backend/services/data-management-service/src/main/java/com/datamate/datamanagement/application/DatasetApplicationService.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import lombok.extern.slf4j.Slf4j;
2222
import org.apache.commons.collections4.CollectionUtils;
2323
import org.springframework.beans.factory.annotation.Value;
24+
import org.springframework.data.redis.core.StringRedisTemplate;
2425
import org.springframework.scheduling.annotation.Async;
2526
import org.springframework.stereotype.Service;
2627
import org.springframework.transaction.annotation.Transactional;
@@ -42,11 +43,13 @@
4243
@Transactional
4344
@RequiredArgsConstructor
4445
public class DatasetApplicationService {
46+
private static final String DATASET_PVC_NAME = "sys.management.dataset.pvc.name";
4547
private final DatasetRepository datasetRepository;
4648
private final TagMapper tagMapper;
4749
private final DatasetFileRepository datasetFileRepository;
4850
private final CollectionTaskClient collectionTaskClient;
4951
private final DatasetFileApplicationService datasetFileApplicationService;
52+
private final StringRedisTemplate redisTemplate;
5053

5154
@Value("${datamate.data-management.base-path:/dataset}")
5255
private String datasetBasePath;
@@ -76,6 +79,10 @@ public Dataset createDataset(CreateDatasetRequest createDatasetRequest) {
7679
return dataset;
7780
}
7881

82+
public String getDatasetPvcName() {
83+
return redisTemplate.opsForValue().get(DATASET_PVC_NAME);
84+
}
85+
7986
public Dataset updateDataset(String datasetId, UpdateDatasetRequest updateDatasetRequest) {
8087
Dataset dataset = datasetRepository.getById(datasetId);
8188
BusinessAssert.notNull(dataset, DataManagementErrorCode.DATASET_NOT_FOUND);
@@ -130,7 +137,10 @@ public Dataset getDataset(String datasetId) {
130137
public PagedResponse<DatasetResponse> getDatasets(DatasetPagingQuery query) {
131138
IPage<Dataset> page = new Page<>(query.getPage(), query.getSize());
132139
page = datasetRepository.findByCriteria(page, query);
133-
return PagedResponse.of(DatasetConverter.INSTANCE.convertToResponse(page.getRecords()), page.getCurrent(), page.getTotal(), page.getPages());
140+
String datasetPvcName = getDatasetPvcName();
141+
List<DatasetResponse> datasetResponses = DatasetConverter.INSTANCE.convertToResponse(page.getRecords());
142+
datasetResponses.forEach(dataset -> dataset.setPvcName(datasetPvcName));
143+
return PagedResponse.of(datasetResponses, page.getCurrent(), page.getTotal(), page.getPages());
134144
}
135145

136146
/**

backend/services/data-management-service/src/main/java/com/datamate/datamanagement/domain/model/dataset/FileTag.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class FileTag {
2828

2929
private String fromName;
3030

31-
public List<String> getTags() {
31+
public List<String> getTagValues() {
3232
List<String> tags = new ArrayList<>();
3333
Object tagValues = values.get(type);
3434
if (tagValues instanceof List) {
@@ -40,9 +40,6 @@ public List<String> getTags() {
4040
} else if (tagValues instanceof String) {
4141
tags.add((String) tagValues);
4242
}
43-
if(StringUtils.isNotEmpty(fromName)) {
44-
return tags.stream().map(tag -> fromName + " " + tag).toList();
45-
}
4643
return tags;
4744
}
4845
}

backend/services/data-management-service/src/main/java/com/datamate/datamanagement/interfaces/converter/DatasetConverter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ public interface DatasetConverter {
7070
* @return 标签分布
7171
*/
7272
@Named("getDistribution")
73-
default Map<String, Long> getDistribution(List<DatasetFile> datasetFiles) {
74-
Map<String, Long> distribution = new HashMap<>();
73+
default Map<String, Map<String, Long>> getDistribution(List<DatasetFile> datasetFiles) {
74+
Map<String, Map<String, Long>> distribution = new HashMap<>();
7575
if (CollectionUtils.isEmpty(datasetFiles)) {
7676
return distribution;
7777
}
@@ -81,7 +81,9 @@ default Map<String, Long> getDistribution(List<DatasetFile> datasetFiles) {
8181
return distribution;
8282
}
8383
for (FileTag tag : tags) {
84-
tag.getTags().forEach(tagName -> distribution.put(tagName, distribution.getOrDefault(tagName, 0L) + 1));
84+
Map<String, Long> tagValueMap = distribution.getOrDefault(tag.getFromName(), new HashMap<>());
85+
tag.getTagValues().forEach(tagValue -> tagValueMap.put(tagValue, tagValueMap.getOrDefault(tagValue, 0L) + 1));
86+
distribution.put(tag.getFromName(), tagValueMap);
8587
}
8688
}
8789
return distribution;

backend/services/data-management-service/src/main/java/com/datamate/datamanagement/interfaces/dto/DatasetResponse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,7 @@ public class DatasetResponse {
4646
/** 更新者 */
4747
private String updatedBy;
4848
/** 分布 */
49-
private Map<String, Long> distribution ;
49+
private Map<String, Map<String, Long>> distribution;
50+
/** 数据集pvc名称 */
51+
private String pvcName;
5052
}

backend/services/data-management-service/src/main/java/com/datamate/datamanagement/interfaces/rest/DatasetController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ public DatasetResponse createDataset(@RequestBody @Valid CreateDatasetRequest cr
5858
*/
5959
@GetMapping("/{datasetId}")
6060
public DatasetResponse getDatasetById(@PathVariable("datasetId") String datasetId) {
61-
Dataset dataset = datasetApplicationService.getDataset(datasetId);
62-
return DatasetConverter.INSTANCE.convertToResponse(dataset);
61+
DatasetResponse dataset = DatasetConverter.INSTANCE.convertToResponse(datasetApplicationService.getDataset(datasetId));
62+
dataset.setPvcName(datasetApplicationService.getDatasetPvcName());
63+
return dataset;
6364
}
6465

6566
/**

deployment/docker/datamate/backend.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ server {
1414
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1515
}
1616

17+
location /api/evaluation/ {
18+
proxy_pass http://datamate-backend-python:18000/api/evaluation/;
19+
proxy_set_header Host $host;
20+
proxy_set_header X-Real-IP $remote_addr;
21+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
22+
}
23+
1724
location /api/annotation/ {
1825
proxy_pass http://datamate-backend-python:18000/api/annotation/;
1926
proxy_set_header Host $host;

0 commit comments

Comments
 (0)