From fbca4192f095039ead76c9a71d5d0b4cffb7574a Mon Sep 17 00:00:00 2001 From: Liuyang <2746366019@qq.com> Date: Fri, 21 Mar 2025 15:17:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor(llm):=20=E9=87=8D=E6=9E=84=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=9F=BA=E5=BA=A7=E6=A8=A1=E5=9E=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 BaseModelService 中添加 listBaseModels 方法 - 实现 listBaseModels 方法,查询基座模型及其关联的微调任务名称 - 优化 ModelServiceController 中的 getAllPedestalModels 接口调用 --- .../modelservice/ModelServiceController.java | 5 ++- .../service/basemodel/BaseModelService.java | 6 ++++ .../basemodel/BaseModelServiceImpl.java | 33 ++++++++++++++++--- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java index 3d2cdb1e9..61c948946 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelservice/ModelServiceController.java @@ -141,9 +141,8 @@ public class ModelServiceController { @GetMapping("/get-all-pedestal-models") @Operation(summary = "获得模型服务") public CommonResult> getAllPedestalModels() { - LambdaQueryWrapper select = new LambdaQueryWrapper() - .select(BaseModelDO::getId, BaseModelDO::getModelName); - List baseModelDOS = baseModelService.selectList(select); + + List baseModelDOS = baseModelService.listBaseModels(); // List differentModelNames = baseModelDOS.stream() // .map(BaseModelDO::getModelName) // .collect(Collectors.toList()); diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java index 9dee47ad2..682a17c59 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelService.java @@ -86,4 +86,10 @@ public interface BaseModelService { BaseModelDO getById(Long fineTuningTask); void deleteTheModel(Long id); + + /** + * 获取所有基座模型及其关联的微调任务名称列表 + * @return 基座模型 + */ + List listBaseModels(); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java index e27097e79..8fd014cfa 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/basemodel/BaseModelServiceImpl.java @@ -31,16 +31,14 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; +import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.TimeUnit; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -294,6 +292,33 @@ public class BaseModelServiceImpl implements BaseModelService { } } + /** + * 获取所有基座模型及其关联的微调任务名称列表 + * + * @return 基座模型 + */ + @Override + public List listBaseModels() { + LambdaQueryWrapper select = new LambdaQueryWrapper() + .select(BaseModelDO::getId, BaseModelDO::getModelName, BaseModelDO::getTheTuningName); + + List selects = baseModelMapper.selectList(select); + + // 如果查询结果不为空,处理调优任务名称 + if (CollectionUtils.isNotEmpty(selects)) { + selects.forEach(model -> { + // 如果调优任务名称不为空,赋值到模型名称上,并清空调优任务名称 + if (StringUtils.isNotBlank(model.getTheTuningName())) { + model.setModelName(model.getTheTuningName()); + model.setTheTuningName(null); + } + // 如果调优任务名称为空,模型名称保持不变 + }); + } + + return selects; + } + /** * 校验模型使用情况