手动配置
GoogleGenAiChatModel实现了ChatModel接口,并使用com.google.genai.Client连接到Google GenAI服务。
将 spring-ai-google-genai 依赖项添加到您项目的 Maven pom.xml 文件中:
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-google-genai</artifactId></dependency>
或添加到您的Gradle build.gradle构建文件。
dependencies { implementation 'org.springframework.ai:spring-ai-google-genai'}
接下来,创建一个GoogleGenAiChatModel,并使用它进行文本生成:
使用API密钥
Client genAiClient = Client.builder() .apiKey(System.getenv("GOOGLE_API_KEY")) .build();var chatModel = new GoogleGenAiChatModel(genAiClient, GoogleGenAiChatOptions.builder() .model(ChatModel.GEMINI_2_0_FLASH) .temperature(0.4) .build());ChatResponse response = this.chatModel.call( new Prompt("Generate the names of 5 famous pirates."));
使用Vertex AI
Client genAiClient = Client.builder() .project(System.getenv("GOOGLE_CLOUD_PROJECT")) .location(System.getenv("GOOGLE_CLOUD_LOCATION")) .vertexAI(true) .build();var chatModel = new GoogleGenAiChatModel(genAiClient, GoogleGenAiChatOptions.builder() .model(ChatModel.GEMINI_2_0_FLASH) .temperature(0.4) .build());ChatResponse response = this.chatModel.call( new Prompt("Generate the names of 5 famous pirates."));
GoogleGenAiChatOptions 提供聊天请求的配置信息。GoogleGenAiChatOptions.Builder 是一个流畅的选项构建器。
从 Vertex AI Gemini 迁移
如果你目前正在使用Vertex AI Gemini实现(spring-ai-vertex-ai-gemini),则只需进行少量更改即可迁移到Google GenAI:
关键差异
SDK:Google GenAI 使用新的 com.google.genai.Client 而不是 com.google.cloud.vertexai.VertexAI
身份验证:同时支持API密钥和Google Cloud凭据
包名:类位于org.springframework.ai.google.genai中,而非org.springframework.ai.vertexai.gemini中
属性前缀:使用spring.ai.google.genai,而不是spring.ai.vertex.ai.gemini
何时使用Google GenAI与何时使用Vertex AI Gemini
在以下情况下使用Google GenAI: - 您希望通过API密钥快速进行原型设计 - 您需要从开发者API获取最新的Gemini功能 - 您希望灵活地在API密钥模式和Vertex AI模式之间切换
在以下情况下使用Vertex AI Gemini: - 您已拥有现有的Vertex AI基础设施 - 您需要特定的Vertex AI企业级功能 - 您的组织仅需在Google Cloud上进行部署
低级Java客户端
Google GenAI实现基于新的Google GenAI Java SDK构建,该SDK提供了一个现代化、简化的API,用于访问Gemini模型。