Dela via


Distribuera modeller som serverlösa API-distributioner

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

I den här artikeln får du lära dig hur du distribuerar en Azure AI Foundry-modell som en serverlös API-distribution. Vissa modeller i modellkatalogen kan distribueras som en serverlös API-distribution. Den här typen av distribution erbjuder ett sätt att använda modeller som ett API utan att de behöver värdas i ditt abonnemang, samtidigt som den säkerhet och efterlevnad som företag behöver upprätthålls. Det här distributionsalternativet kräver inte kvot från din prenumeration.

Även om serverlös API-distribution är ett alternativ för att distribuera Azure AI Foundry Models rekommenderar vi att du distribuerar Foundry Models till Azure AI Foundry-resurser.

Anmärkning

Vi rekommenderar att du distribuerar Azure AI Foundry Models till Azure AI Foundry-resurser så att du kan använda dina distributioner i resursen via en enda slutpunkt med samma autentisering och schema för att generera slutsatsdragning. Slutpunkten följer azure AI-modellinferens-API:et som alla Foundry Models stöder. Information om hur du distribuerar en Foundry-modell till Azure AI Foundry-resurserna finns i Lägga till och konfigurera modeller i Azure AI Foundry Models.

Förutsättningar

  • En Azure-prenumeration med en giltig betalningsmetod. Kostnadsfria azure-prenumerationer eller utvärderingsprenumerationer fungerar inte. Om du inte har en Azure-prenumeration skapar du ett betalt Azure-konto för att börja.

  • Om du inte har något skapar du ett hubbbaserat projekt.

  • Kontrollera att funktionen Distribuera modeller till Azure AI Foundry-resurser (förhandsversion) är inaktiverad i Azure AI Foundry-portalen. När den här funktionen är aktiverad är serverlösa API-distributioner inte tillgängliga från portalen.

    En skärmbild av Azure AI Foundry-portalen som visar var du inaktiverar distribution till Azure AI Foundry-resurser.

  • Foundry-modeller från partner och community kräver åtkomst till Azure Marketplace, medan Foundry-modeller som säljs direkt av Azure inte har det här kravet. Se till att du har de behörigheter som krävs för att prenumerera på modellerbjudanden på Azure Marketplace.

  • Rollbaserade åtkomstkontroller i Azure (Azure RBAC) används för att ge åtkomst till åtgärder i Azure AI Foundry-portalen. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen Azure AI Developer i resursgruppen. Mer information om behörigheter finns i Rollbaserad åtkomstkontroll i Azure AI Foundry-portalen.

  • Du kan använda valfri kompatibel webbläsare för att navigera i Azure AI Foundry.

Hitta din modell i modellkatalogen

  1. Logga in på Azure AI Foundry.
  2. Om du inte redan är med i projektet väljer du det.
  3. Välj Modellkatalog i det vänstra fönstret.
  1. Välj modellkortet för den modell som du vill distribuera. I den här artikeln väljer du en DeepSeek-R1-modell .

  2. Välj Använd den här modellen för att öppna distributionsfönstret serverlöst API där du kan visa fliken Priser och villkor .

  3. Namnge distributionen i distributionsguiden. Alternativet Innehållsfilter (förhandsversion) är aktiverat som standard. Lämna standardinställningen för tjänsten för att identifiera skadligt innehåll som hat, självskadebeteende, sexuellt och våldsamt innehåll. Mer information om innehållsfiltrering finns i Innehållsfiltrering i Azure AI Foundry-portalen.

    Skärmbild som visar distributionsguiden för en modell som säljs direkt av Azure.

Distribuera modellen till ett serverlöst API

