Skip to content

Commit 3a1bab3

Browse files
committed
fix(jumpstart): remove core dependency on serve shims
Use the canonical core classes that the deprecated serve shims export. This keeps JumpStart factory imports available in core-only environments. --- X-AI-Prompt: Can you fix the pull request hooks and keep the new boundary tests in sagemaker-core? X-AI-Tool: claude-code
1 parent 0359910 commit 3a1bab3

5 files changed

Lines changed: 10 additions & 11 deletions

File tree

‎sagemaker-core/src/sagemaker/core/jumpstart/factory/utils.py‎

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
model_uris,
2424
script_uris,
2525
)
26-
from sagemaker.serve.async_inference.async_inference_config import AsyncInferenceConfig
26+
from sagemaker.core.inference_config import AsyncInferenceConfig, ServerlessInferenceConfig
2727
from sagemaker.core.deserializers.base import BaseDeserializer
2828
from sagemaker.core.serializers.base import BaseSerializer
2929
from sagemaker.core.explainer.explainer_config import ExplainerConfig
@@ -74,7 +74,6 @@
7474

7575
from sagemaker.core.model_monitor.data_capture_config import DataCaptureConfig
7676

77-
from sagemaker.serve.serverless.serverless_inference_config import ServerlessInferenceConfig
7877
from sagemaker.core.helper.session_helper import Session
7978
from sagemaker.core.common_utils import (
8079
camel_case_to_pascal_case,
@@ -83,11 +82,10 @@
8382
Tags,
8483
)
8584
from sagemaker.core.helper.pipeline_variable import PipelineVariable
86-
from sagemaker.serve.compute_resource_requirements.resource_requirements import ResourceRequirements
85+
from sagemaker.core.resource_requirements import ResourceRequirements
8786
from sagemaker.core import resource_requirements
8887
from sagemaker.core.enums import EndpointType
8988

90-
9189
KwargsType = Union[
9290
JumpStartModelDeployKwargs,
9391
JumpStartModelInitKwargs,
@@ -551,9 +549,7 @@ def _add_additional_model_data_sources_to_kwargs(
551549
provider=data_source.provider, region=kwargs.region
552550
)
553551
if content_bucket is None:
554-
raise ValueError(
555-
f"Unable to get content bucket for Neo in {kwargs.region} region."
556-
)
552+
raise ValueError(f"Unable to get content bucket for Neo in {kwargs.region} region.")
557553
data_source.s3_data_source.set_bucket(content_bucket)
558554
api_shape_additional_model_data_sources = (
559555
[

‎sagemaker-core/src/sagemaker/core/jumpstart/utils.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# ANY KIND, either express or implied. See the License for the specific
1212
# language governing permissions and limitations under the License.
1313
"""This module contains utils for JumpStart."""
14+
1415
from __future__ import absolute_import
1516

1617
from typing import Optional

‎sagemaker-core/tests/integ/jumpstart/test_bucket_utils.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# ANY KIND, either express or implied. See the License for the specific
1212
# language governing permissions and limitations under the License.
1313
"""Regression tests for JumpStart metadata setup in EU Sovereign Cloud."""
14+
1415
from __future__ import absolute_import
1516

1617
import boto3

‎sagemaker-core/tests/unit/jumpstart/test_factory_utils.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,7 @@ def test_jumpstart_draft_model_bypasses_neo(
6868
self, mock_get_neo_bucket, mock_get_jumpstart_bucket
6969
):
7070
mock_get_jumpstart_bucket.return_value = "jumpstart-bucket"
71-
data_source = self._draft_model_source(
72-
{"name": "JumpStart", "classification": "ungated"}
73-
)
71+
data_source = self._draft_model_source({"name": "JumpStart", "classification": "ungated"})
7472
kwargs = Mock(region="eusc-de-east-1", additional_model_data_sources=None)
7573
kwargs.specs.get_speculative_decoding_s3_data_sources.return_value = [data_source]
7674

‎sagemaker-core/tests/unit/test_jumpstart_utils.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1583,7 +1583,9 @@ def test_add_instance_rate_stats_none_metrics(self):
15831583
result = utils.add_instance_rate_stats_to_benchmark_metrics("us-west-2", None)
15841584
assert result is None
15851585

1586-
@pytest.mark.skip(reason="Requires AWS Pricing API permissions which are not available in CI environment")
1586+
@pytest.mark.skip(
1587+
reason="Requires AWS Pricing API permissions which are not available in CI environment"
1588+
)
15871589
@patch("sagemaker.core.common_utils.get_instance_rate_per_hour")
15881590
def test_add_instance_rate_stats_success(self, mock_get_rate):
15891591
"""Test successfully adding instance rate stats"""
@@ -1905,6 +1907,7 @@ def test_get_draft_model_content_bucket_other_provider(self, mock_neo):
19051907
result = utils.get_draft_model_content_bucket(provider, "us-west-2")
19061908
assert result == "neo-bucket"
19071909

1910+
19081911
class TestRemoveEnvVarFromEstimatorKwargsIfAcceptEulaPresent:
19091912
"""Test cases for remove_env_var_from_estimator_kwargs_if_accept_eula_present function"""
19101913

0 commit comments

Comments
 (0)