mirror of
https://gitee.com/yudaocode/yudao-boot-mini.git
synced 2025-12-26 07:06:22 +08:00
feat:【ai 大模型】Tool 校验是否存在时,基于 ToolCallbackResolver,更好兼容 @Tool 注解的场景
This commit is contained in:
parent
9b2f2f581b
commit
4afa67f34e
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user