I det här avsnittet skapar du en slutpunkt för din modell.

  1. I distributionsguiden väljer du Distribuera. Vänta tills distributionen är klar och du omdirigeras till sidan Distributioner.

  2. Om du vill se slutpunkterna som distribueras till projektet går du till avsnittet Mina tillgångar i den vänstra rutan och väljer Modeller + slutpunkter.

  3. Den skapade slutpunkten använder nyckelautentisering för auktorisering. Följ dessa steg för att hämta de nycklar som är associerade med en viss slutpunkt:

    1. Välj distributionen och notera slutpunktens mål-URI och nyckel.

    2. Använd dessa autentiseringsuppgifter för att anropa distributionen och generera förutsägelser.

  4. Om du behöver använda den här distributionen från ett annat projekt eller en annan hubb, eller om du planerar att använda Prompt Flow för att skapa intelligenta program, måste du skapa en anslutning till den serverlösa API-distributionen. Information om hur du konfigurerar en befintlig serverlös API-distribution i ett nytt projekt eller en ny hubb finns i Använda distribuerad serverlös API-distribution från ett annat projekt eller från Prompt-flödet.

    Tips/Råd

    Om du använder Prompt flow i samma projekt eller nav där den har distribuerats, måste du fortfarande skapa anslutningen.

Använda den serverlösa API-distributionen

Modeller som distribueras i Azure Machine Learning och Azure AI Foundry i serverlösa API-distributioner stöder Azure AI Model Inference API som exponerar en gemensam uppsättning funktioner för grundläggande modeller och som kan användas av utvecklare för att använda förutsägelser från en mängd olika modeller på ett enhetligt och konsekvent sätt.

Läs mer om funktionerna i det här API:et och hur du kan använda det när du skapar program.

Ta bort slutpunkter och prenumerationer

Tips/Råd

Eftersom du kan anpassa det vänstra fönstret i Azure AI Foundry-portalen kan du se andra objekt än vad som visas i de här stegen. Om du inte ser det du letar efter väljer du ... Mer längst ned i det vänstra fönstret.

Du kan ta bort modellprenumerationer och slutpunkter. Att ta bort en modellprenumeration gör att en associerad slutpunkt blir Ohälsosam och oanvändbar.

Så här tar du bort en serverlös API-distribution:

  1. Gå till Azure AI Foundry.
  2. Gå till ditt projekt.
  3. I avsnittet Mina tillgångar väljer du Modeller + slutpunkter.
  4. Öppna den distribution som du vill ta bort.
  5. Välj Ta bort.

Så här tar du bort den associerade modellprenumerationen:

  1. Gå till Azure Portal
  2. Gå till den resursgrupp där projektet tillhör.
  3. I filtret Typ väljer du SaaS.
  4. Välj den prenumeration du vill ta bort.
  5. Välj Ta bort.
  • Om du vill arbeta med Azure AI Foundry installerar du Azure CLI och ML-tillägget för Azure Machine Learning.

    az extension add -n ml
    

    Om du redan har tillägget installerat kontrollerar du att den senaste versionen är installerad.

    az extension update -n ml
    

    När tillägget har installerats konfigurerar du det:

    az account set --subscription <subscription>
    az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
    

Hitta din modell i modellkatalogen

  1. Logga in på Azure AI Foundry.
  2. Om du inte redan är med i projektet väljer du det.
  3. Välj Modellkatalog i det vänstra fönstret.
  1. Välj modellkortet för den modell som du vill distribuera. I den här artikeln väljer du en DeepSeek-R1-modell .

  2. Kopiera modell-ID:t utan att inkludera modellversionen, eftersom serverlösa API-distributioner alltid distribuerar modellens senaste tillgängliga version. För modell-ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1:t kopierar du azureml://registries/azureml-deepseek/models/DeepSeek-R1till exempel .

    En skärmbild som visar en modells informationssida för en modell som säljs direkt av Azure.

Stegen i det här avsnittet i artikeln använder DeepSeek-R1-modellen som illustration. Stegen är desamma, oavsett om du använder Foundry Models som säljs direkt av Azure eller Foundry Models från partner och community. Om du till exempel väljer att distribuera modellen Cohere-command-r-08-2024 i stället kan du ersätta modellautentiseringsuppgifterna i kodfragmenten med autentiseringsuppgifterna för Cohere.

Distribuera modellen till ett serverlöst API

