diff --git a/core/src/main/java/com/google/adk/models/Gemini.java b/core/src/main/java/com/google/adk/models/Gemini.java index ca6c89550..b70f4b97e 100644 --- a/core/src/main/java/com/google/adk/models/Gemini.java +++ b/core/src/main/java/com/google/adk/models/Gemini.java @@ -276,7 +276,15 @@ public Flowable generateContent(LlmRequest llmRequest, boolean stre llmRequest = GeminiUtil.prepareGenenerateContentRequest( llmRequest, !apiClient.vertexAI(), /* stripThoughts= */ false); - GenerateContentConfig config = llmRequest.config().orElse(null); + // GeminiContinuation resumes paused generations itself, so the SDK's own loop, on by default, + // is turned off for every request, resumed ones included. + GenerateContentConfig config = + llmRequest + .config() + .map(GenerateContentConfig::toBuilder) + .orElseGet(GenerateContentConfig::builder) + .automaticContinuation(false) + .build(); String effectiveModelName = llmRequest.model().orElse(model()); logger.trace("Request Contents: {}", llmRequest.contents());