diff --git a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java
index 268cbf3ae94..6b9ad92af33 100644
--- a/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java
+++ b/models/spring-ai-vertex-ai-gemini/src/main/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModel.java
@@ -16,6 +16,7 @@
package org.springframework.ai.vertexai.gemini;
+import com.google.cloud.vertexai.api.Tool.GoogleSearch;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -713,10 +714,8 @@ GeminiRequest createGeminiRequest(Prompt prompt) {
}
if (prompt.getOptions() instanceof VertexAiGeminiChatOptions options && options.getGoogleSearchRetrieval()) {
- final var googleSearchRetrieval = GoogleSearchRetrieval.newBuilder().getDefaultInstanceForType();
- final var googleSearchRetrievalTool = Tool.newBuilder()
- .setGoogleSearchRetrieval(googleSearchRetrieval)
- .build();
+ var googleSearch = GoogleSearch.newBuilder().getDefaultInstanceForType();
+ final var googleSearchRetrievalTool = Tool.newBuilder().setGoogleSearch(googleSearch).build();
tools.add(googleSearchRetrievalTool);
}
@@ -969,7 +968,7 @@ public enum ChatModel implements ChatModelDescription {
GEMINI_2_0_FLASH_LIGHT("gemini-2.0-flash-lite"),
- GEMINI_2_5_PRO("gemini-2.5-pro-exp-03-28");
+ GEMINI_2_5_PRO("gemini-2.5-pro-exp-03-25");
public final String value;
diff --git a/models/spring-ai-vertex-ai-gemini/src/test/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModelIT.java b/models/spring-ai-vertex-ai-gemini/src/test/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModelIT.java
index 176cf111f22..78575f7dbd8 100644
--- a/models/spring-ai-vertex-ai-gemini/src/test/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModelIT.java
+++ b/models/spring-ai-vertex-ai-gemini/src/test/java/org/springframework/ai/vertexai/gemini/VertexAiGeminiChatModelIT.java
@@ -88,17 +88,28 @@ void testMessageHistory() {
assertThat(response.getResult().getOutput().getText()).containsAnyOf("Blackbeard", "Bartholomew");
}
+ // Test disabled until Gemini 2.5 PRO has an official release
+ @Disabled
@Test
- void googleSearchTool() {
+ void googleSearchToolPro() {
Prompt prompt = createPrompt(VertexAiGeminiChatOptions.builder()
- .model(ChatModel.GEMINI_1_5_PRO) // Only the pro model supports the google
- // search tool
+ .model(ChatModel.GEMINI_2_5_PRO)
.googleSearchRetrieval(true)
.build());
ChatResponse response = this.chatModel.call(prompt);
assertThat(response.getResult().getOutput().getText()).containsAnyOf("Blackbeard", "Bartholomew");
}
+ @Test
+ void googleSearchToolFlash() {
+ Prompt prompt = createPrompt(VertexAiGeminiChatOptions.builder()
+ .model(ChatModel.GEMINI_2_0_FLASH)
+ .googleSearchRetrieval(true)
+ .build());
+ ChatResponse response = this.chatModel.call(prompt);
+ assertThat(response.getResult().getOutput().getText()).containsAnyOf("Blackbeard", "Bartholomew", "Bob");
+ }
+
@Test
@Disabled
void testSafetySettings() {
diff --git a/pom.xml b/pom.xml
index 3976c81240d..ffc21c360df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -268,7 +268,7 @@
0.30.0
1.19.2
3.51.0
- 26.48.0
+ 26.59.0
9.20.0
4.37.0
2.2.25