Управление сеансом вычислений потока запросов в Azure Machine Learning Studio

Предупреждение

Разработка функций потока запросов закончилась 20 апреля 2026 г. Функция будет полностью прекращена 20 апреля 2027 г. В дату выхода на пенсию, Prompt Flow переходит в режим только для чтения. Существующие потоки будут продолжать работать до этой даты.

Рекомендуемое действие: Перенесите рабочие нагрузки Prompt Flow на Microsoft Agent Framework до 20 апреля 2027 г.

Сеанс вычислений потока запросов предоставляет вычислительные ресурсы, необходимые для запуска приложения, включая образ Docker со всеми необходимыми пакетами зависимостей. Эта надежная, масштабируемая среда позволяет оперативно и эффективно выполнять процессы и функции, обеспечивая бесшовный пользовательский опыт.

Разрешения и роли для управления сеансами вычислений

Чтобы назначить роли, необходимо разрешение owner или Microsoft.Authorization/roleAssignments/write на ресурс.

Для пользователей сеанса вычислений назначьте роль AzureML Специалист по обработке и анализу данных в рабочей области. Дополнительные сведения см. в статье Управление доступом к рабочей области Машинное обучение Azure.

Назначение ролей может занять несколько минут, прежде чем оно вступит в силу.

Запуск сеанса вычислений в студии

Прежде чем использовать Студия машинного обучения Azure для запуска сеанса вычислений, убедитесь, что:

  • У вас есть роль AzureML Специалист по обработке и анализу данных в рабочей области.
  • Хранилище данных по умолчанию (обычно workspaceblobstore) в рабочей области имеет тип объекта Blob.
  • Рабочий каталог (workspaceworkingdirectory) существует в рабочей области.
  • Если вы используете виртуальную сеть для потока запросов, вы понимаете рекомендации по изоляции сети в потоке запросов.

Запуск сеанса вычислений на странице потока

Каждый поток привязывается к одному вычислительному сеансу. Запустите вычислительный сеанс на странице с потоками.

  • Нажмите кнопку "Пуск". Запустите вычислительный сеанс с помощью среды, определенной в flow.dag.yaml папке потока. Он выполняется на виртуальной машине с мощностью бессерверных вычислений, если в рабочей области имеется достаточная квота.

    Снимок экрана: поток запроса с параметрами по умолчанию для запуска сеанса вычислений на странице потока.

  • Выберите "Начать с дополнительных параметров". В расширенных параметрах можно:

    • Выберите тип вычислений. Вы можете выбрать между бессерверными вычислениями и вычислительным экземпляром.
      • При выборе бессерверных вычислений можно задать следующие параметры:

        • Настройте размер виртуальной машины, используемой сеансом вычислений. Выберите серии D и более поздних версий виртуальных машин. Дополнительные сведения см. в разделе о поддерживаемых рядах и размерах виртуальных машин.
        • Настройте время простоя, которое автоматически удаляет сеанс вычислений, если он не используется в течение некоторого времени.
        • Задайте управляемое удостоверение, назначаемое пользователем. Сеанс вычислений использует эти учетные данные для извлечения базового образа, аутентификации с подключением и установки пакетов. Убедитесь, что назначенное пользователем управляемое удостоверение имеет достаточные разрешения. Если это удостоверение не задано, по умолчанию используется удостоверение пользователя.

        Снимок экрана: поток запроса с расширенными параметрами с использованием бессерверных вычислений для запуска сеанса вычислений на странице потока.

        az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>
        

        Где содержимое workspace_update_with_multiple_UAIs.yml выглядит следующим образом:

        identity:
           type: system_assigned, user_assigned
           user_assigned_identities:
            '/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai_name>': {}
            '<UAI resource ID 2>': {}
        

        Совет

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

        Ресурс Разрешение
        Рабочая область Машинное обучение Azure Автор
        служба хранилища Azure Участник (плоскость управления) + Участник данных хранилища Blob + Привилегированный участник данных хранилища файлов (плоскость данных, доступ к черновикам потока в общей папке и данным в Blob)
        Azure Key Vault (при использовании модели разрешений политик политик доступа) Участник и все разрешения политики доступа, кроме операций очистки, по умолчанию, это режим для связанных Azure Key Vault.
        Azure Key Vault (при использовании модели разрешений RBAC) Участник (плоскость управления) + администратор Key Vault (плоскость данных)
        Реестр контейнеров Azure Автор
        служба приложение Azure Insights Автор

        Примечание

        Для отправки задания требуется assign разрешение на управляемое удостоверение, назначаемое пользователем. Назначьте роль Managed Identity Operator, так как при каждом создании бессерверного сеанса вычислений управляемое удостоверение, назначенное пользователем, назначается вычислению.

      • При выборе вычислительного экземпляра в качестве типа вычислений можно задать только время простоя.

        • Так как он выполняется в существующем вычислительном экземпляре, размер виртуальной машины фиксирован и не может быть изменен во время сеанса.

        • Идентификатор, используемый для этого сеанса, также определяется в вычислительном узле; по умолчанию используется идентификатор пользователя. Дополнительные сведения о назначении удостоверения вычислительной среде

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

          Снимок экрана: поток запроса с расширенными параметрами с помощью вычислительного экземпляра для запуска сеанса вычислений на странице потока.

        • Дополнительные сведения о создании и управлении вычислительными инстанциями

