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 c984c5569..d818292fd 100644 --- a/core/src/main/java/com/google/adk/models/Gemini.java +++ b/core/src/main/java/com/google/adk/models/Gemini.java @@ -193,8 +193,6 @@ public Builder vertexCredentials(VertexCredentials vertexCredentials) { * * @return A new {@link Gemini} instance. * @throws NullPointerException if modelName is null. - * @throws IllegalStateException if none of apiKey, VertexCredentials, or an explicit apiClient - * is set. */ public Gemini build() { Objects.requireNonNull(modelName, "modelName must be set."); @@ -206,9 +204,11 @@ public Gemini build() { } else if (vertexCredentials != null) { return new Gemini(modelName, vertexCredentials); } else { - throw new IllegalStateException( - "Authentication strategy not set: Either apiKey, VertexCredentials, or an explicit" - + " apiClient must be provided."); + return new Gemini( + modelName, + Client.builder() + .httpOptions(HttpOptions.builder().headers(TRACKING_HEADERS).build()) + .build()); } } } diff --git a/core/src/main/java/com/google/adk/models/LlmRegistry.java b/core/src/main/java/com/google/adk/models/LlmRegistry.java index f2e932af1..6bc2528d3 100644 --- a/core/src/main/java/com/google/adk/models/LlmRegistry.java +++ b/core/src/main/java/com/google/adk/models/LlmRegistry.java @@ -16,7 +16,6 @@ package com.google.adk.models; -import com.google.genai.Client; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -32,22 +31,12 @@ public interface LlmFactory { BaseLlm create(String modelName); } - /** API client for interacting with the Gemini model. */ - private static final Client geminiApiClient = Client.builder().build(); - /** Map of model name patterns regex to factories. */ private static final Map llmFactories = new ConcurrentHashMap<>(); - /** Returns the singleton instance of the Gemini API client. */ - private static Client getGeminiApiClient() { - return geminiApiClient; - } - /** Registers default LLM factories, e.g. for Gemini models. */ static { - registerLlm( - "gemini-.*", - modelName -> Gemini.builder().modelName(modelName).apiClient(getGeminiApiClient()).build()); + registerLlm("gemini-.*", modelName -> Gemini.builder().modelName(modelName).build()); } /**