Desplegar en un punto de conexión en línea de Microsoft Foundry o Azure Machine Learning Studio

La CLI de Azure Developer (azd) le permite implementar en un punto de conexión en línea de Estudio de Azure Machine Learning o Microsoft Foundry. azd admite las siguientes características, que se describen en las secciones siguientes:

Prerrequisitos

Para trabajar con los puntos de conexión en línea de Microsoft Foundry o Azure Machine Learning Studio, necesitará:

La plantilla Foundry Starter puede ayudar a crear toda la infraestructura necesaria para empezar a trabajar con los puntos de conexión de Foundry.

Configuración del punto de conexión en línea

Configure la compatibilidad con puntos de conexión en línea en la services sección del azure.yaml archivo:

  • Establezca el valor de host a ai.endpoint.
  • La config sección para ai.endpoint admite las siguientes configuraciones:
    • workspace: el nombre del área de trabajo de Microsoft Foundry. Admite azd sustituciones y sintaxis de variables de entorno.
      • Si no se especifica, azd busca una variable de entorno con el nombre AZUREAI_PROJECT_NAME.
    • environment: configuración personalizada opcional para entornos de ML. azd crea una nueva versión de entorno a partir de la definición de archivo YAML a la que se hace referencia.
    • flow: configuración personalizada opcional para los flujos. azd crea un nuevo flujo de solicitud desde la ruta especificada del archivo.
    • model: configuración personalizada opcional para los modelos de ML. azd crea una nueva versión del modelo a partir de la definición de archivo YAML a la que se hace referencia.
    • implementación: configuración necesaria para las implementaciones de puntos de conexión en línea. azd crea una nueva implementación en línea en el punto de conexión en línea asociado a partir de la definición de archivo YAML a la que se hace referencia.

Tenga en cuenta el siguiente archivo de ejemplo azure.yaml que configura estas características:

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}

La config.deployment sección es necesaria y crea una nueva implementación en línea en el punto de conexión en línea asociado a partir de la definición de archivo YAML a la que se hace referencia. Esta funcionalidad controla lo siguiente:

  • Cuando esté disponible, se hace referencia al entorno y al modelo asociados.
  • azd espera a que la implementación entre en un estado de aprovisionamiento final.
  • En las implementaciones correctas, todo el tráfico se desplaza a la nueva versión de implementación.
  • Todas las implementaciones anteriores se eliminan para liberar recursos de computación para futuras implementaciones.

Explorar las opciones de configuración

Cada característica admitida para los puntos de conexión en línea de AI/ML admite personalizaciones para su escenario específico mediante las opciones descritas en las secciones siguientes.

Flujo

La flow sección de configuración es opcional y admite los siguientes valores:

  • name: nombre del flujo. El valor predeterminado es <service-name>-flow-<timestamp> si no se especifica.

  • path: ruta de acceso relativa a una carpeta que contiene el manifiesto de flujo.

  • sobrescrituras: Sobrescrituras personalizadas que se aplicarán al flujo.

    Nota:

    Cada llamada a azd deploy crea un nuevo flujo con marca de tiempo.

Medio ambiente

La environment sección de configuración es opcional y admite los siguientes valores:

  • name: el nombre del entorno personalizado. El valor predeterminado es <service-name>-environment si no se especifica.

  • path: ruta de acceso relativa a un manifiesto yaml de entorno personalizado.

  • invalidaciones: todas las invalidaciones personalizadas que se van a aplicar al entorno.

    Nota:

    Cada llamada a azd deploy crea una nueva versión del entorno.

Modelo

La model sección de configuración es opcional y admite los siguientes valores:

  • name: nombre del modelo personalizado. El valor predeterminado es <service-name>-model si no se especifica.

  • path: ruta de acceso relativa a un manifiesto YAML de modelo personalizado.

  • Sobredefiniciones: Cualquier sobredefinición personalizada que se aplicará al modelo.

    Nota:

    Cada llamada a azd deploy crea una nueva versión del modelo.

