Поделиться через


Развёртывание моделей в качестве бессерверных API-развертываний

Это важно

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.

В этой статье вы узнаете, как развернуть модель Azure AI Foundry в качестве бессерверного развертывания API. Некоторые модели в каталоге моделей можно развернуть как бессерверное развертывание API. Такой тип развертывания позволяет использовать модели в качестве API без размещения их в подписке, сохраняя корпоративную безопасность и соответствие требованиям, необходимым организациям. Этот параметр развертывания не требует квоты из подписки.

Хотя развертывание бессерверного API является одним из вариантов развертывания моделей Azure AI Foundry, рекомендуется развернуть модели Foundry в ресурсах Azure AI Foundry.

Примечание.

Мы рекомендуем развернуть модели Azure AI Foundry в ресурсах Azure AI Foundry, чтобы вы могли использовать их развертывания через единый конечный пункт доступа с одинаковой аутентификацией и схемой для выполнения инференции. Конечная точка следует API предсказаний модели ИИ Azure, поддерживаемому всеми моделями Foundry. Сведения о развертывании модели Foundry в ресурсах Azure AI Foundry см. в статье "Добавление и настройка моделей в модели Azure AI Foundry".

Предпосылки

  • Подписка Azure с допустимым методом оплаты. Бесплатные или пробные подписки Azure не будут работать. Если у вас нет подписки Azure, создайте платную учетную запись Azure, чтобы начать работу.

  • Если у вас его нет, создайте проект на основе концентратора.

  • Убедитесь, что функция развертывания моделей в ресурсах Azure AI Foundry (предварительная версия) отключена на портале Azure AI Foundry. Если эта функция включена, на портале не доступны бессерверные развертывания API.

    Снимок экрана: портал Azure AI Foundry, показывающий, где отключить развертывание в ресурсах Azure AI Foundry.

  • Модели foundry от партнеров и сообщества требуют доступа к Azure Marketplace, в то время как модели Foundry , проданные непосредственно Azure , не имеют этого требования. Убедитесь, что у вас есть разрешения, необходимые для подписки на предложения моделей в Azure Marketplace.

  • Управление доступом на основе ролей Azure (Azure RBAC) используется для предоставления доступа к операциям на портале Azure AI Foundry. Чтобы выполнить действия, описанные в этой статье, учетная запись пользователя должна быть назначена роли разработчика ИИ Azure в группе ресурсов. Для получения дополнительной информации о разрешениях смотрите управление доступом на основе ролей в портале Azure AI Foundry.

  • Вы можете использовать любой совместимый веб-браузер для навигации по Azure AI Foundry.

Поиск модели в каталоге моделей

  1. Войдите в Azure AI Foundry.
  2. Если вы еще не находитесь в проекте, выберите его.
  3. Выберите каталог моделей в левой области.
  1. Выберите карточку модели модели, которую вы хотите развернуть. В этой статье вы выберете модель DeepSeek-R1 .

  2. Выберите "Использовать эту модель ", чтобы открыть окно развертывания БЕССерверных API , где можно просмотреть вкладку "Цены и условия ".

  3. В мастере развертывания дайте развертыванию название. Параметр фильтра содержимого (предварительная версия) включен по умолчанию. Оставьте параметр по умолчанию для службы, чтобы обнаружить вредное содержимое, например ненависть, самоповредение, сексуальное и насильственное содержимое. Дополнительные сведения о фильтрации содержимого см. на портале Azure AI Foundry.

    Снимок экрана: мастер развертывания для модели, проданной непосредственно в Azure.

Развертывание модели в бессерверном API

В этом разделе описано, как создать конечную точку для модели.

  1. В мастере развертывания выберите "Развернуть". Подождите, пока развертывание будет готово, и вы будете перенаправлены на страницу "Развертывания".

  2. Чтобы просмотреть конечные точки, развернутые в проекте, в разделе "Мои ресурсы " в левой области выберите "Модели и конечные точки".

  3. Созданная конечная точка использует проверку подлинности ключа для авторизации. Чтобы получить ключи, связанные с данной конечной точкой, выполните следующие действия.

    1. Выберите развертывание и запишите URI целевой точки и ключ конечной точки.

    2. Используйте эти учетные данные для вызова развертывания и создания прогнозов.

  4. Если вам нужно использовать это развертывание из другого проекта или центра, или вы планируете использовать Prompt Flow для создания интеллектуальных приложений, необходимо создать подключение к развертыванию бессерверного API. Сведения о настройке существующего бессерверного развертывания API в новом проекте или центре см. в разделе "Использование бессерверного API, развернутого в другом проекте или через поток запросов".

    Подсказка

    Если вы используете механизм запросов в том же проекте или центре, где проводилось развертывание, вам всё равно нужно создать подключение.

