Развертывание в конечную точку Microsoft Foundry или Azure Machine Learning Studio Online

Интерфейс командной строки разработчика Azure (azd) позволяет развертывать в конечной точке Студия машинного обучения Azure или Microsoft Foundry online. azd поддерживает следующие функции, которые описаны в следующих разделах:

Необходимые условия

Чтобы работать с Microsoft Foundry или Студия машинного обучения Azure сетевыми конечными точками, вам потребуется:

Шаблон Foundry Starter поможет создать всю необходимую инфраструктуру для начала работы с конечными точками Foundry.

Настройка сетевой конечной точки

Настройте поддержку сетевых конечных точек в services разделе azure.yaml файла:

  • host Задайте для параметра значение ai.endpoint.
  • Раздел config для ai.endpoint поддерживает следующие конфигурации:
    • workspace: имя рабочей области Microsoft Foundry. Поддерживает azd подстановки и синтаксис переменных среды.
      • Если не указано, azd ищет переменную среды с именем AZUREAI_PROJECT_NAME.
    • среда: необязательная настраиваемая конфигурация для сред машинного обучения. azd создает новую версию среды из определения файла YAML, на который ссылается ссылка.
    • flow: необязательная настраиваемая конфигурация для потоков. azd создает новый поток команд из указанного пути к файлу.
    • модель. Необязательная настраиваемая конфигурация для моделей машинного обучения. azd создает новую версию модели из определения файла YAML, на который ссылается ссылка.
    • развертывание: необходимая конфигурация для развертываний сетевых конечных точек. azd создает новое сетевое развертывание в связанной конечной точке в сети из определения файла YAML, на который ссылается ссылка.

Рассмотрим следующий пример azure.yaml файла, который настраивает следующие функции:

name: contoso-chat
metadata:
  template: contoso-chat@0.0.1-beta
services:
  chat:
    # Referenced new ai.endpoint host type
    host: ai.endpoint
    # New config flow for AI project configuration
    config:
      # The name of the Foundry workspace
      workspace: ${AZUREAI_PROJECT_NAME}
      # Optional: Path to custom ML environment manifest
      environment:
        path: deployment/docker/environment.yml
      # Optional: Path to your prompt flow folder that contains the flow manifest
      flow:
        path: ./contoso-chat
      # Optional: Path to custom model manifest
      model:
        path: deployment/chat-model.yaml
        overrides:
          "properties.azureml.promptflow.source_flow_id": ${AZUREAI_FLOW_NAME}
      # Required: Path to deployment manifest
      deployment:
        path: deployment/chat-deployment.yaml
        environment:
          PRT_CONFIG_OVERRIDE: deployment.subscription_id=${AZURE_SUBSCRIPTION_ID},deployment.resource_group=${AZURE_RESOURCE_GROUP},deployment.workspace_name=${AZUREAI_PROJECT_NAME},deployment.endpoint_name=${AZUREAI_ENDPOINT_NAME},deployment.deployment_name=${AZUREAI_DEPLOYMENT_NAME}

Этот config.deployment раздел является обязательным и создает новое сетевое развертывание в связанной конечной точке в сети из определения файла YAML, на который ссылается ссылка. Эта функция обрабатывает следующие функции:

  • Проводится ссылка на связанную среду и модель при их наличии.
  • azd Ожидает, пока развертывание войдет в состояние подготовки терминала.
  • При успешном развертывании весь трафик перенаправляется на новую версию развертывания.
  • Все предыдущие развертывания удаляются, чтобы освободить вычислительные ресурсы для будущих развертываний.

Изучение параметров конфигурации

Каждая поддерживаемая функция для конечных точек ai/ML online поддерживает настройки для конкретного сценария с помощью параметров, описанных в следующих разделах.

Течь

Раздел flow конфигурации необязателен и поддерживает следующие значения:

  • имя: имя потока. Значение по умолчанию — это <service-name>-flow-<timestamp>, если не указано.

  • путь: относительный путь к папке, содержащей манифест потока.

  • переопределения: любые пользовательские переопределения, применяемые к потоку.

    Заметка

    Каждый вызов azd deploy создаёт новый поток с временной меткой.

Окружающая среда

Раздел environment конфигурации необязателен и поддерживает следующие значения:

  • имя: имя настраиваемой среды. Значение по умолчанию — это <service-name>-environment, если не указано.

  • путь: относительный путь к файлу манифеста yaml пользовательской среды.

  • переопределения: любые настройки переопределения, применяемые к среде.

    Заметка

    Каждый вызов azd deploy создает новую версию среды.

