Merge remote-tracking branch 'origin/master' into master-wangwei
This commit is contained in:
commit
4c4d29373a
@ -76,5 +76,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode TRAINING_NOT_EXISTS = new ErrorCode(10029, "训练不存在");
|
||||
|
||||
ErrorCode MODEL_COMPLETIONS_ERROR = new ErrorCode(10030, "模型推理失败");
|
||||
ErrorCode MANUAL_MODEL_ANSWER_NOT_EXISTS = new ErrorCode(10031, "模型评估人工评估信息不存在");
|
||||
ErrorCode MANUAL_MODEL_ANNO_NOT_EXISTS = new ErrorCode(10032, "模型评估人工评估标注信息不存在");
|
||||
|
||||
}
|
||||
|
@ -67,8 +67,8 @@ public class ApplicationController {
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('llm:application:query')")
|
||||
public CommonResult<ApplicationRespVO> getApplication(@RequestParam("id") Long id) {
|
||||
ApplicationDO application = applicationService.getApplication(id);
|
||||
return success(BeanUtils.toBean(application, ApplicationRespVO.class));
|
||||
ApplicationRespVO application = applicationService.getApplication(id);
|
||||
return success(application);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
|
@ -35,6 +35,9 @@ public class ApplicationRespVO {
|
||||
@ExcelProperty("应用标签,保存多个标签ID,用逗号分隔")
|
||||
private String appLabel;
|
||||
|
||||
@Schema(description = "应用标签,保存多个标签名称,用逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String appLabelName;
|
||||
|
||||
@Schema(description = "模型服务,模型服务ID")
|
||||
@ExcelProperty("模型服务,模型服务ID")
|
||||
private Long appModel;
|
||||
|
@ -129,8 +129,8 @@ public class DataRefluxConfigController {
|
||||
|
||||
@GetMapping("/review-the-data")
|
||||
@Operation(summary = "数据回流配置查看数据")
|
||||
public CommonResult<List<DataRefluxDataRespVO>> reviewTheData(@Valid DataRefluxConfigPageReqVO pageReqVO) {
|
||||
List<DataRefluxDataDO> list = dataRefluxDataService.getTheDetails(pageReqVO);
|
||||
public CommonResult<PageResult<DataRefluxDataRespVO>> reviewTheData(@Valid DataRefluxConfigPageReqVO pageReqVO) {
|
||||
PageResult<DataRefluxDataDO> list = dataRefluxDataService.getTheDetails(pageReqVO);
|
||||
return success(BeanUtils.toBean(list, DataRefluxDataRespVO.class));
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.datarefluxdata;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.datarefluxconfig.vo.DataRefluxConfigPageReqVO;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -13,6 +14,8 @@ import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
@ -83,16 +86,21 @@ public class DataRefluxDataController {
|
||||
@GetMapping("/review-the-data")
|
||||
@Operation(summary = "数据回流配置保存数据")
|
||||
public void saveTheData(@Valid DataRefluxDataReqVO pageReqVO){
|
||||
if (pageReqVO.getId() != null){
|
||||
pageReqVO.setIds(Collections.singletonList(pageReqVO.getId()));
|
||||
if (pageReqVO.getDataid() != null){
|
||||
pageReqVO.setDataids(Collections.singletonList(pageReqVO.getDataid()));
|
||||
}
|
||||
//TODO 数据回流配置保存数据
|
||||
dataRefluxDataService.getDataRefluxDataIDs(pageReqVO);
|
||||
}
|
||||
|
||||
@GetMapping("/save-all-the-data")
|
||||
@Operation(summary = "数据回流配置保存全部数据")
|
||||
public void saveAllTheData(@Valid DataRefluxDataReqVO pageReqVO){
|
||||
//TODO 全部保存数据
|
||||
public void saveAllTheData(@Valid DataRefluxDataReqVO pageReqVO, DataRefluxConfigPageReqVO page){
|
||||
page.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
PageResult<DataRefluxDataDO> list = dataRefluxDataService.getTheDetails(page);
|
||||
List<DataRefluxDataDO> doList = list.getList();
|
||||
List<Long> collect = doList.stream().map(DataRefluxDataDO::getId).collect(Collectors.toList());
|
||||
pageReqVO.setDataids(collect);
|
||||
dataRefluxDataService.getDataRefluxDataIDs(pageReqVO);
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,8 +9,21 @@ import java.util.List;
|
||||
@Data
|
||||
public class DataRefluxDataReqVO {
|
||||
@Schema(description = "配置ID",example = "16823")
|
||||
private Long id;
|
||||
private Long dataid;
|
||||
|
||||
@Schema(description = "多个配置ID",example = "16823")
|
||||
private List<Long> ids;
|
||||
private List<Long> dataids;
|
||||
|
||||
@Schema(description = "数据集类型",example = "16823")
|
||||
private Long datasetType;
|
||||
|
||||
@Schema(description = "数据集名称",example = "16823")
|
||||
private String datasetName;
|
||||
|
||||
@Schema(description = "数据集描述",example = "16823")
|
||||
private String datasetIntro;
|
||||
|
||||
@Schema(description = "保存字段",example = "16823")
|
||||
private Long saveField;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,97 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnnoDO;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ManualModelAnnoService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
|
||||
@Tag(name = "管理后台 - 模型评估人工评估标注")
|
||||
@RestController
|
||||
@RequestMapping("/llm/manual-model-anno")
|
||||
@Validated
|
||||
public class ManualModelAnnoController {
|
||||
|
||||
@Resource
|
||||
private ManualModelAnnoService manualModelAnnoService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模型评估人工评估标注")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:create')")
|
||||
public CommonResult<Long> createManualModelAnno(@Valid @RequestBody ManualModelAnnoSaveReqVO createReqVO) {
|
||||
return success(manualModelAnnoService.createManualModelAnno(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模型评估人工评估标注")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:update')")
|
||||
public CommonResult<Boolean> updateManualModelAnno(@Valid @RequestBody ManualModelAnnoSaveReqVO updateReqVO) {
|
||||
manualModelAnnoService.updateManualModelAnno(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模型评估人工评估标注")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:delete')")
|
||||
public CommonResult<Boolean> deleteManualModelAnno(@RequestParam("id") Long id) {
|
||||
manualModelAnnoService.deleteManualModelAnno(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模型评估人工评估标注")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:query')")
|
||||
public CommonResult<ManualModelAnnoRespVO> getManualModelAnno(@RequestParam("id") Long id) {
|
||||
ManualModelAnnoDO manualModelAnno = manualModelAnnoService.getManualModelAnno(id);
|
||||
return success(BeanUtils.toBean(manualModelAnno, ManualModelAnnoRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模型评估人工评估标注分页")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:query')")
|
||||
public CommonResult<PageResult<ManualModelAnnoRespVO>> getManualModelAnnoPage(@Valid ManualModelAnnoPageReqVO pageReqVO) {
|
||||
PageResult<ManualModelAnnoDO> pageResult = manualModelAnnoService.getManualModelAnnoPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ManualModelAnnoRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模型评估人工评估标注 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-anno:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportManualModelAnnoExcel(@Valid ManualModelAnnoPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ManualModelAnnoDO> list = manualModelAnnoService.getManualModelAnnoPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模型评估人工评估标注.xls", "数据", ManualModelAnnoRespVO.class,
|
||||
BeanUtils.toBean(list, ManualModelAnnoRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ManualModelAnswerService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
|
||||
@Tag(name = "管理后台 - 模型评估人工标注 模型回答")
|
||||
@RestController
|
||||
@RequestMapping("/llm/manual-model-answer")
|
||||
@Validated
|
||||
public class ManualModelAnswerController {
|
||||
|
||||
@Resource
|
||||
private ManualModelAnswerService manualModelAnswerService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模型评估人工标注 模型回答")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:create')")
|
||||
public CommonResult<Long> createManualModelAnswer(@Valid @RequestBody ManualModelAnswerSaveReqVO createReqVO) {
|
||||
return success(manualModelAnswerService.createManualModelAnswer(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模型评估人工标注 模型回答")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:update')")
|
||||
public CommonResult<Boolean> updateManualModelAnswer(@Valid @RequestBody ManualModelAnswerSaveReqVO updateReqVO) {
|
||||
manualModelAnswerService.updateManualModelAnswer(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模型评估人工标注 模型回答")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:delete')")
|
||||
public CommonResult<Boolean> deleteManualModelAnswer(@RequestParam("id") Long id) {
|
||||
manualModelAnswerService.deleteManualModelAnswer(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模型评估人工标注 模型回答")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:query')")
|
||||
public CommonResult<ManualModelAnswerRespVO> getManualModelAnswer(@RequestParam("id") Long id) {
|
||||
ManualModelAnswerDO manualModelAnswer = manualModelAnswerService.getManualModelAnswer(id);
|
||||
return success(BeanUtils.toBean(manualModelAnswer, ManualModelAnswerRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模型评估人工标注 模型回答分页")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:query')")
|
||||
public CommonResult<PageResult<ManualModelAnswerRespVO>> getManualModelAnswerPage(@Valid ManualModelAnswerPageReqVO pageReqVO) {
|
||||
PageResult<ManualModelAnswerDO> pageResult = manualModelAnswerService.getManualModelAnswerPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ManualModelAnswerRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模型评估人工标注 模型回答 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('llm:manual-model-answer:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportManualModelAnswerExcel(@Valid ManualModelAnswerPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ManualModelAnswerDO> list = manualModelAnswerService.getManualModelAnswerPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模型评估人工标注 模型回答.xls", "数据", ManualModelAnswerRespVO.class,
|
||||
BeanUtils.toBean(list, ManualModelAnswerRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工评估标注分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ManualModelAnnoPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "主任务id", example = "29186")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "模型回答id", example = "25919")
|
||||
private Long modelAnswerId;
|
||||
|
||||
@Schema(description = "模型维度定义id", example = "20924")
|
||||
private Long dimensionId;
|
||||
|
||||
@Schema(description = "评分")
|
||||
private Integer score;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工评估标注 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ManualModelAnnoRespVO {
|
||||
|
||||
@Schema(description = "主表id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25242")
|
||||
@ExcelProperty("主表id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "主任务id", example = "29186")
|
||||
@ExcelProperty("主任务id")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "模型回答id", example = "25919")
|
||||
@ExcelProperty("模型回答id")
|
||||
private Long modelAnswerId;
|
||||
|
||||
@Schema(description = "模型维度定义id", example = "20924")
|
||||
@ExcelProperty("模型维度定义id")
|
||||
private Long dimensionId;
|
||||
|
||||
@Schema(description = "评分")
|
||||
@ExcelProperty("评分")
|
||||
private Integer score;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工评估标注新增/修改 Request VO")
|
||||
@Data
|
||||
public class ManualModelAnnoSaveReqVO {
|
||||
|
||||
@Schema(description = "主表id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25242")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "主任务id", example = "29186")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "模型回答id", example = "25919")
|
||||
private Long modelAnswerId;
|
||||
|
||||
@Schema(description = "模型维度定义id", example = "20924")
|
||||
private Long dimensionId;
|
||||
|
||||
@Schema(description = "评分")
|
||||
private Integer score;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import lombok.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工标注 模型回答分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ManualModelAnswerPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "人工标注主表id", example = "20675")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "数据集问题id", example = "5038")
|
||||
private Long questionId;
|
||||
|
||||
@Schema(description = "数据集id", example = "27899")
|
||||
private Long datasetId;
|
||||
|
||||
@Schema(description = "标注状态", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "模型回答内容")
|
||||
private String modelAnswer;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工标注 模型回答 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ManualModelAnswerRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6895")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "人工标注主表id", example = "20675")
|
||||
@ExcelProperty("人工标注主表id")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "数据集问题id", example = "5038")
|
||||
@ExcelProperty("数据集问题id")
|
||||
private Long questionId;
|
||||
|
||||
@Schema(description = "数据集id", example = "27899")
|
||||
@ExcelProperty("数据集id")
|
||||
private Long datasetId;
|
||||
|
||||
@Schema(description = "标注状态", example = "1")
|
||||
@ExcelProperty("标注状态")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "模型回答内容")
|
||||
@ExcelProperty("模型回答内容")
|
||||
private String modelAnswer;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
@Schema(description = "管理后台 - 模型评估人工标注 模型回答新增/修改 Request VO")
|
||||
@Data
|
||||
public class ManualModelAnswerSaveReqVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6895")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "人工标注主表id", example = "20675")
|
||||
private Long manalTaskId;
|
||||
|
||||
@Schema(description = "数据集问题id", example = "5038")
|
||||
private Long questionId;
|
||||
|
||||
@Schema(description = "数据集id", example = "27899")
|
||||
private Long datasetId;
|
||||
|
||||
@Schema(description = "标注状态", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "模型回答内容")
|
||||
private String modelAnswer;
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 模型评估人工评估标注 DO
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@TableName("llm_manual_model_anno")
|
||||
@KeySequence("llm_manual_model_anno_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ManualModelAnnoDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主表id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 主任务id
|
||||
*/
|
||||
private Long manalTaskId;
|
||||
/**
|
||||
* 模型回答id
|
||||
*/
|
||||
private Long modelAnswerId;
|
||||
/**
|
||||
* 模型维度定义id
|
||||
*/
|
||||
private Long dimensionId;
|
||||
/**
|
||||
* 评分
|
||||
*/
|
||||
private Integer score;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 模型评估人工标注 模型回答 DO
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@TableName("llm_manual_model_answer")
|
||||
@KeySequence("llm_manual_model_answer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ManualModelAnswerDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 人工标注主表id
|
||||
*/
|
||||
private Long manalTaskId;
|
||||
/**
|
||||
* 数据集问题id
|
||||
*/
|
||||
private Long questionId;
|
||||
/**
|
||||
* 数据集id
|
||||
*/
|
||||
private Long datasetId;
|
||||
/**
|
||||
* 标注状态
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 模型回答内容
|
||||
*/
|
||||
private String modelAnswer;
|
||||
|
||||
}
|
@ -34,8 +34,8 @@ public interface DatasetMapper extends BaseMapperX<DatasetDO> {
|
||||
.orderByDesc(DatasetDO::getId));
|
||||
}
|
||||
|
||||
@Update("update llm_dataset set annotate_progress = #{formattedRatio} where id = #{datasetId}")
|
||||
void updateProcess(@Param("formattedRatio") Integer formattedRatio, @Param("datasetId") Long datasetId);
|
||||
@Update("update llm_dataset set annotate_progress = #{formattedRatio},status=#{status} where id = #{datasetId}")
|
||||
void updateProcess(@Param("formattedRatio") Integer formattedRatio, @Param("datasetId") Long datasetId,@Param("status") Integer status);
|
||||
@Delete("delete from llm_dataset where id = #{datasetPostId}")
|
||||
void deleteTrue(@Param("datasetPostId") Long datasetPostId);
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnnoDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 模型评估人工评估标注 Mapper
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@Mapper
|
||||
public interface ManualModelAnnoMapper extends BaseMapperX<ManualModelAnnoDO> {
|
||||
|
||||
default PageResult<ManualModelAnnoDO> selectPage(ManualModelAnnoPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<ManualModelAnnoDO>()
|
||||
.eqIfPresent(ManualModelAnnoDO::getManalTaskId, reqVO.getManalTaskId())
|
||||
.eqIfPresent(ManualModelAnnoDO::getModelAnswerId, reqVO.getModelAnswerId())
|
||||
.eqIfPresent(ManualModelAnnoDO::getDimensionId, reqVO.getDimensionId())
|
||||
.eqIfPresent(ManualModelAnnoDO::getScore, reqVO.getScore())
|
||||
.betweenIfPresent(ManualModelAnnoDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(ManualModelAnnoDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
/**
|
||||
* 模型评估人工标注 模型回答 Mapper
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@Mapper
|
||||
public interface ManualModelAnswerMapper extends BaseMapperX<ManualModelAnswerDO> {
|
||||
|
||||
default PageResult<ManualModelAnswerDO> selectPage(ManualModelAnswerPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<ManualModelAnswerDO>()
|
||||
.eqIfPresent(ManualModelAnswerDO::getManalTaskId, reqVO.getManalTaskId())
|
||||
.eqIfPresent(ManualModelAnswerDO::getQuestionId, reqVO.getQuestionId())
|
||||
.eqIfPresent(ManualModelAnswerDO::getDatasetId, reqVO.getDatasetId())
|
||||
.eqIfPresent(ManualModelAnswerDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(ManualModelAnswerDO::getModelAnswer, reqVO.getModelAnswer())
|
||||
.betweenIfPresent(ManualModelAnswerDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(ManualModelAnswerDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -42,7 +42,7 @@ public interface ApplicationService {
|
||||
* @param id 编号
|
||||
* @return 大模型应用
|
||||
*/
|
||||
ApplicationDO getApplication(Long id);
|
||||
ApplicationRespVO getApplication(Long id);
|
||||
|
||||
/**
|
||||
* 获得大模型应用分页
|
||||
|
@ -6,7 +6,10 @@ import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationPa
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.application.vo.ApplicationSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.application.ApplicationDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.label.LabelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.application.ApplicationMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.label.LabelMapper;
|
||||
import cn.iocoder.yudao.module.llm.service.label.LabelService;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -36,6 +39,8 @@ public class ApplicationServiceImpl implements ApplicationService {
|
||||
|
||||
@Resource
|
||||
private AdminUserApi adminUserApi;
|
||||
@Resource
|
||||
private LabelMapper labelMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@ -74,8 +79,18 @@ public class ApplicationServiceImpl implements ApplicationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationDO getApplication(Long id) {
|
||||
return applicationMapper.selectById(id);
|
||||
public ApplicationRespVO getApplication(Long id) {
|
||||
ApplicationDO applicationDO = applicationMapper.selectById(id);
|
||||
ApplicationRespVO bean = BeanUtils.toBean(applicationDO, ApplicationRespVO.class);
|
||||
if (bean.getAppLabel() != null && !bean.getAppLabel().equals("")) {
|
||||
String[] split = bean.getAppLabel().split(",");
|
||||
LambdaQueryWrapper<LabelDO> wrapper = new LambdaQueryWrapper<LabelDO>()
|
||||
.in(LabelDO::getId, split);
|
||||
List<LabelDO> labelDOS = labelMapper.selectList(wrapper);
|
||||
List<String> collect = labelDOS.stream().map(LabelDO::getLabelName).collect(Collectors.toList());
|
||||
bean.setAppLabelName(String.join(",", collect));
|
||||
}
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -113,6 +128,14 @@ public class ApplicationServiceImpl implements ApplicationService {
|
||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(ids);
|
||||
for (ApplicationRespVO applicationRespVO : result) {
|
||||
applicationRespVO.setCreatorName(userMap.get(Long.parseLong(applicationRespVO.getCreator())).getNickname());
|
||||
if (applicationRespVO.getAppLabel() != null && !applicationRespVO.getAppLabel().equals("")) {
|
||||
String[] split = applicationRespVO.getAppLabel().split(",");
|
||||
LambdaQueryWrapper<LabelDO> wrapper = new LambdaQueryWrapper<LabelDO>()
|
||||
.in(LabelDO::getId, split);
|
||||
List<LabelDO> labelDOS = labelMapper.selectList(wrapper);
|
||||
List<String> collect = labelDOS.stream().map(LabelDO::getLabelName).collect(Collectors.toList());
|
||||
applicationRespVO.setAppLabelName(String.join(",", collect));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ public class AsyncFineTuningTaskService {
|
||||
@Async
|
||||
public void startFineTuningTask() {
|
||||
try {
|
||||
|
||||
Thread.sleep(30000);
|
||||
}catch(Exception e){
|
||||
|
||||
};
|
||||
@ -42,7 +42,7 @@ public class AsyncFineTuningTaskService {
|
||||
@Async
|
||||
public void stopFineTuningTask() {
|
||||
try {
|
||||
|
||||
Thread.sleep(30000);
|
||||
}catch(Exception e){
|
||||
|
||||
};
|
||||
|
@ -0,0 +1,79 @@
|
||||
package cn.iocoder.yudao.module.llm.service.async;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetQuestionRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnswerMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskManualMapper;
|
||||
import cn.iocoder.yudao.module.llm.service.conversation.ConversationService;
|
||||
import cn.iocoder.yudao.module.llm.service.dataset.DatasetQuestionService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.ModelService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsReqVO;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsRespVO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class AsyncModelAccessManualService {
|
||||
private static final Logger log = LoggerFactory.getLogger(AsyncModelAccessManualService.class);
|
||||
@Resource
|
||||
private ModelService modelService;
|
||||
@Resource
|
||||
private ConversationService conversationService;
|
||||
@Resource
|
||||
private DatasetQuestionService datasetQuestionService;
|
||||
@Resource
|
||||
private ManualModelAnswerMapper manualModelAnswerMapper;
|
||||
@Resource
|
||||
private ModelAssessTaskManualMapper modelAssessTaskManualMapper;
|
||||
|
||||
|
||||
|
||||
|
||||
@Async
|
||||
public void startModelAccess(ModelAssessTaskManualDO task) {
|
||||
List<DatasetQuestionRespVO> datasetQuestionList = datasetQuestionService.getDatasetQuestionList(task.getDataset());
|
||||
try {
|
||||
if (!CollectionUtils.isAnyEmpty(datasetQuestionList)){
|
||||
datasetQuestionList.forEach(item -> {
|
||||
ModelCompletionsReqVO modelCompletionsReqVO = new ModelCompletionsReqVO();
|
||||
ModelCompletionsReqVO.ModelCompletionsMessage message = new ModelCompletionsReqVO.ModelCompletionsMessage();
|
||||
if (item.getQuestion() != null){
|
||||
message.setContent(item.getQuestion());
|
||||
}
|
||||
message.setRole("user");
|
||||
List<ModelCompletionsReqVO.ModelCompletionsMessage> messages = new ArrayList<>();
|
||||
messages.add(message);
|
||||
modelCompletionsReqVO.setMessages(messages);
|
||||
ModelCompletionsRespVO modelCompletionsRespVO = modelService.modelCompletions(modelCompletionsReqVO);
|
||||
if (modelCompletionsRespVO != null){
|
||||
ManualModelAnswerDO manualModelAnswerDO = new ManualModelAnswerDO();
|
||||
manualModelAnswerDO.setCreator(task.getCreator());
|
||||
manualModelAnswerDO.setUpdater(task.getCreator());
|
||||
manualModelAnswerDO.setQuestionId(item.getId());
|
||||
manualModelAnswerDO.setModelAnswer(modelCompletionsRespVO.getAnswer());
|
||||
manualModelAnswerDO.setManalTaskId(task.getId());
|
||||
manualModelAnswerDO.setDatasetId(task.getDataset());
|
||||
manualModelAnswerMapper.insert(manualModelAnswerDO);
|
||||
}
|
||||
});
|
||||
task.setStatus(1);
|
||||
modelAssessTaskManualMapper.updateById(task);
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.error("Model evaluation failed manually : {}",e.getMessage());
|
||||
task.setStatus(5);
|
||||
modelAssessTaskManualMapper.updateById(task);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
package cn.iocoder.yudao.module.llm.service.async;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask.FineTuningTaskMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -12,23 +14,28 @@ public class AsyncModelServiceService {
|
||||
@Resource
|
||||
private FineTuningTaskMapper fineTuningTaskMapper;
|
||||
|
||||
@Resource
|
||||
private ModelServiceMapper modelServiceMapper;
|
||||
|
||||
//模型服务开启
|
||||
@Async
|
||||
public void startModelService() {
|
||||
public void startModelService(ModelServiceDO updateObj) {
|
||||
try {
|
||||
|
||||
Thread.sleep(30000);
|
||||
}catch(Exception e){
|
||||
|
||||
updateObj.setStatus(5);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
};
|
||||
}
|
||||
|
||||
//调型服务关闭
|
||||
@Async
|
||||
public void stopModelService() {
|
||||
public void stopModelService(ModelServiceDO updateObj) {
|
||||
try {
|
||||
|
||||
Thread.sleep(30000);
|
||||
}catch(Exception e){
|
||||
|
||||
updateObj.setStatus(5);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -46,6 +46,13 @@ public class DataRefluxConfigServiceImpl implements DataRefluxConfigService {
|
||||
public Long createDataRefluxConfig(DataRefluxConfigSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
DataRefluxConfigDO dataRefluxConfig = BeanUtils.toBean(createReqVO, DataRefluxConfigDO.class);
|
||||
LambdaQueryWrapper<DataRefluxConfigDO> eq = new LambdaQueryWrapper<DataRefluxConfigDO>()
|
||||
.eq(DataRefluxConfigDO::getModelServiceId, dataRefluxConfig.getModelServiceId())
|
||||
.eq(DataRefluxConfigDO::getModelType, dataRefluxConfig.getModelType())
|
||||
.eq(DataRefluxConfigDO::getCreator, dataRefluxConfig.getCreator());
|
||||
if (dataRefluxConfigMapper.selectCount(eq) > 0) {
|
||||
throw new RuntimeException("该模型服务已存在");
|
||||
}
|
||||
dataRefluxConfigMapper.insert(dataRefluxConfig);
|
||||
// 返回
|
||||
return dataRefluxConfig.getId();
|
||||
|
@ -54,7 +54,10 @@ public interface DataRefluxDataService {
|
||||
*/
|
||||
PageResult<DataRefluxDataDO> getDataRefluxDataPage(DataRefluxDataPageReqVO pageReqVO);
|
||||
|
||||
List<DataRefluxDataDO> getTheDetails(DataRefluxConfigPageReqVO pageReqVO);
|
||||
PageResult<DataRefluxDataDO> getTheDetails(DataRefluxConfigPageReqVO pageReqVO);
|
||||
|
||||
Long saveDataRefluxData(DataRefluxDataSaveReqVO createReqVO);
|
||||
|
||||
void getDataRefluxDataIDs(DataRefluxDataReqVO pageReqVO);
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,17 @@
|
||||
package cn.iocoder.yudao.module.llm.service.datarefluxdata;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.datarefluxconfig.vo.DataRefluxConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.datarefluxconfig.DataRefluxConfigDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetAnswerDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetQuestionDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.datarefluxconfig.DataRefluxConfigMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetAnswerMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetQuestionMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
@ -37,6 +45,12 @@ public class DataRefluxDataServiceImpl implements DataRefluxDataService {
|
||||
private DataRefluxDataMapper dataRefluxDataMapper;
|
||||
@Resource
|
||||
private DataRefluxConfigMapper dataRefluxConfigMapper;
|
||||
@Resource
|
||||
private DatasetMapper datasetMapper;
|
||||
@Resource
|
||||
private DatasetQuestionMapper datasetQuestionMapper;
|
||||
@Resource
|
||||
private DatasetAnswerMapper datasetAnswerMapper;
|
||||
|
||||
@Override
|
||||
public Long createDataRefluxData(DataRefluxDataSaveReqVO createReqVO) {
|
||||
@ -87,7 +101,7 @@ public class DataRefluxDataServiceImpl implements DataRefluxDataService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataRefluxDataDO> getTheDetails(DataRefluxConfigPageReqVO pageReqVO) {
|
||||
public PageResult<DataRefluxDataDO> getTheDetails(DataRefluxConfigPageReqVO pageReqVO) {
|
||||
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
// 解析字符串为 LocalDate
|
||||
@ -105,7 +119,7 @@ public class DataRefluxDataServiceImpl implements DataRefluxDataService {
|
||||
.eq(ObjectUtil.isNotNull(pageReqVO.getId()),DataRefluxDataDO::getConfigId, pageReqVO.getId())
|
||||
.ge(ObjectUtil.isNotNull(startDate),DataRefluxDataDO::getCreateTime, startDate)
|
||||
.le(ObjectUtil.isNotNull(endDate),DataRefluxDataDO::getCreateTime,endDate);
|
||||
return dataRefluxDataMapper.selectList(eq);
|
||||
return dataRefluxDataMapper.selectPage(pageReqVO, eq);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -124,4 +138,34 @@ public class DataRefluxDataServiceImpl implements DataRefluxDataService {
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDataRefluxDataIDs(DataRefluxDataReqVO pageReqVO) {
|
||||
LambdaQueryWrapper<DataRefluxDataDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(pageReqVO.getDataids().size()>0,DataRefluxDataDO::getId, pageReqVO.getDataids());
|
||||
List<DataRefluxDataDO> dataRefluxDataDOS = dataRefluxDataMapper.selectList(wrapper);
|
||||
DatasetDO dataRespVO = BeanUtils.toBean(pageReqVO, DatasetDO.class);
|
||||
dataRespVO.setId(null);
|
||||
DatasetDO datasetDO = datasetMapper.selectOne(new LambdaQueryWrapper<DatasetDO>().eq(DatasetDO::getDatasetName, dataRespVO.getDatasetName()));
|
||||
if (datasetDO!=null){
|
||||
throw new RuntimeException("数据集名称重复");
|
||||
}
|
||||
datasetMapper.insert(dataRespVO);
|
||||
for (DataRefluxDataDO dataRefluxDataDO : dataRefluxDataDOS){
|
||||
DatasetQuestionDO datasetQuestionDO = new DatasetQuestionDO();
|
||||
datasetQuestionDO.setDatasetId(dataRespVO.getId());
|
||||
datasetQuestionDO.setQuestion(dataRefluxDataDO.getPrompt());
|
||||
datasetQuestionDO.setSystem(dataRefluxDataDO.getSystem());
|
||||
datasetQuestionMapper.insert(datasetQuestionDO);
|
||||
if (pageReqVO.getSaveField()==1) {
|
||||
DatasetAnswerDO datasetAnswerDO = new DatasetAnswerDO();
|
||||
datasetAnswerDO.setDatasetId(dataRespVO.getId());
|
||||
datasetAnswerDO.setQuestionId(datasetQuestionDO.getId());
|
||||
datasetAnswerDO.setAnswer(dataRefluxDataDO.getResponse());
|
||||
datasetAnswerMapper.insert(datasetAnswerDO);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -110,6 +110,9 @@ public class DatasetQuestionServiceImpl implements DatasetQuestionService {
|
||||
public void updateDatasetQuestionDataAnno(List<DatasetQuestionSaveReqVO> updateReqVOS) {
|
||||
updateReqVOS.forEach(updateReqVO -> {
|
||||
DatasetQuestionDO datasetQuestionDO = BeanUtils.toBean(updateReqVO, DatasetQuestionDO.class);
|
||||
if (CollectionUtils.isNotEmpty(updateReqVO.getDatasetAnswerRespVO())){
|
||||
datasetQuestionDO.setStatus(2);
|
||||
}
|
||||
datasetQuestionMapper.updateById(datasetQuestionDO);
|
||||
List<DatasetAnswerSaveReqVO> datasetAnswerSaveReqVO = updateReqVO.getDatasetAnswerRespVO();
|
||||
List<DatasetAnswerDO> datasetAnswerDOS = BeanUtils.toBean(datasetAnswerSaveReqVO, DatasetAnswerDO.class);
|
||||
@ -125,7 +128,8 @@ public class DatasetQuestionServiceImpl implements DatasetQuestionService {
|
||||
Long annoCount = datasetQuestionMapper.selectCount(wrapper);
|
||||
double ratio = sumCount == 0 ? 0 : ((double) annoCount / sumCount) *100;
|
||||
Integer formattedRatio = ratio == 0 ? 0 : (int) ratio;
|
||||
datasetMapper.updateProcess(formattedRatio, updateReqVOS.get(0).getDatasetId());
|
||||
Integer status = formattedRatio == 100 ? 2 : 1;
|
||||
datasetMapper.updateProcess(formattedRatio, updateReqVOS.get(0).getDatasetId(),status);
|
||||
}
|
||||
|
||||
}
|
@ -136,13 +136,19 @@ public class FineTuningTaskServiceImpl implements FineTuningTaskService {
|
||||
fineTuningTaskMapper.stopStartTask(id,1);
|
||||
//todo 调用模型服务,开启调优任务
|
||||
asyncFineTuningTaskService.startFineTuningTask();
|
||||
|
||||
fineTuningTaskMapper.stopStartTask(id,2);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopFineTuningTask(Long id) {
|
||||
fineTuningTaskMapper.stopStartTask(id,0);
|
||||
fineTuningTaskMapper.stopStartTask(id,1);
|
||||
//todo 调用模型服务,停止调优任务
|
||||
asyncFineTuningTaskService.stopFineTuningTask();
|
||||
|
||||
fineTuningTaskMapper.stopStartTask(id,0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -42,6 +42,11 @@ public class ModelService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对话聊天
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
public ModelCompletionsRespVO modelCompletions(ModelCompletionsReqVO req) {
|
||||
if (StringUtils.isBlank(req.getModel())) {
|
||||
req.setModel(DEFAULT_MODEL_ID);
|
||||
|
@ -0,0 +1,56 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnnoDO;
|
||||
|
||||
/**
|
||||
* 模型评估人工评估标注 Service 接口
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
public interface ManualModelAnnoService {
|
||||
|
||||
/**
|
||||
* 创建模型评估人工评估标注
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createManualModelAnno(@Valid ManualModelAnnoSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新模型评估人工评估标注
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateManualModelAnno(@Valid ManualModelAnnoSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除模型评估人工评估标注
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteManualModelAnno(Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估人工评估标注
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 模型评估人工评估标注
|
||||
*/
|
||||
ManualModelAnnoDO getManualModelAnno(Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估人工评估标注分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 模型评估人工评估标注分页
|
||||
*/
|
||||
PageResult<ManualModelAnnoDO> getManualModelAnnoPage(ManualModelAnnoPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnnoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnnoDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnnoMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 模型评估人工评估标注 Service 实现类
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ManualModelAnnoServiceImpl implements ManualModelAnnoService {
|
||||
|
||||
@Resource
|
||||
private ManualModelAnnoMapper manualModelAnnoMapper;
|
||||
|
||||
@Override
|
||||
public Long createManualModelAnno(ManualModelAnnoSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
ManualModelAnnoDO manualModelAnno = BeanUtils.toBean(createReqVO, ManualModelAnnoDO.class);
|
||||
manualModelAnnoMapper.insert(manualModelAnno);
|
||||
// 返回
|
||||
return manualModelAnno.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateManualModelAnno(ManualModelAnnoSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateManualModelAnnoExists(updateReqVO.getId());
|
||||
// 更新
|
||||
ManualModelAnnoDO updateObj = BeanUtils.toBean(updateReqVO, ManualModelAnnoDO.class);
|
||||
manualModelAnnoMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteManualModelAnno(Long id) {
|
||||
// 校验存在
|
||||
validateManualModelAnnoExists(id);
|
||||
// 删除
|
||||
manualModelAnnoMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateManualModelAnnoExists(Long id) {
|
||||
if (manualModelAnnoMapper.selectById(id) == null) {
|
||||
throw exception(MANUAL_MODEL_ANNO_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManualModelAnnoDO getManualModelAnno(Long id) {
|
||||
return manualModelAnnoMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ManualModelAnnoDO> getManualModelAnnoPage(ManualModelAnnoPageReqVO pageReqVO) {
|
||||
return manualModelAnnoMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
|
||||
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
|
||||
/**
|
||||
* 模型评估人工标注 模型回答 Service 接口
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
public interface ManualModelAnswerService {
|
||||
|
||||
/**
|
||||
* 创建模型评估人工标注 模型回答
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createManualModelAnswer(@Valid ManualModelAnswerSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新模型评估人工标注 模型回答
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateManualModelAnswer(@Valid ManualModelAnswerSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除模型评估人工标注 模型回答
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteManualModelAnswer(Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估人工标注 模型回答
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 模型评估人工标注 模型回答
|
||||
*/
|
||||
ManualModelAnswerDO getManualModelAnswer(Long id);
|
||||
|
||||
/**
|
||||
* 获得模型评估人工标注 模型回答分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 模型评估人工标注 模型回答分页
|
||||
*/
|
||||
PageResult<ManualModelAnswerDO> getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerPageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.manualAnnoVo.ManualModelAnswerSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ManualModelAnswerDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnswerMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 模型评估人工标注 模型回答 Service 实现类
|
||||
*
|
||||
* @author 华大大模型
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ManualModelAnswerServiceImpl implements ManualModelAnswerService {
|
||||
|
||||
@Resource
|
||||
private ManualModelAnswerMapper manualModelAnswerMapper;
|
||||
|
||||
@Override
|
||||
public Long createManualModelAnswer(ManualModelAnswerSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
ManualModelAnswerDO manualModelAnswer = BeanUtils.toBean(createReqVO, ManualModelAnswerDO.class);
|
||||
manualModelAnswerMapper.insert(manualModelAnswer);
|
||||
// 返回
|
||||
return manualModelAnswer.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateManualModelAnswer(ManualModelAnswerSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateManualModelAnswerExists(updateReqVO.getId());
|
||||
// 更新
|
||||
ManualModelAnswerDO updateObj = BeanUtils.toBean(updateReqVO, ManualModelAnswerDO.class);
|
||||
manualModelAnswerMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteManualModelAnswer(Long id) {
|
||||
// 校验存在
|
||||
validateManualModelAnswerExists(id);
|
||||
// 删除
|
||||
manualModelAnswerMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateManualModelAnswerExists(Long id) {
|
||||
if (manualModelAnswerMapper.selectById(id) == null) {
|
||||
throw exception(MANUAL_MODEL_ANSWER_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManualModelAnswerDO getManualModelAnswer(Long id) {
|
||||
return manualModelAnswerMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ManualModelAnswerDO> getManualModelAnswerPage(ManualModelAnswerPageReqVO pageReqVO) {
|
||||
return manualModelAnswerMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessDimensionMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.service.async.AsyncModelAccessManualService;
|
||||
import cn.iocoder.yudao.module.llm.service.dataset.DatasetQuestionService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@ -56,10 +57,14 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
@Resource
|
||||
private DatasetQuestionService datasetQuestionService;
|
||||
|
||||
@Resource
|
||||
private AsyncModelAccessManualService asyncModelAccessManualService;
|
||||
|
||||
@Override
|
||||
public Long createModelAssessTaskManual(ModelAssessTaskManualSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
ModelAssessTaskManualDO modelAssessTaskManual = BeanUtils.toBean(createReqVO, ModelAssessTaskManualDO.class);
|
||||
modelAssessTaskManual.setStatus(3);
|
||||
modelAssessTaskManualMapper.insert(modelAssessTaskManual);
|
||||
List<ModelAssessTaskDimensionSaveReqVO> dimensions = createReqVO.getDimensions();
|
||||
if (!CollectionUtils.isEmpty(dimensions)){
|
||||
@ -69,6 +74,7 @@ public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualSe
|
||||
modelAssessTaskDimensionMapper.insert(modelAssessTaskDimensionDO);
|
||||
});
|
||||
}
|
||||
asyncModelAccessManualService.startModelAccess(modelAssessTaskManual);
|
||||
// 返回
|
||||
return modelAssessTaskManual.getId();
|
||||
}
|
||||
|
@ -87,7 +87,10 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
|
||||
//todo 开启模型服务
|
||||
asyncModelServiceService.startModelService();
|
||||
asyncModelServiceService.startModelService(updateObj);
|
||||
|
||||
updateObj.setStatus(2);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -97,7 +100,10 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
|
||||
//todo 关闭模型服务
|
||||
asyncModelServiceService.stopModelService();
|
||||
asyncModelServiceService.stopModelService(updateObj);
|
||||
|
||||
updateObj.setStatus(3);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnnoMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnswerMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user