Freigeben über


Bereitstellen von Microsoft Foundry Models mithilfe von Code

Hinweis

Dieses Dokument bezieht sich auf das Microsoft Foundry(klassische) Portal.

🔄 Wechseln Sie zur Microsoft Foundry-Dokumentation (neu), wenn Sie das neue Portal verwenden.

Hinweis

Dieses Dokument bezieht sich auf das Microsoft Foundry (neue) Portal.

Von Bedeutung

Wenn Sie derzeit ein Azure AI Inference Beta SDK mit Microsoft Foundry Models oder Azure OpenAI-Dienst verwenden, empfehlen wir dringend, dass Sie zur allgemein verfügbaren OpenAI/v1-API wechseln, die ein openAI stable SDK verwendet.

Weitere Informationen zum Migrieren zur OpenAI/v1-API mithilfe eines SDK in Ihrer gewünschten Programmiersprache finden Sie unter Migrate from Azure AI Inference SDK to OpenAI SDK.

Sie können entscheiden und konfigurieren, welche Modelle für die Ableitung in Ihrer Microsoft Foundry-Ressource verfügbar sind. Wenn Sie ein Modell konfigurieren, können Sie Vorhersagen daraus generieren, indem Sie den Modellnamen oder den Bereitstellungsnamen in Ihren Anforderungen angeben. Sie müssen keine weiteren Änderungen an Ihrem Code vornehmen, um das Modell zu verwenden.

In diesem Artikel erfahren Sie, wie Sie einem Foundry Models-Endpunkt ein neues Modell hinzufügen.

Voraussetzungen

Damit Sie die Anweisungen in diesem Artikel ausführen können, benötigen Sie Folgendes:

  • Installieren Sie die Azure CLI und die cognitiveservices Erweiterung für Foundry Tools.

    az extension add -n cognitiveservices
    
  • Einige der Befehle in diesem Lernprogramm verwenden das jq Tool, das möglicherweise nicht auf Ihrem System installiert ist. Die Installationsanweisungen finden Sie unter Download jq.

  • Ermitteln Sie die folgenden Informationen:

    • die Azure-Abonnement-ID

    • Foundry Tools Ressourcenname

    • Die Ressourcengruppe, in der Sie die Ressource "Foundry Tools" bereitgestellt haben.

Modelle hinzufügen