Использование вычислительного сеанса для отправки потока в CLI/SDK

Помимо работы с Studio, укажите вычислительную сессию в CLI или SDK при запуске потока.

Укажите тип экземпляра или имя вычислительного экземпляра в разделе ресурса. Если тип экземпляра или имя вычислительного экземпляра не указано, Машинное обучение Azure выбирает тип экземпляра (размер виртуальной машины) на основе таких факторов, как квота, стоимость, производительность и размер диска. Дополнительные сведения о бессерверных вычислениях.

$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path_to_flow>
data: <path_to_flow>/data.jsonl

# specify identity used by serverless compute.
# default value
# identity:
#   type: user_identity 

# use workspace first UAI
# identity:
#   type: managed
  
# use specified client_id's UAI
# identity:
#   type: managed
#   client_id: xxx

column_mapping:
  url: ${data.url}

# define cloud resource

resources:
  instance_type: <instance_type> # serverless compute type
  # compute: <compute_instance_name> # use compute instance as compute type

Отправьте этот запуск через CLI:

pfazure run create --file run.yml

Примечание

Автоматическое завершение работы происходит через один час, если вы отправляете запуск потока с использованием CLI/SDK. Вы можете перейти на страницу вычислений, чтобы освободить вычислительные ресурсы.

Ссылки на файлы за пределами папки потока

Иногда может потребоваться ссылаться на requirements.txt файл, который находится за пределами папки потока. Например, у вас может быть сложный проект, включающий несколько потоков, и они используют один и тот же requirements.txt файл. Для этого добавьте additional_includes поле в поле flow.dag.yaml. Значение этого поля — это список относительных путей к файлам или папкам потока. Например, если requirements.txt находится в родительской папке папки потока, можно добавить ../requirements.txt в additional_includes поле.

inputs:
  question:
    type: string
outputs:
  output:
    type: string
    reference: ${answer_the_question_with_context.output}
environment:
  python_requirements_txt: requirements.txt
additional_includes:
  - ../requirements.txt
...

Файл requirements.txt копируется в папку потока и используется для запуска сеанса вычислений.

Обновление вычислительного сеанса на странице потока студии

