From 95ae0c83d2aa58d86b4039e3f7f16ee93afb8f00 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 23 十月 2026 17:01:00 +0800
Subject: [PATCH] feat(ai): 完善模型管理和智能体导入功能
---
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/api/chat/AiChatApiImpl.java | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/api/chat/AiChatApiImpl.java b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/api/chat/AiChatApiImpl.java
index 22f4291..984b895 100644
--- a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/api/chat/AiChatApiImpl.java
+++ b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/api/chat/AiChatApiImpl.java
@@ -2,6 +2,7 @@
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO;
+import cn.iocoder.yudao.module.ai.enums.model.AiModelCapabilityEnum;
import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum;
import cn.iocoder.yudao.module.ai.service.model.AiModelService;
import jakarta.annotation.Resource;
@@ -17,6 +18,9 @@
import java.util.Base64;
import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.MODEL_VISION_NOT_ENABLED;
@Service
@Slf4j
@@ -40,13 +44,13 @@
@Override
public String chatWithImage(String systemPrompt, String userMessage, String imageBase64, String mimeType) {
- // 浼樺厛閫夋嫨瑙嗚妯″瀷锛堟ā鍨嬪悕鍚� vl锛夛紝鍚﹀垯鍥為��鍒伴粯璁ゅ璇濇ā鍨�
- List<AiModelDO> chatModels = modelService.getModelListByStatusAndType(
- CommonStatusEnum.ENABLE.getStatus(), AiModelTypeEnum.CHAT.getType(), null);
- AiModelDO visionModel = chatModels.stream()
- .filter(m -> m.getModel() != null && m.getModel().contains("vl"))
+ // 鍥剧墖璇嗗埆蹇呴』璧拌瑙夎兘鍔涚殑妯″瀷锛氭枃鏈ā鍨嬩笉鎺ュ彈鍥剧墖杈撳叆锛屽洖閫�杩囧幓鍙細鎶ラ敊
+ AiModelDO visionModel = modelService.getModelListByStatusAndType(
+ CommonStatusEnum.ENABLE.getStatus(), AiModelTypeEnum.CHAT.getType(), null)
+ .stream()
+ .filter(m -> AiModelCapabilityEnum.VISION.getCapability().equals(m.getCapability()))
.findFirst()
- .orElseGet(() -> modelService.getRequiredDefaultModel(AiModelTypeEnum.CHAT.getType()));
+ .orElseThrow(() -> exception(MODEL_VISION_NOT_ENABLED));
ChatModel chatModel = modelService.getChatModel(visionModel.getId());
byte[] imageBytes = Base64.getDecoder().decode(imageBase64);
--
Gitblit v1.9.3