Использование развертывания бессерверного API

Модели, развернутые в Azure Machine Learning и Azure AI Foundry в бессерверных развертываниях API, поддерживают API вывода моделей Azure AI, которое предоставляет общий набор возможностей для базовых моделей и может использоваться разработчиками для получения прогнозов из различных моделей единообразно и последовательно.

Узнайте больше о возможностях этого API и о том, как его использовать при создании приложений.

Удаление конечных точек и подписок

Подсказка

Так как вы можете настроить левую панель на портале Azure AI Foundry, вы можете увидеть различные элементы, отличные от указанных в этих шагах. Если вы не видите, что вы ищете, выберите ... Подробнее в нижней части левой панели.

Вы можете удалить подписки и конечные точки модели. Удаление подписки на модель делает связанную конечную точку неработоспособной и непригодной для использования.

Чтобы удалить развертывание бессерверного API, выполните следующие действия.

  1. Перейдите в Azure AI Foundry.
  2. Перейдите к своему проекту.
  3. В разделе "Мои ресурсы" выберите "Модели и конечные точки".
  4. Откройте развертывание, которое нужно удалить.
  5. Выберите команду Удалить.

Чтобы удалить связанную подписку модели, выполните следующие действия.

  1. Перейдите на портал Azure.
  2. Перейдите в группу ресурсов, которой принадлежит проект.
  3. В фильтре типов выберите SaaS.
  4. Выберите подписку, которую нужно удалить.
  5. Выберите команду Удалить.
  • Чтобы работать с Azure AI Foundry, установите Azure CLI и расширение ml для Машинного обучения Azure.

    az extension add -n ml
    

    Если у вас уже установлено расширение, убедитесь, что установлена последняя версия.

    az extension update -n ml
    

    После установки расширения настройте его:

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

Поиск модели в каталоге моделей

  1. Войдите в Azure AI Foundry.
  2. Если вы еще не находитесь в проекте, выберите его.
  3. Выберите каталог моделей в левой области.
  1. Выберите карточку модели модели, которую вы хотите развернуть. В этой статье вы выберете модель DeepSeek-R1 .

  2. Скопируйте идентификатор модели без включения версии модели, так как развертывания API без сервера всегда развертывают последнюю версию модели. Например, для идентификатора azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1модели скопируйте azureml://registries/azureml-deepseek/models/DeepSeek-R1.

    Снимок экрана: страница сведений о модели для модели, проданной непосредственно в Azure.

Действия, описанные в этом разделе статьи, используют модель DeepSeek-R1 для иллюстрации. Эти шаги одинаковы, независимо от того, используете ли вы модели Foundry, проданные непосредственно Azure или Foundry Models от партнеров и сообщества. Например, если вы решили развернуть модель Cohere-command-r-08-2024, вы можете заменить учетные данные этой модели в фрагментах кода на учетные данные для Cohere.

Развертывание модели в бессерверном API

В этом разделе описано, как создать конечную точку для модели. Назовите конечную точку DeepSeek-R1-qwerty.

  1. Создайте бессерверную конечную точку.

    endpoint.yml

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

    Используйте файл endpoint.yml для создания конечной точки:

    az ml serverless-endpoint create -f endpoint.yml
    
  2. В любой момент вы можете увидеть конечные точки, развернутые для вашего проекта.

    az ml serverless-endpoint list
    
  3. Созданная конечная точка использует проверку подлинности ключа для авторизации. Чтобы получить ключи, связанные с данной конечной точкой, выполните следующие действия.

    az ml serverless-endpoint get-credentials -n DeepSeek-R1-qwerty
    
  4. Если вам нужно использовать это развертывание из другого проекта или центра, или вы планируете использовать Prompt Flow для создания интеллектуальных приложений, необходимо создать подключение к развертыванию бессерверного API. Сведения о настройке существующего бессерверного развертывания API в новом проекте или центре см. в разделе "Использование бессерверного API, развернутого в другом проекте или через поток запросов".

    Подсказка

    Если вы используете механизм запросов в том же проекте или центре, где проводилось развертывание, вам всё равно нужно создать подключение.

Использование развертывания бессерверного API

Модели, развернутые в Azure Machine Learning и Azure AI Foundry в бессерверных развёртываниях API, поддерживают API вывода моделей Azure AI, которые предоставляют общий набор возможностей для основных моделей и могут использоваться разработчиками для получения прогнозов от разнообразных моделей в единообразной и согласованной форме.

