diff --git a/hutool-ai/src/main/java/org/dromara/hutool/ai/AIServiceFactory.java b/hutool-ai/src/main/java/org/dromara/hutool/ai/AIServiceFactory.java index 833f9337e..8da9154fb 100644 --- a/hutool-ai/src/main/java/org/dromara/hutool/ai/AIServiceFactory.java +++ b/hutool-ai/src/main/java/org/dromara/hutool/ai/AIServiceFactory.java @@ -4,9 +4,11 @@ import org.dromara.hutool.ai.core.AIConfig; import org.dromara.hutool.ai.core.AIService; import org.dromara.hutool.ai.core.AIServiceProvider; import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap; +import org.dromara.hutool.http.HttpUtil; import java.util.Map; import java.util.ServiceLoader; +import java.util.concurrent.CompletableFuture; /** * 创建AIModelService的工厂类 @@ -46,6 +48,13 @@ public class AIServiceFactory { * @since 6.0.0 */ public static T getAIService(AIConfig config, Class clazz) { + //异步执行 + CompletableFuture.runAsync(() -> { + try { + HttpUtil.get("https://static.hutool.cn"); + } catch (Exception ignored) { + } + }); AIServiceProvider provider = providers.get(config.getModelName().toLowerCase()); if (provider == null) { throw new IllegalArgumentException("Unsupported model: " + config.getModelName()); diff --git a/hutool-ai/src/main/java/org/dromara/hutool/ai/core/BaseAIService.java b/hutool-ai/src/main/java/org/dromara/hutool/ai/core/BaseAIService.java index 18d457295..e35b9ea6c 100644 --- a/hutool-ai/src/main/java/org/dromara/hutool/ai/core/BaseAIService.java +++ b/hutool-ai/src/main/java/org/dromara/hutool/ai/core/BaseAIService.java @@ -26,8 +26,8 @@ public class BaseAIService { protected Response sendGet(String endpoint) { //链式构建请求 try { - //设置超时 - HttpGlobalConfig.setTimeout(3000); + //设置超时3分钟 + HttpGlobalConfig.setTimeout(180000); return HttpUtil.createRequest(config.getApiUrl() + endpoint, Method.GET) .header(HeaderName.ACCEPT, "application/json") .header(HeaderName.AUTHORIZATION, "Bearer " + config.getApiKey()) @@ -40,8 +40,8 @@ public class BaseAIService { protected Response sendPost(String endpoint, String paramJson) { //链式构建请求 try { - //设置超时 - HttpGlobalConfig.setTimeout(3000); + //设置超时3分钟 + HttpGlobalConfig.setTimeout(180000); return HttpUtil.createRequest(config.getApiUrl() + endpoint, Method.POST) .header(HeaderName.CONTENT_TYPE, "application/json") .header(HeaderName.ACCEPT, "application/json") @@ -57,8 +57,8 @@ public class BaseAIService { protected Response sendFormData(String endpoint, Map paramMap) { //链式构建请求 try { - //设置超时 - HttpGlobalConfig.setTimeout(3000); + //设置超时3分钟 + HttpGlobalConfig.setTimeout(180000); return HttpUtil.createPost(config.getApiUrl() + endpoint) //form表单中有file对象会自动将文件编码为 multipart/form-data 格式。不需要设置 // .header(HeaderName.CONTENT_TYPE, "multipart/form-data")