From afcce5db7be7239f21cd3091002fd10e43dec260 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Sun, 19 Oct 2025 13:20:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20tool-calls=20to?= =?UTF-8?q?=20tools.enabled?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/cms/properties/AiCmsProperties.java} | 49 ++++++++++++------- .../com/jeesite/test/AiChatServiceTest.java | 20 ++++---- 2 files changed, 41 insertions(+), 28 deletions(-) rename modules/{cms-ai/src/main/java/com/jeesite/modules/cms/ai/properties/CmsAiProperties.java => ai/ai-cms/src/main/java/com/jeesite/modules/ai/cms/properties/AiCmsProperties.java} (66%) rename modules/{cms-ai => ai/ai-cms}/src/test/java/com/jeesite/test/AiChatServiceTest.java (72%) diff --git a/modules/cms-ai/src/main/java/com/jeesite/modules/cms/ai/properties/CmsAiProperties.java b/modules/ai/ai-cms/src/main/java/com/jeesite/modules/ai/cms/properties/AiCmsProperties.java similarity index 66% rename from modules/cms-ai/src/main/java/com/jeesite/modules/cms/ai/properties/CmsAiProperties.java rename to modules/ai/ai-cms/src/main/java/com/jeesite/modules/ai/cms/properties/AiCmsProperties.java index fd924f25..c3cd90c1 100644 --- a/modules/cms-ai/src/main/java/com/jeesite/modules/cms/ai/properties/CmsAiProperties.java +++ b/modules/ai/ai-cms/src/main/java/com/jeesite/modules/ai/cms/properties/AiCmsProperties.java @@ -1,15 +1,22 @@ -package com.jeesite.modules.cms.ai.properties; +package com.jeesite.modules.ai.cms.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; @ConfigurationProperties("spring.ai") -public class CmsAiProperties { +public class AiCmsProperties { /** - * 是否启用 Tool calling 工具调用 + * 向量数据库设置 */ - private Boolean toolCalls = false; + @NestedConfigurationProperty + private final Vectorstore vectorstore = new Vectorstore(); + + /** + * 是否启用 Tool calling 工具调用【例子详见 TestAiTools.java、UserAiTools.java 】 + */ + @NestedConfigurationProperty + private final Tools tools = new Tools(); /** * 默认系统提示词 @@ -21,18 +28,12 @@ public class CmsAiProperties { */ private String defaultPromptTemplate = ""; - /** - * 向量数据库设置 - */ - @NestedConfigurationProperty - private final Vectorstore vectorstore = new Vectorstore(); - - public Boolean getToolCalls() { - return toolCalls; + public Vectorstore getVectorstore() { + return vectorstore; } - public void setToolCalls(Boolean toolCalls) { - this.toolCalls = toolCalls; + public Tools getTools() { + return tools; } public String getDefaultSystem() { @@ -51,10 +52,6 @@ public class CmsAiProperties { this.defaultPromptTemplate = defaultPromptTemplate; } - public Vectorstore getVectorstore() { - return vectorstore; - } - public static class Vectorstore { /** @@ -70,4 +67,20 @@ public class CmsAiProperties { this.type = type; } } + + public static class Tools { + + /** + * 是否启用 Tool calling 工具调用【例子详见 TestAiTools.java、UserAiTools.java 】 + */ + private Boolean enabled = false; + + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabled = enabled; + } + } } diff --git a/modules/cms-ai/src/test/java/com/jeesite/test/AiChatServiceTest.java b/modules/ai/ai-cms/src/test/java/com/jeesite/test/AiChatServiceTest.java similarity index 72% rename from modules/cms-ai/src/test/java/com/jeesite/test/AiChatServiceTest.java rename to modules/ai/ai-cms/src/test/java/com/jeesite/test/AiChatServiceTest.java index b8f97734..99a58acc 100644 --- a/modules/cms-ai/src/test/java/com/jeesite/test/AiChatServiceTest.java +++ b/modules/ai/ai-cms/src/test/java/com/jeesite/test/AiChatServiceTest.java @@ -6,7 +6,7 @@ package com.jeesite.test; import com.jeesite.common.mapper.JsonMapper; import com.jeesite.common.tests.BaseSpringContextTests; -import com.jeesite.modules.cms.ai.service.CmsAiChatService; +import com.jeesite.modules.ai.cms.service.AiCmsChatService; import com.jeesite.modules.sys.entity.Area; import org.junit.FixMethodOrder; import org.junit.Test; @@ -26,20 +26,20 @@ import java.util.Map; @ActiveProfiles("test") @SpringBootApplication @FixMethodOrder(MethodSorters.NAME_ASCENDING) -@SpringBootTest(properties = {"spring.ai.tool-calls=true"}) +@SpringBootTest(properties = {"spring.ai.tools.enabled=true"}) public class AiChatServiceTest extends BaseSpringContextTests { - private final CmsAiChatService cmsAiChatService; + private final AiCmsChatService aiCmsChatService; - public AiChatServiceTest(CmsAiChatService cmsAiChatService) { - this.cmsAiChatService = cmsAiChatService; + public AiChatServiceTest(AiCmsChatService aiCmsChatService) { + this.aiCmsChatService = aiCmsChatService; } @Test public void test01Text() { logger.info("===== 聊天对话,文本输出"); String message = "你好"; - String text = cmsAiChatService.chatText(message); + String text = aiCmsChatService.chatText(message); System.out.println(text); } @@ -47,7 +47,7 @@ public class AiChatServiceTest extends BaseSpringContextTests { public void test02Json() { logger.info("===== 聊天对话,结构化输出 JSON"); String message = "张三"; - Map map = cmsAiChatService.chatJson(message); + Map map = aiCmsChatService.chatJson(message); System.out.println(JsonMapper.toJson(map)); } @@ -55,10 +55,10 @@ public class AiChatServiceTest extends BaseSpringContextTests { public void test03Tool() { logger.info("===== 聊天对话,结构化输出 Tool Calling"); String message = "打开客厅的灯"; - Map map = cmsAiChatService.chatJson(message); + Map map = aiCmsChatService.chatJson(message); System.out.println(JsonMapper.toJson(map)); message = "关闭客厅的灯"; - map = cmsAiChatService.chatJson(message); + map = aiCmsChatService.chatJson(message); System.out.println(JsonMapper.toJson(map)); } @@ -66,7 +66,7 @@ public class AiChatServiceTest extends BaseSpringContextTests { public void test04Entity() { logger.info("===== 聊天对话,结构化输出 Entity"); String message = "北京"; - List list = cmsAiChatService.chatArea(message); + List list = aiCmsChatService.chatArea(message); System.out.println(JsonMapper.toJson(list)); }