Узнайте больше о возможностях этого API и о том, как его использовать при создании приложений.

Удаление конечных точек и подписок

Вы можете удалить подписки и конечные точки модели. Удаление подписки на модель делает связанную конечную точку неработоспособной и непригодной для использования.

Чтобы удалить развертывание бессерверного API, выполните следующие действия.

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

Чтобы удалить связанную подписку модели, выполните следующие действия.

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • Чтобы работать с Azure AI Foundry, установите пакет SDK машинного обучения Azure для Python.

    pip install -U azure-ai-ml
    

    После установки импортируйте необходимые пространства имен и создайте клиент, подключенный к проекту:

    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>",
    )
    

Поиск модели в каталоге моделей

  1. Войдите в Azure AI Foundry.
  2. Если вы еще не находитесь в проекте, выберите его.
  3. Выберите каталог моделей в левой области.
  1. Выберите карточку модели модели, которую вы хотите развернуть. В этой статье вы выберете модель DeepSeek-R1 .

  2. Скопируйте идентификатор модели без включения версии модели, так как развертывания API без сервера всегда развертывают последнюю версию модели. Например, для идентификатора azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1модели скопируйте azureml://registries/azureml-deepseek/models/DeepSeek-R1.

    Снимок экрана: страница сведений о модели для модели, проданной непосредственно в Azure.

Действия, описанные в этом разделе статьи, используют модель DeepSeek-R1 для иллюстрации. Эти шаги одинаковы, независимо от того, используете ли вы модели Foundry, проданные непосредственно Azure или Foundry Models от партнеров и сообщества. Например, если вы решили развернуть модель Cohere-command-r-08-2024, вы можете заменить учетные данные этой модели в фрагментах кода на учетные данные для Cohere.

Развертывание модели в бессерверном API

В этом разделе описано, как создать конечную точку для модели. Назовите конечную точку DeepSeek-R1-qwerty.

  1. Создайте бессерверную конечную точку.

    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. В любой момент вы можете увидеть конечные точки, развернутые для вашего проекта.

    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. Созданная конечная точка использует проверку подлинности ключа для авторизации. Чтобы получить ключи, связанные с данной конечной точкой, выполните следующие действия.

    endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
    print(endpoint_keys.primary_key)
    print(endpoint_keys.secondary_key)
    
  4. Если вам нужно использовать это развертывание из другого проекта или центра, или вы планируете использовать Prompt Flow для создания интеллектуальных приложений, необходимо создать подключение к развертыванию бессерверного API. Сведения о настройке существующего бессерверного развертывания API в новом проекте или центре см. в разделе "Использование бессерверного API, развернутого в другом проекте или через поток запросов".

    Подсказка

    Если вы используете механизм запросов в том же проекте или центре, где проводилось развертывание, вам всё равно нужно создать подключение.

Использование развертывания бессерверного API

Модели, развернутые в системах Машинного обучения Azure и Azure AI Foundry в бессерверных развертываниях API, поддерживают API вывода моделей Azure AI, которые предоставляют общий набор возможностей для базовых моделей и которые могут использоваться разработчиками для получения прогнозов из разнообразных моделей однородным и согласованным образом.

Узнайте больше о возможностях этого API и о том, как его использовать при создании приложений.

Удаление конечных точек и подписок

Вы можете удалить подписки и конечные точки модели. Удаление подписки на модель делает связанную конечную точку неработоспособной и непригодной для использования.

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

Чтобы удалить связанную подписку модели, выполните следующие действия.

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • Чтобы работать с Azure AI Foundry, установите Azure CLI, как описано в Azure CLI.

    Настройте следующие переменные среды в соответствии с параметрами:

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

Поиск модели в каталоге моделей

  1. Войдите в Azure AI Foundry.
  2. Если вы еще не находитесь в проекте, выберите его.
  3. Выберите каталог моделей в левой области.
  1. Выберите карточку модели модели, которую вы хотите развернуть. В этой статье вы выберете модель DeepSeek-R1 .

  2. Скопируйте идентификатор модели без включения версии модели, так как развертывания API без сервера всегда развертывают последнюю версию модели. Например, для идентификатора azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1модели скопируйте azureml://registries/azureml-deepseek/models/DeepSeek-R1.

    Снимок экрана: страница сведений о модели для модели, проданной непосредственно в Azure.

Действия, описанные в этом разделе статьи, используют модель DeepSeek-R1 для иллюстрации. Эти шаги одинаковы, независимо от того, используете ли вы модели Foundry, проданные непосредственно Azure или Foundry Models от партнеров и сообщества. Например, если вы решили развернуть модель Cohere-command-r-08-2024, вы можете заменить учетные данные этой модели в фрагментах кода на учетные данные для Cohere.