I det här avsnittet skapar du en slutpunkt för din modell. Ge slutpunkten namnet DeepSeek-R1-qwerty.

  1. Skapa den serverlösa slutpunkten.

    endpoint.yml

    name: DeepSeek-R1-qwerty
    model_id: azureml://registries/azureml-deepseek/models/DeepSeek-R1
    

    Använd endpoint.yml-filen för att skapa slutpunkten:

    az ml serverless-endpoint create -f endpoint.yml
    
  2. När som helst kan du se slutpunkterna som är distribuerade till projektet.

    az ml serverless-endpoint list
    
  3. Den skapade slutpunkten använder nyckelautentisering för auktorisering. Använd följande steg för att hämta de nycklar som är associerade med en viss slutpunkt.

    az ml serverless-endpoint get-credentials -n DeepSeek-R1-qwerty
    
  4. Om du behöver använda den här distributionen från ett annat projekt eller en annan hubb, eller om du planerar att använda Prompt Flow för att skapa intelligenta program, måste du skapa en anslutning till den serverlösa API-distributionen. Information om hur du konfigurerar en befintlig serverlös API-distribution i ett nytt projekt eller en ny hubb finns i Använda distribuerad serverlös API-distribution från ett annat projekt eller från Prompt-flödet.

    Tips/Råd

    Om du använder Prompt flow i samma projekt eller nav där den har distribuerats, måste du fortfarande skapa anslutningen.

Använda den serverlösa API-distributionen

Modeller som distribueras i Azure Machine Learning och Azure AI Foundry i serverlösa API-distributioner stöder Azure AI Model Inference API som exponerar en gemensam uppsättning funktioner för grundläggande modeller och som kan användas av utvecklare för att använda förutsägelser från en mängd olika modeller på ett enhetligt och konsekvent sätt.

Läs mer om funktionerna i det här API:et och hur du kan använda det när du skapar program.

Ta bort slutpunkter och prenumerationer

Du kan ta bort modellprenumerationer och slutpunkter. Att ta bort en modellprenumeration gör att en associerad slutpunkt blir Ohälsosam och oanvändbar.

Så här tar du bort en serverlös API-distribution:

az ml serverless-endpoint delete \
    --name "DeepSeek-R1-qwerty"

Så här tar du bort den associerade modellprenumerationen:

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • Om du vill arbeta med Azure AI Foundry installerar du Azure Machine Learning SDK för Python.

    pip install -U azure-ai-ml
    

    När du har installerat det importerar du nödvändiga namnområden och skapar en klient som är ansluten till projektet:

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    from azure.ai.ml.entities import MarketplaceSubscription, ServerlessEndpoint
    
    client = MLClient(
        credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
        subscription_id="<subscription-id>",
        resource_group_name="<resource-group>",
        workspace_name="<project-name>",
    )
    

Hitta din modell i modellkatalogen

  1. Logga in på Azure AI Foundry.
  2. Om du inte redan är med i projektet väljer du det.
  3. Välj Modellkatalog i det vänstra fönstret.
  1. Välj modellkortet för den modell som du vill distribuera. I den här artikeln väljer du en DeepSeek-R1-modell .

  2. Kopiera modell-ID:t utan att inkludera modellversionen, eftersom serverlösa API-distributioner alltid distribuerar modellens senaste tillgängliga version. För modell-ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1:t kopierar du azureml://registries/azureml-deepseek/models/DeepSeek-R1till exempel .

    En skärmbild som visar en modells informationssida för en modell som säljs direkt av Azure.

Stegen i det här avsnittet i artikeln använder DeepSeek-R1-modellen som illustration. Stegen är desamma, oavsett om du använder Foundry Models som säljs direkt av Azure eller Foundry Models från partner och community. Om du till exempel väljer att distribuera modellen Cohere-command-r-08-2024 i stället kan du ersätta modellautentiseringsuppgifterna i kodfragmenten med autentiseringsuppgifterna för Cohere.

Distribuera modellen till ett serverlöst API

