نشر النماذج باستخدام Azure CLI و Bicep

مهم

تم إلغاء إصدار SDK التجريبي لمعيار Azure AI Inference وسيتم إلغاؤه في 26 أغسطس 2026. انتقل إلى واجهة برمجة التطبيقات OpenAI/v1 المتوفرة عموما مع حزمة تطوير تطوير OpenAI مستقرة. اتبع دليل الترحيل للانتقال إلى OpenAI/v1، باستخدام SDK للغة البرمجة المفضلة لديك.

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

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

لإكمال هذا المقال، تحتاج إلى ما يلي:

  • قم بتثبيت Azure CLI (الإصدار 2.60 أو أحدث) وإضافة cognitiveservices.

    az extension add -n cognitiveservices
    
  • بعض الأوامر في هذا الدرس تستخدم الأداة jq ، وقد لا تكون مثبتة على نظامك. للحصول على تعليمات التثبيت، انظر تحميل jq.

  • حدد المعلومات التالية:

    • معرف اشتراكك في Azure

    • اسم مورد Foundry الخاص بك

    • مجموعة الموارد التي نشرت فيها مورد Foundry

إضافة النماذج

لإضافة نموذج، حدد أولا النموذج الذي تريد نشره. استعلام النماذج المتاحة كما يلي:

  1. سجل الدخول إلى اشتراكك في Azure.

    az login
    
  2. إذا كان لديك أكثر من اشتراك، اختر الاشتراك الذي يوجد فيه موردك.

    az account set --subscription $subscriptionId
    
  3. قم بتعيين المتغيرات البيئية التالية مع اسم مورد Foundry الذي تخطط لاستخدامه ومجموعة الموارد.

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. إذا لم تنشئ موردا من Foundry بعد، أنشئ واحدا.

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    

    المرجع: حساب az cognitiveservices

  5. تحقق من النماذج المتوفرة لك وتحت أي وحدة SKU. وحدات SKU، المعروفة أيضا باسم أنواع النشر، تحدد كيف تعالج البنية التحتية Azure الطلبات. قد تقدم النماذج أنواع نشر مختلفة. تسرد الأوامر التالية جميع تعريفات النماذج المتاحة:

    az cognitiveservices account list-models \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'
    

    تشمل النتائج نماذج متاحة بخصائصها:

    {
      "name": "Phi-4-mini-instruct",
      "format": "Microsoft",
      "version": "1",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    

    المرجع: az cognitiveservices account list-models

  6. حدد النموذج الذي تريد نشره. تحتاج إلى الخصائص name، format، version، و sku. العقار format يشير إلى مزود التقديم للنموذج. اعتمادا على نوع النشر، قد تحتاج أيضا إلى سعة كهربائية.

  7. أضف نشر النموذج إلى المورد. المثال التالي يضيف Phi-4-mini-instruct:

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-4-mini-instruct \
        --model-name Phi-4-mini-instruct \
        --model-version 1 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    

    المرجع: az cognitiveservices account deployment

  8. تحقق من اكتمال النشر بنجاح:

    az cognitiveservices account deployment show \
        --deployment-name Phi-4-mini-instruct \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.properties.provisioningState'
    

    يجب أن يظهر "Succeeded"الإخراج . النموذج جاهز للاستخدام بعد اكتمال التجهيز.

    المرجع: az cognitiveservices account list-models

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

استخدم النموذج

ملاحظة

هذا القسم مطابق لكل من نهجي CLI و Bicep.

يمكنك استهلاك النماذج المنشورة باستخدام نقاط النهاية لنماذج Foundry للمورد. عند بناء طلبك، حدد المعامل model وأدرج اسم نشر النموذج الذي أنشأته. يمكنك الحصول على URI لنقطة نهاية الاستدلال برمجيا باستخدام الكود التالي:

نقطة نهاية الاستدلال

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

لتقديم طلبات إلى نقطة نهاية نماذج الصاهر، أضف المسار models. على سبيل المثال: https://<resource>.services.ai.azure.com/models. راجع مرجع واجهة برمجة تطبيقات نموذج الذكاء الاصطناعي Azure لجميع العمليات المدعومة.

مفاتيح الاستدلال

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

إدارة عمليات النشر

يمكنك رؤية جميع عمليات النشر المتاحة باستخدام CLI:

  1. شغل الأمر التالي لرؤية جميع عمليات النشر النشطة:

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    

    المرجع: az cognitiveservices list deployment account

  2. يمكنك رؤية تفاصيل النشر المحدد:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-4-mini-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

    مرجع: az cognitiveservices account deployment show

  3. يمكنك حذف نشر معين كما يلي:

    az cognitiveservices account deployment delete \
        --deployment-name "Phi-4-mini-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

    المرجع: az cognitiveservices account deployment delete

  • قم بتثبيت Azure CLI.

  • حدد المعلومات التالية:

    • معرف اشتراكك في Azure
  • اسم مورد Foundry الخاص بك (المعروف سابقا باسم مورد Azure AI Services)

  • مجموعة الموارد التي يتم فيها نشر مورد Foundry

  • اسم الطراز، المزود، الإصدار، ووحدة التخزين التي تريد نشرها. يمكنك استخدام بوابة Foundry أو Azure CLI للعثور على هذه المعلومات. في هذا المثال، تقوم بنشر النموذج التالي:

    • اسم الطراز: Phi-4-mini-instruct
    • Provider: Microsoft
    • النسخة: 1
    • نوع النشر: المعيار العالمي

إعداد البيئة

المثال في هذا المقال يعتمد على عينات الشيفرة الموجودة في مستودع Azure-Samples/azureai-model-inference-beyesp. لتشغيل الأوامر محليا دون الحاجة لنسخ أو لصق محتوى الملف، قم باستنساخ المستودع:

git clone https://github.com/Azure-Samples/azureai-model-inference-bicep

الملفات الخاصة بهذا المثال موجودة في:

cd azureai-model-inference-bicep/infra

الأذونات المطلوبة للاشتراك في نماذج من الشركاء والمجتمع

نماذج المسبك من الشركاء والمجتمع المتاحة للنشر (مثل نماذج Cohere) تتطلب Azure Marketplace. يقوم مزودو النماذج بتحديد شروط الترخيص وتحديد سعر استخدام نماذجهم باستخدام Azure Marketplace.

عند نشر نماذج طرف ثالث، تأكد من وجود الأذونات التالية في حسابك:

  • عن اشتراك Azure:
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • بالنسبة لمجموعة الموارد — لإنشاء واستخدام مورد SaaS:
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

الأدوار المدمجة Owner وContributor المدمجة في اشتراك Azure تتضمن هذه الأذونات. إذا لم تكن لديك الأذونات المطلوبة، اطلب من مسؤول الاشتراك أن يخصص لك دور المساهم ، أو أنشئ دورا مخصصا يتضمن الإجراءات المدرجة.

للتحقق من صلاحياتك، اذهب إلى بوابة Azure، وافتح اشتراكك، واختر access control (IAM)>Check access، وراجع الأدوار المعينة لك.

نصيحة

Microsoft.SaaS/register/action هو تسجيل لمرة واحدة لمزود موارد SaaS على الاشتراك. بعد التسجيل، لا يحتاج إلى تكرار ذلك في كل نشر.

أضف النموذج

  1. استخدم القالب ai-services-deployment-template.bicep لوصف نشر النماذج:

    ai-services-deployment-template.bicep

    @description('Name of the Azure AI services account')
    param accountName string
    
    @description('Name of the model to deploy')
    param modelName string
    
    @description('Version of the model to deploy')
    param modelVersion string
    
    @allowed([
      'AI21 Labs'
      'Cohere'
      'Core42'
      'DeepSeek'
      'xAI'
      'Meta'
      'Microsoft'
      'Mistral AI'
      'OpenAI'
    ])
    @description('Model provider')
    param modelPublisherFormat string
    
    @allowed([
        'GlobalStandard'
        'DataZoneStandard'
        'Standard'
        'GlobalProvisioned'
        'Provisioned'
    ])
    @description('Model deployment SKU name')
    param skuName string = 'GlobalStandard'
    
    @description('Content filter policy name')
    param contentFilterPolicyName string = 'Microsoft.DefaultV2'
    
    @description('Model deployment capacity')
    param capacity int = 1
    
    resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = {
      name: '${accountName}/${modelName}'
      sku: {
        name: skuName
        capacity: capacity
      }
      properties: {
        model: {
          format: modelPublisherFormat
          name: modelName
          version: modelVersion
        }
        raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName
      }
    }
    
  2. شغل عملية النشر:

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-4-mini-instruct"
    PROVIDER="Microsoft"
    VERSION=1
    
    az deployment group create \
        --resource-group $RESOURCE_GROUP \
        --template-file ai-services-deployment-template.bicep \
        --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
    
  3. تحقق من اكتمال النشر بنجاح:

    az cognitiveservices account deployment show \
        --deployment-name $MODEL_NAME \
        -n $ACCOUNT_NAME \
        -g $RESOURCE_GROUP \
    | jq '.properties.provisioningState'
    

    يجب أن يظهر "Succeeded"الإخراج .

استخدم النموذج

ملاحظة

هذا القسم مطابق لكل من نهجي CLI و Bicep.

يمكنك استهلاك النماذج المنشورة باستخدام نقاط النهاية لنماذج Foundry للمورد. عند بناء طلبك، حدد المعامل model وأدرج اسم نشر النموذج الذي أنشأته. يمكنك الحصول على URI لنقطة نهاية الاستدلال برمجيا باستخدام الكود التالي:

نقطة نهاية الاستدلال

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

لتقديم طلبات إلى نقطة نهاية نماذج الصاهر، أضف المسار models. على سبيل المثال: https://<resource>.services.ai.azure.com/models. راجع مرجع واجهة برمجة تطبيقات نموذج الذكاء الاصطناعي Azure لجميع العمليات المدعومة.

مفاتيح الاستدلال

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

استكشاف الأخطاء

خطأ السبب الحل
تجاوز الحصة وصل اشتراكك إلى حصة النشر الخاصة بوحدة التخزين أو المنطقة المختارة. تحقق من حصتك في بوابة Foundry أو اطلب زيادة من خلال دعم Azure support.
فشل التفويض الهوية المستخدمة لا تحتوي على الدور المطلوب في RBAC. تعيين دور المساهم في الخدمات المعرفية على مورد Foundry.
النموذج غير متوفر الموديل غير متوفر في منطقتك أو في اشتراكك. اذهب az cognitiveservices account list-models للتحقق من النماذج والمناطق المتاحة.
لم يتم العثور على امتداد cognitiveservices امتداد CLI غير مثبت. قم بتشغيل az extension add -n cognitiveservices تركيب الامتداد.