Развертывание модели в бессерверном API

В этом разделе описано, как создать конечную точку для модели. Назовите конечную точку myserverless-text-1234ss.

  1. Создайте бессерверную конечную точку. Чтобы создать конечную точку, используйте следующий шаблон:

    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))
    var subscriptionName = '${modelName}-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
    

    Создайте развертывание следующим образом:

    az deployment group create --resource-group $RESOURCE_GROUP --template-file model-subscription.bicep
    
  2. В любой момент вы можете увидеть конечные точки, развернутые для вашего проекта.

    Средства управления ресурсами можно использовать для запроса ресурсов. В следующем коде используется Azure CLI:

    az resource list \
        --query "[?type=='Microsoft.MachineLearningServices/workspaces/serverlessEndpoints']"
    
  3. Созданная конечная точка использует проверку подлинности ключа для авторизации. Получите ключи, связанные с данной конечной точкой, с помощью REST API для запроса этих сведений.

  4. Если вам нужно использовать это развертывание из другого проекта или центра, или вы планируете использовать Prompt Flow для создания интеллектуальных приложений, необходимо создать подключение к развертыванию бессерверного API. Сведения о настройке существующего бессерверного развертывания API в новом проекте или центре см. в разделе "Использование бессерверного API, развернутого в другом проекте или через поток запросов".

    Подсказка

    Если вы используете механизм запросов в том же проекте или центре, где проводилось развертывание, вам всё равно нужно создать подключение.

Использование развертывания бессерверного API

Модели, развернутые в Azure Machine Learning и Azure AI Foundry в бессерверных API-развертываниях, поддерживают API вывода модели Azure, которое обеспечивает общий набор функций для базовых моделей и может использоваться разработчиками для получения прогнозов из различных моделей в единообразной и согласованной форме.

Узнайте больше о возможностях этого API и о том, как его использовать при создании приложений.

Удаление конечных точек и подписок

Вы можете удалить подписки и конечные точки модели. Удаление подписки на модель делает связанную конечную точку неработоспособной и непригодной для использования.

Средства управления ресурсами можно использовать для управления ресурсами. В следующем коде используется Azure CLI:

az resource delete --name <resource-name>

Рекомендации по затратам и квотам для моделей Foundry, развернутых в качестве бессерверного развертывания API

Квота изменяется для каждого развертывания. Каждое развертывание имеет ограничение трафика в 200 000 токенов в минуту и 1000 запросов API в минуту. Кроме того, в настоящее время мы ограничиваем одно развертывание для каждой модели для каждого проекта. Обратитесь в службу поддержки Microsoft Azure, если текущие ограничения трафика недостаточны для ваших сценариев.

  • Сведения о ценах для моделей, проданных непосредственно в Azure, можно найти на вкладке " Цены и условия " окна развертывания БЕССерверного API .

  • Модели от партнеров и сообщества предлагаются через Azure Marketplace и интегрированы с Azure AI Foundry для использования. Цены на Azure Marketplace можно найти при развертывании или тонкой настройке этих моделей. Каждый раз, когда проект подписывается на данное предложение из Azure Marketplace, создается новый ресурс для отслеживания затрат, связанных с его потреблением. Тот же ресурс используется для отслеживания затрат, связанных с выводом и настройкой; однако для отслеживания каждого сценария по отдельности можно использовать несколько счетчиков. Дополнительные сведения о том, как отслеживать затраты, см. в статье "Мониторинг затрат для моделей, предлагаемых через Azure Marketplace".

Разрешения, необходимые для подписки на предложения моделей

Управление доступом на основе ролей Azure (Azure RBAC) используется для предоставления доступа к операциям на портале Azure AI Foundry. Чтобы выполнить описанные в этой статье действия, у вашей учетной записи пользователя должна быть назначена роль Owner, Contributor или Azure AI Developer для этой подписки в Azure. Кроме того, вашей учетной записи может быть назначена настраиваемая роль, которая имеет следующие разрешения:

  • В подписке Azure необходимо подключить рабочую область к предложению Azure Marketplace, один раз для каждой рабочей области в рамках каждого предложения.

    • 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
  • В рабочей области — для развертывания конечных точек (роль специалиста по обработке и анализу данных машинного обучения Azure уже содержит эти разрешения):

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

Для получения дополнительной информации о разрешениях смотрите управление доступом на основе ролей в портале Azure AI Foundry.