На странице потока используйте следующие параметры для управления сеансом вычислений:

  • Изменение параметров сеанса вычислений: изменение параметров, таких как размер виртуальной машины или управляемое удостоверение, назначаемое пользователем для бессерверных вычислений. Если вы используете вычислительный экземпляр, переключитесь на другой экземпляр.
  • При изменении размера виртуальной машины сеанс вычислений перезапускается с новым размером.
  • Установите пакеты из requirements.txt: откройте requirements.txt в пользовательском интерфейсе потока запроса и добавьте пакеты.
  • Просмотр установленных пакетов: отображает пакеты, установленные в сеансе вычислений, включая пакеты в базовом образе и указанные в requirements.txt файле в папке потока.
  • Сброс вычислительного сеанса удаляет текущий вычислительный сеанс и создает новый с той же средой. Если возникла проблема с конфликтом пакетов, можно попробовать этот параметр.
  • Остановка сеанса вычислений удаляет текущий вычислительный сеанс. Если в базовом вычислении нет активного сеанса вычислений, то бессерверный вычислительный ресурс также будет удален.

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

Вы также можете настроить окружение, используемое для выполнения этого потока, добавив пакеты в файле в requirements.txt папке потока. После добавления дополнительных пакетов в этот файл можно выбрать один из следующих вариантов:

  • Сохраните и установите триггеры pip install -r requirements.txt в папке потока. Процесс может занять несколько минут в зависимости от установленных пакетов.
  • Сохранение только сохраняет requirements.txt файл. Вы можете установить пакеты позже.

Снимок экрана: опция сохранения и установки пакетов для вычислительного сеанса на странице потока.

Примечание

Вы можете изменить расположение и даже имя requirements.txtфайла, но не забудьте также изменить его в flow.dag.yaml файле в папке потока.

Не крепите версии promptflow и promptflow-tools в requirements.txt, потому что они уже включены в базовый образ сеанса.

requirements.txt не поддерживает локальные wheel файлы. Создайте их по вашему образу и обновите базовый образ с пользовательскими настройками в flow.dag.yaml. Узнайте больше о том, как создать пользовательский базовый образ.

Добавление пакетов в частный канал в Azure DevOps

Если вы хотите использовать частный веб-канал в Azure DevOps, выполните следующие действия.

  1. Назначьте управляемое удостоверение рабочей области или вычислительной единице.

    1. Если вы используете бессерверные вычисления в качестве сеанса вычислений, назначьте управляемое удостоверение, назначаемое пользователем, рабочей области.

      1. Создайте управляемое удостоверение, назначаемое пользователем, и добавьте его в организацию Azure DevOps. Дополнительные сведения см. в разделе Использование субъектов-служб и управляемых удостоверений.

        Примечание

        Если кнопка "Добавить пользователей " не отображается, у вас, вероятно, нет необходимых разрешений для выполнения этого действия.

      2. Добавьте или обновите Идентификаторы, назначенные пользователями, в рабочей области.

        Примечание

        Убедитесь, что управляемое удостоверение, назначаемое пользователем, имеет Microsoft.KeyVault/vaults/read в хранилище ключей, связанное с рабочей областью.

    2. Если вы используете вычислительный экземпляр в качестве экземпляра вычислительной сессии, назначьте управляемую удостоверение, назначаемую пользователем, вычислительному экземпляру.

  2. Добавьте {private} в URL-адрес частного веб-канала. Например, если вы хотите установить test_package из test_feed в Azure DevOps, добавьте -i https://{private}@{test_feed_url_in_azure_devops} в requirements.txt:

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  3. Укажите управляемое удостоверение, назначаемое пользователем, в конфигурации сеанса вычислений.

    1. При использовании безсерверных вычислительных ресурсов укажите назначенное пользователем управляемое удостоверение в Начать с расширенными настройками, если вычислительный сеанс не запущен, или нажмите кнопку Изменить параметры сеанса вычислений, если сеанс вычислений выполняется.

      Снимок экрана: переключатель для использования управляемого удостоверения, назначаемого пользователем рабочей области.

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

Примечание