I det här avsnittet skapar du en slutpunkt för din modell. Ge slutpunkten namnet DeepSeek-R1-qwerty.

  1. Skapa den serverlösa slutpunkten.

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  2. När som helst kan du se slutpunkterna som är distribuerade till projektet.

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  3. Den skapade slutpunkten använder nyckelautentisering för auktorisering. Använd följande steg för att hämta de nycklar som är associerade med en viss slutpunkt.

    endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
    print(endpoint_keys.primary_key)
    print(endpoint_keys.secondary_key)
    
  4. Om du behöver använda den här distributionen från ett annat projekt eller en annan hubb, eller om du planerar att använda Prompt Flow för att skapa intelligenta program, måste du skapa en anslutning till den serverlösa API-distributionen. Information om hur du konfigurerar en befintlig serverlös API-distribution i ett nytt projekt eller en ny hubb finns i Använda distribuerad serverlös API-distribution från ett annat projekt eller från Prompt-flödet.

    Tips/Råd

    Om du använder Prompt flow i samma projekt eller nav där den har distribuerats, måste du fortfarande skapa anslutningen.

Använda den serverlösa API-distributionen

Modeller som distribueras i Azure Machine Learning och Azure AI Foundry i serverlösa API-distributioner stöder Azure AI Model Inference API som exponerar en gemensam uppsättning funktioner för grundläggande modeller och som kan användas av utvecklare för att använda förutsägelser från en mängd olika modeller på ett enhetligt och konsekvent sätt.

Läs mer om funktionerna i det här API:et och hur du kan använda det när du skapar program.

Ta bort slutpunkter och prenumerationer

Du kan ta bort modellprenumerationer och slutpunkter. Att ta bort en modellprenumeration gör att en associerad slutpunkt blir Ohälsosam och oanvändbar.

client.serverless_endpoints.begin_delete(endpoint_name).wait()

Så här tar du bort den associerade modellprenumerationen:

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • Om du vill arbeta med Azure AI Foundry installerar du Azure CLI enligt beskrivningen i Azure CLI.

    Konfigurera följande miljövariabler enligt dina inställningar:

    RESOURCE_GROUP="serverless-models-dev"
    LOCATION="eastus2" 
    

Hitta din modell i modellkatalogen

  1. Logga in på Azure AI Foundry.
  2. Om du inte redan är med i projektet väljer du det.
  3. Välj Modellkatalog i det vänstra fönstret.
  1. Välj modellkortet för den modell som du vill distribuera. I den här artikeln väljer du en DeepSeek-R1-modell .

  2. Kopiera modell-ID:t utan att inkludera modellversionen, eftersom serverlösa API-distributioner alltid distribuerar modellens senaste tillgängliga version. För modell-ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1:t kopierar du azureml://registries/azureml-deepseek/models/DeepSeek-R1till exempel .

    En skärmbild som visar en modells informationssida för en modell som säljs direkt av Azure.

Stegen i det här avsnittet i artikeln använder DeepSeek-R1-modellen som illustration. Stegen är desamma, oavsett om du använder Foundry Models som säljs direkt av Azure eller Foundry Models från partner och community. Om du till exempel väljer att distribuera modellen Cohere-command-r-08-2024 i stället kan du ersätta modellautentiseringsuppgifterna i kodfragmenten med autentiseringsuppgifterna för Cohere.

Distribuera modellen till ett serverlöst API

I det här avsnittet skapar du en slutpunkt för din modell. Ge slutpunkten namnet myserverless-text-1234ss.

  1. Skapa den serverlösa slutpunkten. Använd följande mall för att skapa en slutpunkt:

    serverless-endpoint.bicep

    param projectName string = 'my-project'
    param endpointName string = 'myserverless-text-1234ss'
    param location string = resourceGroup().location
    param modelId string = 'azureml://registries/azureml-deepseek/models/DeepSeek-R1'
    
    var modelName = substring(modelId, (lastIndexOf(modelId, '/') + 1))
    // Replace period character which is used in some model names (and is not valid in the subscription name)
    var sanitizedModelName = replace(modelName, '.', '')
    var subscriptionName = '${sanitizedModelName}-subscription'
    
    resource projectName_endpoint 'Microsoft.MachineLearningServices/workspaces/serverlessEndpoints@2024-04-01-preview' = {
      name: '${projectName}/${endpointName}'
      location: location
      sku: {
        name: 'Consumption'
      }
      properties: {
        modelSettings: {
          modelId: modelId
        }
      }
      dependsOn: [
        projectName_subscription
      ]
    }
    
    output endpointUri string = projectName_endpoint.properties.inferenceEndpoint.uri
    

    Skapa distributionen på följande sätt:

    az deployment group create --resource-group $RESOURCE_GROUP --template-file model-subscription.bicep
    
  2. När som helst kan du se slutpunkterna som är distribuerade till projektet.

    Du kan använda resurshanteringsverktygen för att köra frågor mot resurserna. Följande kod använder Azure CLI:

    az resource list \
        --query "[?type=='Microsoft.MachineLearningServices/workspaces/serverlessEndpoints']"
    
  3. Den skapade slutpunkten använder nyckelautentisering för auktorisering. Hämta nycklarna som är associerade med den angivna slutpunkten med hjälp av REST-API:er för att fråga efter den här informationen.

  4. Om du behöver använda den här distributionen från ett annat projekt eller en annan hubb, eller om du planerar att använda Prompt Flow för att skapa intelligenta program, måste du skapa en anslutning till den serverlösa API-distributionen. Information om hur du konfigurerar en befintlig serverlös API-distribution i ett nytt projekt eller en ny hubb finns i Använda distribuerad serverlös API-distribution från ett annat projekt eller från Prompt-flödet.

    Tips/Råd

    Om du använder Prompt flow i samma projekt eller nav där den har distribuerats, måste du fortfarande skapa anslutningen.

