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.
This commit is contained in:
@@ -61,58 +61,14 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
Settings = GoogleVertexLLMSettings
|
Settings = GoogleVertexLLMSettings
|
||||||
_settings: Settings
|
_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__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
credentials: Optional[str] = None,
|
credentials: Optional[str] = None,
|
||||||
credentials_path: Optional[str] = None,
|
credentials_path: Optional[str] = None,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
location: Optional[str] = None,
|
location: str = "us-east4",
|
||||||
project_id: Optional[str] = None,
|
project_id: str,
|
||||||
params: Optional[GoogleLLMService.InputParams] = None,
|
params: Optional[GoogleLLMService.InputParams] = None,
|
||||||
settings: Optional[Settings] = None,
|
settings: Optional[Settings] = None,
|
||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
@@ -131,7 +87,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleVertexLLMService.Settings(model=...)`` instead.
|
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.
|
project_id: Google Cloud project ID.
|
||||||
params: Input parameters for the model.
|
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."
|
"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
|
# These need to be set before calling super().__init__() because
|
||||||
# super().__init__() invokes _create_client(), which needs these.
|
# super().__init__() invokes _create_client(), which needs these.
|
||||||
self._credentials = self._get_credentials(credentials, credentials_path)
|
self._credentials = self._get_credentials(credentials, credentials_path)
|
||||||
|
|||||||
Reference in New Issue
Block a user