Um ein Modell hinzuzufügen, identifizieren Sie zuerst das Modell, das Sie bereitstellen möchten. Sie können die verfügbaren Modelle wie folgt abfragen:

  1. Melden Sie sich bei Ihrem Azure-Abonnement an.

    az login
    
  2. Wenn Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, in dem sich Ihre Ressource befindet.

    az account set --subscription $subscriptionId
    
  3. Legen Sie die folgenden Umgebungsvariablen mit dem Namen der Ressource "Foundry Tools" fest, die Sie verwenden möchten, und die Ressourcengruppe.

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Wenn Sie noch kein Foundry Tools-Konto erstellt haben, erstellen Sie ein Konto.

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    
  5. Überprüfen Sie, welche Modelle für Sie verfügbar sind und unter welcher SKU. SKUs, auch als Bereitstellungstypen bezeichnet, definieren, wie Azure-Infrastruktur zum Verarbeiten von Anforderungen verwendet wird. Modelle bieten möglicherweise unterschiedliche Bereitstellungstypen an. Der folgende Befehl listet alle verfügbaren Modelldefinitionen auf:

    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 }'
    
  6. Die Ausgabe sieht wie folgt aus:

    {
      "name": "Phi-3.5-vision-instruct",
      "format": "Microsoft",
      "version": "2",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    
  7. Identifizieren Sie das Modell, das Sie bereitstellen möchten. Sie benötigen die Eigenschaften name, format, version und sku. Die Eigenschaft format gibt den Anbieter an, der das Modell anbietet. Je nach Bereitstellungstyp benötigen Sie möglicherweise auch Kapazität.

  8. Fügen Sie der Ressource die Modellimplementierung hinzu. Im folgenden Beispiel wird Phi-3.5-vision-instruct hinzugefügt:

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-3.5-vision-instruct \
        --model-name Phi-3.5-vision-instruct \
        --model-version 2 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    
  9. Das Modell ist einsatzbereit.

Sie können dasselbe Modell bei Bedarf mehrmals bereitstellen, solange dies unter einem anderen Bereitstellungsnamen erfolgt. Diese Funktion kann nützlich sein, wenn Sie verschiedene Konfigurationen für ein bestimmtes Modell testen möchten, einschließlich Inhaltsfiltern.

Verwenden Sie das Modell

Bereitgestellte Modelle können mithilfe des Rückschlussendpunkts des Azure KI-Modells für die Ressource genutzt werden. Geben Sie beim Erstellen Ihrer Anforderung den Parameter model an, und fügen Sie den von Ihnen erstellten Namen der Modellimplementierung ein. Sie können den URI für den Rückschlussendpunkt mithilfe des folgenden Codes programmgesteuert abrufen:

Inference-Endpunkt

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

Um Anforderungen an den Microsoft Foundry Models-Endpunkt zu stellen, fügen Sie die Route modelsan, z. B https://<resource>.services.ai.azure.com/models. . . Die API-Referenz für den Endpunkt finden Sie auf der Referenzseite der Azure AI Model Inference-API.

Inferenzschlüssel

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

Verwalten von Bereitstellungen

Mithilfe der CLI können Sie alle verfügbaren Bereitstellungen anzeigen:

  1. Führen Sie den folgenden Befehl aus, um alle aktiven Bereitstellungen anzuzeigen:

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    
  2. Sie können die Details einer bestimmten Bereitstellung anzeigen:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    
  3. Sie können eine bestimmte Bereitstellung wie folgt löschen:

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

Sie können entscheiden und konfigurieren, welche Modelle für die Ableitung in Ihrer Microsoft Foundry-Ressource verfügbar sind. Wenn Sie ein Modell konfigurieren, können Sie Vorhersagen daraus generieren, indem Sie den Modellnamen oder den Bereitstellungsnamen in Ihren Anforderungen angeben. Sie müssen keine weiteren Änderungen an Ihrem Code vornehmen, um das Modell zu verwenden.

In diesem Artikel erfahren Sie, wie Sie einem Foundry Models-Endpunkt ein neues Modell hinzufügen.

Voraussetzungen

Damit Sie die Anweisungen in diesem Artikel ausführen können, benötigen Sie Folgendes:

  • Installieren Sie die Azure CLI.

  • Ermitteln Sie die folgenden Informationen:

    • die Azure-Abonnement-ID

    • Der Name Ihrer Microsoft Foundry-Ressource (früher azure AI Services-Ressource genannt).

    • Die Ressourcengruppe, in der die Foundry-Ressource bereitgestellt wird.

    • Der Modellname, Der Anbieter, die Version und die SKU, die Sie bereitstellen möchten. Sie können das Foundry-Portal oder die Azure CLI verwenden, um diese Informationen zu finden. In diesem Beispiel stellen Sie das folgende Modell bereit:

      • Modellname:: Phi-3.5-vision-instruct
      • Anbieter: Microsoft
      • Version:2
      • Bereitstellungstyp: Globaler Standard

Informationen zu diesem Tutorial

Das Beispiel in diesem Artikel basiert auf Codebeispielen, die im Repository Azure-Samples/azureai-model-inference-bicep enthalten sind. Wenn Sie die Befehle lokal ausführen möchten, ohne Dateiinhalte kopieren oder einfügen zu müssen, verwenden Sie die folgenden Befehle, um das Repository zu klonen und zum Ordner für Ihre Programmiersprache zu wechseln:

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

Die Dateien für dieses Beispiel befinden sich in:

cd azureai-model-inference-bicep/infra

Berechtigungen, die zum Abonnieren von Modellen von Partnern und der Community erforderlich sind

Foundry-Modelle von Partnern und der Community stehen für den die Bereitstellung zur Verfügung (zum Beispiel Cohere-Modelle) erfordern Azure Marketplace. Modellanbieter definieren die Lizenzbedingungen und legen den Preis für die Verwendung ihrer Modelle mithilfe von Azure Marketplace fest.

Stellen Sie beim Bereitstellen von Drittanbietermodellen sicher, dass Sie über die folgenden Berechtigungen in Ihrem Konto verfügen:

  • Im Azure-Abonnement:
    • 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
  • In der Ressourcengruppe zum Erstellen und Verwenden der SaaS-Ressource:
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

Hinzufügen des Modells

  1. Verwenden Sie die Vorlage ai-services-deployment-template.bicep, um Bereitstellungen von Modellen zu beschreiben.

    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. Führen Sie die Bereitstellung aus:

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-3.5-vision-instruct"
    PROVIDER="Microsoft"
    VERSION=2
    
    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
    

Verwenden Sie das Modell

Bereitgestellte Modelle können mithilfe des Rückschlussendpunkts des Azure KI-Modells für die Ressource genutzt werden. Geben Sie beim Erstellen Ihrer Anforderung den Parameter model an, und fügen Sie den von Ihnen erstellten Namen der Modellimplementierung ein. Sie können den URI für den Rückschlussendpunkt mithilfe des folgenden Codes programmgesteuert abrufen:

Inference-Endpunkt

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

Um Anforderungen an den Endpunkt "Foundry Models" zu senden, fügen Sie die Route models an, z. B. https://<resource>.services.ai.azure.com/models. Die API-Referenz für den Endpunkt finden Sie auf der Referenzseite der Azure AI Model Inference-API.

Inferenzschlüssel

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

Nächster Schritt