Använda den serverlösa API-distributionen

Modeller som distribueras i Azure Machine Learning och Azure AI Foundry i serverlösa API-distributioner stöder Azure AI Model Inference API som exponerar en gemensam uppsättning funktioner för grundläggande modeller och som kan användas av utvecklare för att använda förutsägelser från en mängd olika modeller på ett enhetligt och konsekvent sätt.

Läs mer om funktionerna i det här API:et och hur du kan använda det när du skapar program.

Ta bort slutpunkter och prenumerationer

Du kan ta bort modellprenumerationer och slutpunkter. Att ta bort en modellprenumeration gör att en associerad slutpunkt blir Ohälsosam och oanvändbar.

Du kan använda resurshanteringsverktygen för att hantera resurserna. Följande kod använder Azure CLI:

az resource delete --name <resource-name>

Kostnads- och kvotöverväganden för Foundry-modeller som distribueras som en serverlös API-distribution

Kvot hanteras per utplacering. Varje distribution har en hastighetsgräns på 200 000 token per minut och 1 000 API-begäranden per minut. Dessutom begränsar vi för närvarande en distribution per modell per projekt. Kontakta Microsoft Azure Support om de aktuella hastighetsgränserna inte räcker för dina scenarier.

  • Du hittar prisinformation för modeller som säljs direkt av Azure på fliken Priser och villkor i fönstret Serverlös API-distribution .

  • Modeller från partner och community erbjuds via Azure Marketplace och integreras med Azure AI Foundry för användning. Du hittar priser för Azure Marketplace när du distribuerar eller finjusterar dessa modeller. Varje gång ett projekt prenumererar på ett visst erbjudande från Azure Marketplace skapas en ny resurs för att spåra de kostnader som är kopplade till förbrukningen. Samma resurs används för att spåra kostnader som är kopplade till slutsatsdragning och finjustering. Flera mätare är dock tillgängliga för att spåra varje scenario oberoende av varandra. Mer information om hur du spårar kostnader finns i Övervaka kostnader för modeller som erbjuds via Azure Marketplace.

Behörigheter som krävs för att prenumerera på modellerbjudanden

Rollbaserade åtkomstkontroller i Azure (Azure RBAC) används för att ge åtkomst till åtgärder i Azure AI Foundry-portalen. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen Ägare, Deltagare eller Azure AI Developer för Azure-prenumerationen. Alternativt kan ditt konto tilldelas en anpassad roll som har följande behörigheter:

  • I Azure-prenumerationen – för att ansluta arbetsytan till ett Azure Marketplace-erbjudande, en gång för varje arbetsyta, per erbjudande:

    • 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
  • I resursgruppen – för att skapa och använda SaaS-resursen:

    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write
  • På arbetsytan – för att distribuera slutpunkter (dataexpertrollen i Azure Machine Learning innehåller redan dessa behörigheter):

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

Mer information om behörigheter finns i Rollbaserad åtkomstkontroll i Azure AI Foundry-portalen.