Despliegue

La deployment sección de configuración es necesaria y admite los siguientes valores:

  • name: nombre de la implementación personalizada. El valor predeterminado es <service-name>-deployment si no se especifica.

  • path: ruta de acceso relativa a un manifiesto yaml de implementación personalizado.

  • environment: mapa de pares clave-valor para establecer variables de entorno para la implementación. Admite sustituciones de variables de entorno de OS/AZD mediante la sintaxis ${VAR_NAME}.

  • sobrescrituras: Cualquier sobrescritura personalizada que se aplicará a la implementación.

    Nota:

    Solo admite implementaciones en línea administradas.

AgentSchema y agent.yaml

AgentSchema es una especificación abierta para definir agentes de IA en un formato YAML de código primero. Un agent.yaml archivo describe la configuración de un agente, incluido su modelo, instrucciones, herramientas y conexiones. AgentSchema actúa como un formato de intercambio unificado entre Microsoft Copilot Studio, Microsoft Foundry y otras plataformas.

AgentSchema admite dos formatos principales:

  • AgentDefinition : especificación completa y concreta de un agente que se puede ejecutar directamente. Use este formato para agentes de un solo propósito en los que se conocen y fijan todos los valores de configuración.
  • AgentManifest : plantilla parametrizada para crear agentes dinámicamente. Use este formato para patrones de agente reutilizables en los que los valores como los nombres de modelo, las conexiones o las instrucciones se configuran en tiempo de ejecución mediante {{parameter}} la sintaxis.

Por ejemplo, agent.yaml

En el ejemplo siguiente se muestra una definición alojada agent.yaml que azd puede implementar en Microsoft Foundry. La anotación del esquema en la parte superior indica a los editores compatibles con YAML que validen el archivo con respecto al AgentSchema publicado:

# 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

En este ejemplo se usa kind: hosted con un bloque code_configuration, que le indica a azd que empaquete el código fuente en un archivo ZIP y deje que Foundry gestione el entorno de ejecución. Para implementar una imagen de contenedor precompilada en su lugar, reemplace por code_configuration un image campo que apunte a una imagen en Azure Container Registry.

Uso de agent.yaml con azd

El esquema azure.yaml admite el tipo de host azure.ai.agent para implementar agentes en Microsoft Foundry. Cuando estableces host en azure.ai.agent, azd lee el archivo agent.yaml de tu directorio de servicio y usa su campo kind para determinar cómo desplegar el agente. Para más información, consulte la referencia de esquema azure.yaml.

Valores de kind admitidos

El campo kind, situado en la parte superior de agent.yaml, selecciona el tipo de implementación. azd valida este campo con los valores de la tabla siguiente y rechaza cualquier otro valor en tiempo de implementación.

kind Qué implementa azd Cuándo se deben usar
hosted Un agente hospedado en Foundry. El submódigo de implementación depende de los campos que incluya en el archivo: agregue code_configuration para la implementación de código (carga ZIP, tiempo de ejecución administrado por Foundry) o agregue image para la implementación de contenedores (la imagen precompilada de Azure Container Registry). La mayoría de los agentes creados por azd ai agent init. Use la implementación de código cuando quiera que Foundry administre el tiempo de ejecución; use la implementación del contenedor cuando necesite control total sobre la imagen.

Nota:

AgentSchema es una especificación más amplia que la que azd implementa hoy en día. Si encuentra otros valores de kind en la referencia de AgentSchema (por ejemplo, definiciones de agentes basadas únicamente en prompts), esos formatos no son compatibles con azd y azd deploy no los acepta.

Para obtener más información sobre AgentSchema, consulte los siguientes recursos:

Solicitar ayuda

Para obtener información sobre cómo archivar un error, solicitar ayuda o proponer una nueva característica para la CLI para desarrolladores de Azure, visite la página troubleshooting and support.