From afe6676112398ecb9372998b5f45f1447e536980 Mon Sep 17 00:00:00 2001 From: zhouxss Date: Wed, 19 Feb 2025 08:27:19 +0000 Subject: [PATCH 1/3] fix cn region local deploy bug --- src/dmaa/models/llms/deepseek.py | 10 +++---- src/pipeline/deploy/build_and_push_image.py | 29 ++++++++++++++++----- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/dmaa/models/llms/deepseek.py b/src/dmaa/models/llms/deepseek.py index 784c33a4..047c8fb4 100644 --- a/src/dmaa/models/llms/deepseek.py +++ b/src/dmaa/models/llms/deepseek.py @@ -53,7 +53,7 @@ supported_frameworks=[ fastapi_framework ], - allow_china_region=False, + allow_china_region=True, huggingface_model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", # modelscope_model_id="Qwen/Qwen2.5-32B-Instruct", require_huggingface_token=False, @@ -83,7 +83,7 @@ supported_frameworks=[ fastapi_framework ], - allow_china_region=False, + allow_china_region=True, huggingface_model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", # modelscope_model_id="Qwen/Qwen2.5-14B-Instruct", require_huggingface_token=False, @@ -114,7 +114,7 @@ supported_frameworks=[ fastapi_framework ], - allow_china_region=False, + allow_china_region=True, huggingface_model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", # modelscope_model_id="Qwen/Qwen2.5-14B-Instruct", require_huggingface_token=False, @@ -145,7 +145,7 @@ supported_frameworks=[ fastapi_framework ], - allow_china_region=False, + allow_china_region=True, huggingface_model_id="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", # modelscope_model_id="Qwen/Qwen2.5-14B-Instruct", require_huggingface_token=False, @@ -242,7 +242,7 @@ supported_frameworks=[ fastapi_framework ], - allow_china_region=False, + allow_china_region=True, huggingface_model_id="deepseek-ai/DeepSeek-R1-Distill-Llama-8B", # modelscope_model_id="Qwen/Qwen2.5-14B-Instruct", require_huggingface_token=False, diff --git a/src/pipeline/deploy/build_and_push_image.py b/src/pipeline/deploy/build_and_push_image.py index 0df89969..cf3f24a8 100644 --- a/src/pipeline/deploy/build_and_push_image.py +++ b/src/pipeline/deploy/build_and_push_image.py @@ -236,17 +236,34 @@ def run( docker_login_region = docker_login_region or region if build_image_host: - if check_cn_region(region): - build_image_script = ( + build_image_script_cn = ( f"cd {execute_dir}" f' && docker build --platform linux/amd64 -f {dockerfile_name} -t "{ecr_repo_uri}" .' ) - else: - build_image_script = ( + build_image_script_global = ( f"cd {execute_dir}" f" && aws {ecr_name} get-login-password --region {docker_login_region} | docker login --username AWS --password-stdin {build_image_host}" f' && docker build --platform linux/amd64 -f {dockerfile_name} -t "{ecr_repo_uri}" .' ) + if check_cn_region(region): + build_image_scripts = [build_image_script_cn] + else: + build_image_scripts = [build_image_script_global,build_image_script_cn] + + is_build_success = False + for build_image_script in build_image_scripts: + logger.info(f"building image: {build_image_script}") + try: + assert os.system(build_image_script) == 0 + is_build_success = True + break + except Exception as e: + logger.error(f"docker build errorr: {e}") + + if not is_build_success: + raise RuntimeError("docker build errorr") + + # build_image_script = ( # f"cd {execute_dir}" # f" && aws {ecr_name} get-login-password --region {docker_login_region} | docker login --username AWS --password-stdin {build_image_host}" @@ -258,8 +275,8 @@ def run( f' && docker build --platform linux/amd64 -f {dockerfile_name} -t "{ecr_repo_uri}" .' ) - logger.info(f"building image: {build_image_script}") - assert os.system(build_image_script) == 0 + logger.info(f"building image: {build_image_script}") + assert os.system(build_image_script) == 0 # push image # It should not push the image to ecr when service_type is `local` From 6435664ed09a7e57f74de18364e7c3c1f16c51db Mon Sep 17 00:00:00 2001 From: zhouxss Date: Wed, 19 Feb 2025 08:45:26 +0000 Subject: [PATCH 2/3] fix bugs in download_s5cmd --- src/dmaa/constants.py | 2 ++ src/dmaa/sdk/deploy.py | 3 ++- src/pipeline/pipeline.py | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/dmaa/constants.py b/src/dmaa/constants.py index 31fc3319..35208dd8 100644 --- a/src/dmaa/constants.py +++ b/src/dmaa/constants.py @@ -21,4 +21,6 @@ DMAA_DEFAULT_PROFILE_PARH = "~/.dmaa_default_profile" MODEL_TAG_PATTERN = r'^[a-z0-9]([a-z0-9-_]{0,61}[a-z0-9])?$' + +LOCAL_REGION = "local" # DMAA_USE_NO_PROFILE_CHOICE = "Don't set" diff --git a/src/dmaa/sdk/deploy.py b/src/dmaa/sdk/deploy.py index 2c446378..a38bd0a2 100644 --- a/src/dmaa/sdk/deploy.py +++ b/src/dmaa/sdk/deploy.py @@ -11,6 +11,7 @@ ENV_STACK_NAME, MODEL_DEFAULT_TAG, VERSION, + LOCAL_REGION ) from dmaa.models import Model from dmaa.models.utils.constants import FrameworkType, ServiceType,InstanceType @@ -311,7 +312,7 @@ def deploy_local( f" --service_type {service_type}" f" --backend_type {engine_type}" f" --framework_type {framework_type}" - f" --region 'local'" + f" --region '{LOCAL_REGION}'" f" --extra_params '{extra_params}'" ) logger.info(f"pipeline cmd: {pipeline_cmd}") diff --git a/src/pipeline/pipeline.py b/src/pipeline/pipeline.py index 0735071e..9c227cb6 100644 --- a/src/pipeline/pipeline.py +++ b/src/pipeline/pipeline.py @@ -7,7 +7,7 @@ import logging from concurrent.futures import as_completed,ProcessPoolExecutor from dmaa.models import Model -from dmaa.constants import MODEL_DEFAULT_TAG +from dmaa.constants import MODEL_DEFAULT_TAG,LOCAL_REGION from dmaa.models.utils.constants import FrameworkType,ServiceType,InstanceType from utils.common import str2bool from dmaa.utils.aws_service_utils import check_cn_region @@ -217,7 +217,7 @@ def download_s5cmd(): t0 = time.time() start_time = time.time() args = parse_args() - if not check_cn_region(args.region): + if not (check_cn_region(args.region) or args.region == LOCAL_REGION): download_s5cmd() extra_params = args.extra_params for k,v in extra_params.items(): From 19cef26e4db8aa00448aa55c9440b7aee4c49bad Mon Sep 17 00:00:00 2001 From: zhouxss Date: Wed, 19 Feb 2025 09:23:16 +0000 Subject: [PATCH 3/3] add disable_hf_transfer params to Model --- src/dmaa/models/model.py | 2 ++ src/pipeline/deploy/prepare_model.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dmaa/models/model.py b/src/dmaa/models/model.py index 4fcdb849..32987662 100644 --- a/src/dmaa/models/model.py +++ b/src/dmaa/models/model.py @@ -169,6 +169,8 @@ class Model(ModelBase,Generic[T]): # allow_china_region_ecs: bool = False huggingface_model_id: str = "" huggingface_endpoints: List[str] = ["https://huggingface.co","https://hf-mirror.com"] + disable_hf_transfer:bool = False + huggingface_model_download_kwargs: dict = Field(default_factory=dict) ollama_model_id:Union[str,None] = None require_huggingface_token: bool = False diff --git a/src/pipeline/deploy/prepare_model.py b/src/pipeline/deploy/prepare_model.py index 01a1e919..df1f9ee4 100644 --- a/src/pipeline/deploy/prepare_model.py +++ b/src/pipeline/deploy/prepare_model.py @@ -28,7 +28,8 @@ def enable_hf_transfer(): def download_huggingface_model(model:Model,model_dir=None): - enable_hf_transfer() + if not model.disable_hf_transfer: + enable_hf_transfer() huggingface_model_id = model.huggingface_model_id service_type = model.executable_config.current_service.service_type model_id = model.model_id