已有Gemini API Key,Spring AI仍要求CredentialsUri?能否用API Key替代?
关于Spring AI调用Gemini使用API Key的解决方案
核心问题说明
Spring AI的Vertex AI Gemini客户端默认基于Google Cloud的服务账号/OAuth2凭据(即ADC机制)完成认证,这和Gemini Studio直接用API Key的调用分属两套不同的认证体系,因此你会触发"默认凭据未找到"的错误。
使用API Key替代ADC的配置方法
你可以通过以下方式让Spring AI使用Gemini API Key认证,无需依赖ADC:
1. 调整依赖
确保引入面向通用API Key的Spring AI Gemini依赖(区别于面向Google Cloud环境的Vertex AI依赖):
<!-- Maven示例 --> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-google-gemini-spring-boot-starter</artifactId> <version>最新稳定版</version> </dependency>
2. 配置文件设置
在application.properties或application.yml中直接指定API Key:
# application.properties spring.ai.google.gemini.api-key=你的Gemini API Key spring.ai.google.gemini.model=geminipro
YAML格式示例:
# application.yml spring: ai: google: gemini: api-key: 你的Gemini API Key model: geminipro
3. 代码显式配置(可选)
若需要在代码中自定义客户端,可创建GeminiChatClient的Bean:
import org.springframework.ai.google.gemini.GeminiChatClient; import org.springframework.ai.google.gemini.GeminiChatOptions; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class GeminiConfig { @Bean public GeminiChatClient geminiChatClient() { return new GeminiChatClient(new GeminiChatOptions.Builder() .setApiKey("你的Gemini API Key") .setModel("geminipro") .build()); } }
关键区分点
- Vertex AI客户端:面向Google Cloud环境,依赖ADC/OAuth2认证,对应依赖为
spring-ai-vertex-ai-spring-boot-starter,需绑定Google Cloud项目及服务账号。 - Gemini通用客户端:面向Gemini Studio的API Key认证,对应依赖为
spring-ai-google-gemini-spring-boot-starter,仅需配置API Key即可调用。
你之前参考的是Vertex AI的文档,因此默认走ADC认证流程,切换到Gemini通用客户端并配置API Key即可解决问题。
内容的提问来源于stack exchange,提问作者east cukt
相关产品推荐
相关产品推荐