Этот подход в основном посвящён быстрому тестированию на этапе разработки потока. Если вы также хотите развернуть этот поток в качестве конечной точки, создайте эту приватную ленту в образе и обновите настроенный базовый образ в flow.dag.yaml. Узнайте больше о создании пользовательского базового образа

Изменение базового образа для сеанса вычислений

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

  • В Studio вы можете изменить базовый образ в настройках сеанса вычислений.

Снимок экрана: изменение базового образа сеанса вычислений на странице потока.

  • Вы также можете указать новый базовый образ environment в flow.dag.yaml файле в папке потока.

    Снимок экрана действий по персонализации базового образа для вычислительного сеанса на странице рабочего потока.

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

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

Управление бессерверным экземпляром, используемым сеансом вычислений

Используйте серверные вычисления без сервера в качестве сессии для управления бессерверным экземпляром. Просмотрите бессерверный экземпляр на вкладке списка сеансов вычислений на странице вычислений.

Снимок экрана: список безсерверных экземпляров.

Доступ к потокам и запуску вычислений на вкладке "Активные потоки" и "Запуски ". Удаление экземпляра влияет на потоки и выполняется на нем.

Снимок экрана: страница сведений о вычислениях для бессерверного экземпляра.

Связь между сеансом вычислений, вычислительным ресурсом, потоком и пользователем

  • Один пользователь может иметь несколько вычислительных ресурсов (бессерверный или вычислительный экземпляр). Например, у пользователя могут быть вычислительные ресурсы с разными размерами виртуальных машин или управляемыми удостоверениями, назначаемыми пользователем.
  • Вычислительный ресурс может использоваться только одним пользователем. Он выступает в качестве частного поля разработки для этого пользователя. Несколько пользователей не могут совместно использовать один вычислительный ресурс.
  • Вычислительный ресурс может размещать несколько сеансов вычислений. Сеанс вычислений — это контейнер, работающий на базовом вычислительном ресурсе. Например, для разработки потока запросов не требуется много вычислительных ресурсов, поэтому один вычислительный ресурс может размещать несколько сеансов вычислений для одного пользователя.
  • Вычислительный сеанс принадлежит только одному вычислительному ресурсу за раз. Вы можете удалить или остановить сеанс вычислений и перераспределить его на другой вычислительный ресурс.
  • Поток может иметь только один сеанс вычислений. Каждый поток является автономным и определяет базовый образ и необходимые пакеты Python в папке потока для сеанса вычислений.

Переключение среды выполнения на сеанс вычислений

Вычислительные сеансы предоставляют следующие преимущества по сравнению с временем выполнения экземпляров вычислений:

  • Автоматическое управление жизненным циклом сеансов и базовых вычислений. Вам больше не нужно создавать или управлять ими вручную.
  • Легко настраивать пакеты, добавляя их в файл requirements.txt в каталоге потока, вместо создания пользовательской среды.

Переключите среду выполнения вычислительного экземпляра на сеанс вычислений, выполнив следующие действия.

  • requirements.txt Подготовьте файл в папке потока. Не закрепляйте версии promptflow и promptflow-tools в requirements.txt, так как они уже включены в базовый образ. Сеанс вычислений устанавливает пакеты, указанные в файле requirements.txt, при запуске.
  • Если вы создаете настраиваемую среду для среды выполнения вычислительного экземпляра, получите изображение на странице сведений о среде и укажите его в flow.dag.yaml файле в папке потока. Дополнительные сведения см. в разделе "Изменение базового образа для сеанса вычислений". Убедитесь, что вы или управляемое удостоверение, назначенное пользователем, в рабочей области имеет acr pull разрешение на использование образа.

Снимок экрана: поиск изображения на странице сведений о среде.

  • Для вычислительного ресурса продолжайте использовать существующий вычислительный экземпляр для управления жизненным циклом вручную или попробуйте бессерверные вычисления, управляемые системой.

Дальнейшие действия