Fixes #2185 - googleSearchRetrieval(true) causes INVALID_ARGUMENT error with Gemini 2.0 (use google_search instead)

This commit is contained in:
ddobrin
2025-04-15 17:17:00 -04:00
committed by Mark Pollack
parent 53359fd9e6
commit 6e0c09838f
2 changed files with 4 additions and 7 deletions

View File

@@ -714,11 +714,8 @@ public class VertexAiGeminiChatModel implements ChatModel, DisposableBean {
}
if (prompt.getOptions() instanceof VertexAiGeminiChatOptions options && options.getGoogleSearchRetrieval()) {
// final var googleSearchRetrieval = GoogleSearchRetrieval.newBuilder().getDefaultInstanceForType();
var googleSearch = GoogleSearch.newBuilder().getDefaultInstanceForType();
final var googleSearchRetrievalTool = Tool.newBuilder()
.setGoogleSearch(googleSearch)
.build();
final var googleSearchRetrievalTool = Tool.newBuilder().setGoogleSearch(googleSearch).build();
tools.add(googleSearchRetrievalTool);
}

View File

@@ -103,9 +103,9 @@ class VertexAiGeminiChatModelIT {
@Test
void googleSearchToolFlash() {
Prompt prompt = createPrompt(VertexAiGeminiChatOptions.builder()
.model(ChatModel.GEMINI_2_0_FLASH)
.googleSearchRetrieval(true)
.build());
.model(ChatModel.GEMINI_2_0_FLASH)
.googleSearchRetrieval(true)
.build());
ChatResponse response = this.chatModel.call(prompt);
assertThat(response.getResult().getOutput().getText()).containsAnyOf("Blackbeard", "Bartholomew", "Bob");
}