تحديث خدمة ويب منشورة (v1)

ينطبق على:ملحق Azure CLI ml v1Python SDK azureml v1

في هذه المقالة، ستتعرف على كيفية تحديث خدمة ويب تم نشرها باستخدام التعلم الآلي من Microsoft Azure.

المتطلبات الأساسية

  • تفترض هذه المقالة أنه سبق لك نشر خدمة ويب باستخدام التعلم الآلي من Microsoft Azure. إذا كنت بحاجة إلى معرفة كيفية نشر خدمة ويب، فاتبع هذه الخطوات.

  • تفترض القصاصات البرمجية في هذه المقالة أن ws المتغير قد تمت تهيئته بالفعل إلى مساحة عملك باستخدام الدالة الإنشائية Workflow() أو تحميل تكوين محفوظ باستخدام Workspace.from_config(). توضح القصاصة البرمجية التالية كيفية استخدام الدالة الإنشائية:

    ينطبق على:Python SDK azureml v1

    from azureml.core import Workspace
    ws = Workspace(subscription_id="mysubscriptionid",
                   resource_group="myresourcegroup",
                   workspace_name="myworkspace")
    

هام

تتطلب أوامر Azure CLI الواردة في هذه المقالة ملحق azure-cli-ml، أو الإصدار 1، التعلم الآلي من Microsoft Azure. سينتهي دعم ملحق الإصدار 1 في 30 سبتمبر 2025. ستتمكن من تثبيت ملحق v1 واستخدامه حتى ذلك التاريخ.

نوصي بالانتقال إلى ملحق ml أو الإصدار 2 قبل 30 سبتمبر 2025. لمزيد من المعلومات حول ملحق v2، راجع ملحق Azure ML CLI وPython SDK v2.

تحديث خدمة الويب

لتحديث خدمة ويب، استخدم الأسلوب update. يمكنك تحديث خدمة الويب لاستخدام نموذج جديد أو برنامج نصي للإدخال جديد أو تبعيات جديدة يمكن تحديدها في تكوين الاستدلال. لمزيد من المعلومات، راجع الوثائق الخاصة بـ Webservice.update.

راجع أسلوب تحديث خدمة AKS.

راجع أسلوب تحديث خدمة ACI.

هام

عند إنشاء إصدار جديد من نموذج، يجب تحديث كل خدمة تريد استخدامها يدوياً.

لا يمكنك استخدام SDK لتحديث خدمة ويب منشورة من مصمم التعلم الآلي من Microsoft Azure.

هام

تستخدم خدمة Azure Kubernetes برنامج تشغيل Blobfuse FlexVolume للإصدارات <=1.16 وبرنامج تشغيل Blob CSI للإصدارات >=1.17.

لذلك، من المهم إعادة نشر أو تحديث خدمة الويب بعد ترقية نظام المجموعة من أجل النشر لتصحيح أسلوب blobfuse لإصدار نظام المجموعة.

ملاحظة

عندما تكون العملية قيد التقدم بالفعل، ستستجيب أي عملية جديدة على نفس خدمة الويب هذه بخطأ تعارض 409. على سبيل المثال، إذا كانت عملية إنشاء خدمة ويب أو تحديثها قيد التقدم وحال تشغيل عملية حذف جديدة، فسيحدث خطأ.

استخدام SDK

توضح التعليمات البرمجية التالية كيفية استخدام SDK لتحديث النموذج والبيئة والبرنامج النصي للإدخال لخدمة ويب:

ينطبق على:Python SDK azureml v1

from azureml.core import Environment
from azureml.core.webservice import Webservice
from azureml.core.model import Model, InferenceConfig

# Register new model.
new_model = Model.register(model_path="outputs/sklearn_mnist_model.pkl",
                           model_name="sklearn_mnist",
                           tags={"key": "0.1"},
                           description="test",
                           workspace=ws)

# Use version 3 of the environment.
deploy_env = Environment.get(workspace=ws,name="myenv",version="3")
inference_config = InferenceConfig(entry_script="score.py",
                                   environment=deploy_env)

service_name = 'myservice'
# Retrieve existing service.
service = Webservice(name=service_name, workspace=ws)



# Update to new model(s).
service.update(models=[new_model], inference_config=inference_config)
service.wait_for_deployment(show_output=True)
print(service.state)
print(service.get_logs())

استخدام CLI

يمكنك أيضاً تحديث خدمة ويب باستخدام ML CLI. يوضح المثال التالي تسجيل نموذج جديد ثم تحديث خدمة ويب لاستخدام النموذج الجديد:

ينطبق على:إضافة Azure CLI ml v1

az ml model register -n sklearn_mnist  --asset-path outputs/sklearn_mnist_model.pkl  --experiment-name myexperiment --output-metadata-file modelinfo.json
az ml service update -n myservice --model-metadata-file modelinfo.json

تلميح

في هذا المثال، يتم استخدام مستند JSON لتمرير معلومات النموذج من أمر التسجيل إلى أمر التحديث.

لتحديث الخدمة لاستخدام برنامج نصي أو بيئة إدخال جديدة، أنشئ ملف تكوين الاستدلال وحدده باستخدام المعلمة ic.

لمزيد من المعلومات، راجع وثائق تحديث خدمة az ml.

الخطوات التالية