From 5d093c9ad737bd9655c5c9170002a230a2f3a95f Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Tue, 31 Mar 2026 23:16:41 -0400 Subject: [PATCH] Remove deprecated InputParams class from GoogleVertexLLMService The location and project_id fields were deprecated since 0.0.90 in favor of direct __init__ parameters. Now that InputParams is removed, project_id is required and location defaults to "us-east4" directly in the signature. --- src/pipecat/services/google/vertex/llm.py | 78 +---------------------- 1 file changed, 3 insertions(+), 75 deletions(-) diff --git a/src/pipecat/services/google/vertex/llm.py b/src/pipecat/services/google/vertex/llm.py index 946a8f1bb..b8b83cb24 100644 --- a/src/pipecat/services/google/vertex/llm.py +++ b/src/pipecat/services/google/vertex/llm.py @@ -61,58 +61,14 @@ class GoogleVertexLLMService(GoogleLLMService): Settings = GoogleVertexLLMSettings _settings: Settings - class InputParams(GoogleLLMService.InputParams): - """Input parameters specific to Vertex AI. - - Parameters: - location: GCP region for Vertex AI endpoint (e.g., "us-east4"). - - .. deprecated:: 0.0.90 - Use `location` as a direct argument to - `GoogleVertexLLMService.__init__()` instead. - - project_id: Google Cloud project ID. - - .. deprecated:: 0.0.90 - Use `project_id` as a direct argument to - `GoogleVertexLLMService.__init__()` instead. - """ - - # https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations - location: Optional[str] = None - project_id: Optional[str] = None - - def __init__(self, **kwargs): - """Initializes the InputParams.""" - import warnings - - with warnings.catch_warnings(): - warnings.simplefilter("always") - if "location" in kwargs and kwargs["location"] is not None: - warnings.warn( - "GoogleVertexLLMService.InputParams.location is deprecated. " - "Please provide 'location' as a direct argument to GoogleVertexLLMService.__init__() instead.", - DeprecationWarning, - stacklevel=2, - ) - - if "project_id" in kwargs and kwargs["project_id"] is not None: - warnings.warn( - "GoogleVertexLLMService.InputParams.project_id is deprecated. " - "Please provide 'project_id' as a direct argument to GoogleVertexLLMService.__init__() instead.", - DeprecationWarning, - stacklevel=2, - ) - super().__init__(**kwargs) - def __init__( self, *, credentials: Optional[str] = None, credentials_path: Optional[str] = None, model: Optional[str] = None, - location: Optional[str] = None, - project_id: Optional[str] = None, + location: str = "us-east4", + project_id: str, params: Optional[GoogleLLMService.InputParams] = None, settings: Optional[Settings] = None, system_instruction: Optional[str] = None, @@ -131,7 +87,7 @@ class GoogleVertexLLMService(GoogleLLMService): .. deprecated:: 0.0.105 Use ``settings=GoogleVertexLLMService.Settings(model=...)`` instead. - location: GCP region for Vertex AI endpoint (e.g., "us-east4"). + location: GCP region for Vertex AI endpoint. Defaults to "us-east4". project_id: Google Cloud project ID. params: Input parameters for the model. @@ -161,34 +117,6 @@ class GoogleVertexLLMService(GoogleLLMService): "Invalid parameter 'api_key'. Use 'credentials' or 'credentials_path' for Vertex AI authentication." ) - # Handle deprecated InputParams fields (location/project_id extraction - # must happen before validation, regardless of settings) - if params and isinstance(params, GoogleVertexLLMService.InputParams): - if project_id is None: - project_id = params.project_id - if location is None: - location = params.location - # Convert to base InputParams - params = GoogleLLMService.InputParams( - **params.model_dump(exclude={"location", "project_id"}, exclude_unset=True) - ) - - # Validate project_id and location parameters - # NOTE: once we remove Vertex-specific InputParams class, we can update - # __init__() signature as follows: - # - location: str = "us-east4", - # - project_id: str, - # But for now, we need them as-is to maintain proper backward - # compatibility. - if project_id is None: - raise ValueError("project_id is required") - if location is None: - # If location is not provided, default to "us-east4". - # Note: this is legacy behavior; ideally location would be - # required. - logger.warning("location is not provided. Defaulting to 'us-east4'.") - location = "us-east4" # Default location if not provided - # These need to be set before calling super().__init__() because # super().__init__() invokes _create_client(), which needs these. self._credentials = self._get_credentials(credentials, credentials_path)