diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml index e7a4cf245..85f5fa63d 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml @@ -22,11 +22,11 @@ spring-ai-openai-spring-boot-starter 1.0.3 - - io.springboot.ai - spring-ai-vertex-ai-gemini - 1.0.3 - + + + + + cn.iocoder.boot diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiClientFactoryImpl.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiClientFactoryImpl.java index b60435968..44a76dd49 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiClientFactoryImpl.java +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiClientFactoryImpl.java @@ -20,12 +20,8 @@ import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XingHuoApi; import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatClient; import cn.iocoder.yudao.framework.ai.core.model.yiyan.YiYanChatOptions; import cn.iocoder.yudao.framework.ai.core.model.yiyan.api.YiYanApi; -import com.google.auth.oauth2.GoogleCredentials; -import com.google.cloud.vertexai.VertexAI; import org.springframework.ai.autoconfigure.ollama.OllamaAutoConfiguration; import org.springframework.ai.autoconfigure.openai.OpenAiAutoConfiguration; -import org.springframework.ai.autoconfigure.vertexai.gemini.VertexAiGeminiConnectionProperties; -import org.springframework.ai.autoconfigure.vertexai.palm2.VertexAiPalm2ConnectionProperties; import org.springframework.ai.chat.StreamingChatClient; import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.ollama.OllamaChatClient; @@ -35,10 +31,7 @@ import org.springframework.ai.openai.OpenAiChatClient; import org.springframework.ai.openai.OpenAiChatOptions; import org.springframework.ai.openai.api.ApiUtils; import org.springframework.ai.openai.api.OpenAiApi; -import org.springframework.ai.vertexai.gemini.VertexAiGeminiChatClient; -import org.springframework.ai.vertexai.gemini.VertexAiGeminiChatOptions; -import java.io.IOException; import java.util.List; /** @@ -64,8 +57,8 @@ public class AiClientFactoryImpl implements AiClientFactory { return buildXingHuoChatClient(apiKey); case QIAN_WEN: return buildQianWenChatClient(apiKey); - case GEMIR: - return buildGoogleGemir(apiKey); +// case GEMIR: +// return buildGoogleGemir(apiKey); default: throw new IllegalArgumentException(StrUtil.format("未知平台({})", platform)); } @@ -172,24 +165,24 @@ public class AiClientFactoryImpl implements AiClientFactory { QianWenApi qianWenApi = new QianWenApi(key, QianWenChatModal.QWEN_72B_CHAT); return new QianWenChatClient(qianWenApi); } - - private static VertexAiGeminiChatClient buildGoogleGemir(String key) { - List keys = StrUtil.split(key, '|'); - Assert.equals(keys.size(), 2, "VertexAiGeminiChatClient 的密钥需要 (projectId|location) 格式"); -// VertexAiGeminiConnectionProperties connectionProperties = new VertexAiGeminiConnectionProperties(); -// connectionProperties.setApiKey("AIzaSyBpe376HTA8uPKJN_OJTh7MEO3v6LMqfXU"); // -// GoogleCredentials credentials = GoogleCredentials.fromStream(connectionProperties.getCredentialsUri().getInputStream()); - // todo @芋艿 google gemini 没找到对于初始化 client 方式,文档中说是用过 GoogleCredentials 来初始化凭证 - // api-key: AIzaSyBpe376HTA8uPKJN_OJTh7MEO3v6LMqfXU - VertexAI vertexApi = new VertexAI( - "skilled-snow-409401", - "us-central1" - ); - return new VertexAiGeminiChatClient(vertexApi, - VertexAiGeminiChatOptions.builder() - .withTemperature(0.4F) - .withModel(VertexAiGeminiChatClient.ChatModel.GEMINI_PRO.getValue()) - .build()); - } +// private static VertexAiGeminiChatClient buildGoogleGemir(String key) { +// List keys = StrUtil.split(key, '|'); +// Assert.equals(keys.size(), 2, "VertexAiGeminiChatClient 的密钥需要 (projectId|location) 格式"); +//// VertexAiGeminiConnectionProperties connectionProperties = new VertexAiGeminiConnectionProperties(); +//// connectionProperties.setApiKey("AIzaSyBpe376HTA8uPKJN_OJTh7MEO3v6LMqfXU"); +//// +//// GoogleCredentials credentials = GoogleCredentials.fromStream(connectionProperties.getCredentialsUri().getInputStream()); +// // todo @芋艿 google gemini 没找到对于初始化 client 方式,文档中说是用过 GoogleCredentials 来初始化凭证 +// // api-key: AIzaSyBpe376HTA8uPKJN_OJTh7MEO3v6LMqfXU +// VertexAI vertexApi = new VertexAI( +// "skilled-snow-409401", +// "us-central1" +// ); +// return new VertexAiGeminiChatClient(vertexApi, +// VertexAiGeminiChatOptions.builder() +// .withTemperature(0.4F) +// .withModel(VertexAiGeminiChatClient.ChatModel.GEMINI_PRO.getValue()) +// .build()); +// } }