From 4afa67f34ea10cb0ed20b3c6ce5d14647eab2d0f Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 26 Aug 2025 13:57:12 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90ai=20=E5=A4=A7=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E3=80=91Tool=20=E6=A0=A1=E9=AA=8C=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E6=97=B6=EF=BC=8C=E5=9F=BA=E4=BA=8E=20ToolCa?= =?UTF-8?q?llbackResolver=EF=BC=8C=E6=9B=B4=E5=A5=BD=E5=85=BC=E5=AE=B9=20@?= =?UTF-8?q?Tool=20=E6=B3=A8=E8=A7=A3=E7=9A=84=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/ai/service/model/AiToolServiceImpl.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java index cbf14ca36d..cb25a31983 100644 --- a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java +++ b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java @@ -1,6 +1,5 @@ package cn.iocoder.yudao.module.ai.service.model; -import cn.hutool.extra.spring.SpringUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.tool.AiToolPageReqVO; @@ -8,7 +7,8 @@ import cn.iocoder.yudao.module.ai.controller.admin.model.vo.tool.AiToolSaveReqVO import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiToolDO; import cn.iocoder.yudao.module.ai.dal.mysql.model.AiToolMapper; import jakarta.annotation.Resource; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.ai.tool.ToolCallback; +import org.springframework.ai.tool.resolution.ToolCallbackResolver; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -31,6 +31,9 @@ public class AiToolServiceImpl implements AiToolService { @Resource private AiToolMapper toolMapper; + @Resource + private ToolCallbackResolver toolCallbackResolver; + @Override public Long createTool(AiToolSaveReqVO createReqVO) { // 校验名称是否存在 @@ -70,9 +73,8 @@ public class AiToolServiceImpl implements AiToolService { } private void validateToolNameExists(String name) { - try { - SpringUtil.getBean(name); - } catch (NoSuchBeanDefinitionException e) { + ToolCallback toolCallback = toolCallbackResolver.resolve(name); + if (toolCallback == null) { throw exception(TOOL_NAME_NOT_EXISTS, name); } }