Модель

Раздел model конфигурации необязателен и поддерживает следующие значения:

  • имя: имя настраиваемой модели. Значение по умолчанию — это <service-name>-model, если не указано.

  • путь: относительный путь к манифесту YAML пользовательской модели.

  • переопределения: любые настраиваемые переопределения, применяемые к модели.

    Заметка

    Каждый вызов azd deploy создает новую версию модели.

Развёртывание

Раздел deployment конфигурации является обязательным и поддерживает следующие значения:

  • имя: имя настраиваемого развертывания. Значение по умолчанию — это <service-name>-deployment, если не указано.

  • путь: относительный путь к пользовательскому yaml-файлу манифеста развертывания.

  • среда: карта пар "ключ-значение" для задания переменных среды для развертывания. Поддерживает подстановки переменных среды из переменных среды OS/AZD с помощью ${VAR_NAME} синтаксиса.

  • переопределения: любые пользовательские переопределения, применяемые к развертыванию.

    Заметка

    Поддерживает только управляемые сетевые развертывания.

AgentSchema и agent.yaml

AgentSchema — это открытая спецификация для определения агентов ИИ в формате YAML для кода. Файл agent.yaml описывает конфигурацию агента, включая ее модель, инструкции, средства и подключения. AgentSchema служит единым форматом обмена между Microsoft Copilot Studio, Microsoft Foundry и другими платформами.

AgentSchema поддерживает два основных формата:

  • AgentDefinition — полная конкретная спецификация агента, который можно выполнить напрямую. Используйте этот формат для агентов с одним назначением, где все значения конфигурации известны и исправлены.
  • AgentManifest — параметризованный шаблон для динамического создания агентов. Используйте этот формат для повторно используемых шаблонов агента, где значения, такие как имена моделей, подключения или инструкции, настраиваются во время выполнения с помощью {{parameter}} синтаксиса.

Пример agent.yaml

В следующем примере показано размещённое определение agent.yaml, которое azd может развернуть в Microsoft Foundry. Аннотация схемы вверху сообщает редакторам с поддержкой YAML, что нужно выполнять проверку по опубликованной схеме AgentSchema:

# yaml-language-server: $schema=https://raw.githubusercontent.com/microsoft/AgentSchema/refs/heads/main/schemas/v1.0/ContainerAgent.yaml

kind: hosted
name: customer-support
description: Handles customer inquiries and support requests
protocols:
  - protocol: responses
    version: v1
code_configuration:
  runtime: python_3_14
  entry_point: main.py

В этом примере используется блок code_configuration с kind: hosted, который сообщает azd упаковать ваш исходный код в ZIP-архив, позволяя Foundry управлять средой выполнения. Чтобы вместо этого развернуть готовый образ контейнера, замените code_configuration на поле image, указывающее на образ в Реестр контейнеров Azure.

Использование agent.yaml с azd

Схема azure.yaml поддерживает тип узла azure.ai.agent для развертывания агентов в Microsoft Foundry. Если для host задано значение azure.ai.agent, azd считывает файл agent.yaml в каталоге службы и использует его поле kind для определения способа развертывания агента. Дополнительные сведения см. в справочнике по схеме azure.yaml.

Поддерживаемые значения kind

Поле kind в верхней части agent.yaml служит для выбора конфигурации развертывания. azd Проверяет это поле по значениям в следующей таблице и отклоняет любое другое значение во время развертывания.

kind Что azd развертывает Когда использовать
hosted Агент, размещённый в Foundry. Подрежим развертывания зависит от полей, которые вы включаете в файл: добавьте code_configuration для развертывания кода (загрузка ZIP-архива, среда выполнения под управлением Foundry) или добавьте image для развертывания контейнера (ваш предварительно собранный образ из Реестр контейнеров Azure). Большинство агентов, созданных с помощью azd ai agent init. Используйте развертывание из кода, если хотите, чтобы Foundry управляла средой выполнения; используйте развертывание контейнера, если вам нужен полный контроль над образом.

Заметка

AgentSchema — это более широкая спецификация, чем та, которую azd развёртывает сегодня. Если в справочнике AgentSchema вы видите другие значения kind (например, определения агентов, использующие только промпт), эти форматы не поддерживаются azd и не принимаются azd deploy.

Дополнительные сведения об AgentSchema см. в следующих ресурсах:

Запрос помощи

Чтобы получить информацию о том, как сообщить об ошибке, запросить помощь или предложить новую функцию для интерфейса командной строки разработчика Azure (CLI), перейдите на страницу устранения неполадок и поддержки.