From 3f14cd1bee1348100e85b813622acd0ac9d6dfce Mon Sep 17 00:00:00 2001 From: Rohan Narayan Date: Wed, 26 Mar 2025 18:29:52 +0000 Subject: [PATCH 1/3] chore: fix semantic versioning for pinned major or minor versions with wildcard identifier --- src/sagemaker/jumpstart/cache.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sagemaker/jumpstart/cache.py b/src/sagemaker/jumpstart/cache.py index f862d4702a..f65b2b4d51 100644 --- a/src/sagemaker/jumpstart/cache.py +++ b/src/sagemaker/jumpstart/cache.py @@ -552,6 +552,10 @@ def _select_version( ) return version_str if version_str in available_versions else None + if version_str[-1] == "*": + # major or minor version is pinned, e.g 1.* or 1.0.* + return utils.get_latest_version([version for version in available_versions if version.startswith(version_str[:-1])]) + try: spec = SpecifierSet(f"=={version_str}") except InvalidSpecifier: From ac43bbdee2ee287b53dca89e177bf118137c313d Mon Sep 17 00:00:00 2001 From: Rohan Narayan Date: Wed, 26 Mar 2025 19:03:57 +0000 Subject: [PATCH 2/3] add unit test related to versioning fix --- tests/unit/sagemaker/jumpstart/constants.py | 12 ++++++++++ tests/unit/sagemaker/jumpstart/test_cache.py | 24 ++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/tests/unit/sagemaker/jumpstart/constants.py b/tests/unit/sagemaker/jumpstart/constants.py index 83e8a44a32..2eb7469e21 100644 --- a/tests/unit/sagemaker/jumpstart/constants.py +++ b/tests/unit/sagemaker/jumpstart/constants.py @@ -15990,6 +15990,18 @@ "spec_key": "community_models_specs/tensorflow-ic-" "imagenet-inception-v3-classification-4/specs_v3.0.0.json", }, + { + "model_id": "meta-textgeneration-llama-2-7b", + "version": "4.9.0", + "min_version": "2.49.0", + "spec_key": "community_models/meta-textgeneration-llama-2-7b/specs_v4.9.0.json", + }, + { + "model_id": "meta-textgeneration-llama-2-7b", + "version": "4.13.0", + "min_version": "2.49.0", + "spec_key": "community_models/meta-textgeneration-llama-2-7b/specs_v4.13.0.json", + }, ] BASE_PROPRIETARY_HEADER = { diff --git a/tests/unit/sagemaker/jumpstart/test_cache.py b/tests/unit/sagemaker/jumpstart/test_cache.py index b7edc124d3..17996f4f15 100644 --- a/tests/unit/sagemaker/jumpstart/test_cache.py +++ b/tests/unit/sagemaker/jumpstart/test_cache.py @@ -184,6 +184,30 @@ def test_jumpstart_cache_get_header(): semantic_version_str="1.0.*", ) + assert JumpStartModelHeader( + { + "model_id": "meta-textgeneration-llama-2-7b", + "version": "4.13.0", + "min_version": "2.49.0", + "spec_key": "community_models/meta-textgeneration-llama-2-7b/specs_v4.13.0.json", + } + ) == cache.get_header( + model_id="meta-textgeneration-llama-2-7b", + semantic_version_str="*", + ) + + assert JumpStartModelHeader( + { + "model_id": "meta-textgeneration-llama-2-7b", + "version": "4.13.0", + "min_version": "2.49.0", + "spec_key": "community_models/meta-textgeneration-llama-2-7b/specs_v4.13.0.json", + } + ) == cache.get_header( + model_id="meta-textgeneration-llama-2-7b", + semantic_version_str="4.*", + ) + assert JumpStartModelHeader( { "model_id": "ai21-summarization", From b2e4ebe99cc5bd845d51a8216ced9b13d0a3f4a8 Mon Sep 17 00:00:00 2001 From: Rohan Narayan Date: Wed, 26 Mar 2025 19:26:57 +0000 Subject: [PATCH 3/3] fix styling --- src/sagemaker/jumpstart/cache.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sagemaker/jumpstart/cache.py b/src/sagemaker/jumpstart/cache.py index f65b2b4d51..29a903e00b 100644 --- a/src/sagemaker/jumpstart/cache.py +++ b/src/sagemaker/jumpstart/cache.py @@ -554,7 +554,9 @@ def _select_version( if version_str[-1] == "*": # major or minor version is pinned, e.g 1.* or 1.0.* - return utils.get_latest_version([version for version in available_versions if version.startswith(version_str[:-1])]) + return utils.get_latest_version( + [version for version in available_versions if version.startswith(version_str[:-1])] + ) try: spec = SpecifierSet(f"=={version_str}")