Esquema YAML de plantilla de implementación de la CLI (v2)

APPLIES TO:CLI de Azure ml extensión v2 (actual)

El esquema JSON de origen se puede encontrar en https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json.

Note

La sintaxis de YAML que se detalla en este documento se basa en el esquema JSON de la versión más reciente de la extensión ML de la CLI v2. Se garantiza que esta sintaxis solo funciona con la versión más reciente de la extensión ML de la CLI v2. Dispone de los esquemas de las versiones de anteriores de la extensión en https://azuremlschemasprod.azureedge.net/.

Sintaxis de YAML

Key Tipo Descripción Valores permitidos Valor predeterminado
$schema string Esquema de YAML. Si usa la extensión de VS Code de Azure Machine Learning para crear el archivo YAML, incluida $schema en la parte superior del archivo le permite invocar finalizaciones de esquema y recursos.
name string Required. Nombre de la plantilla de implementación.
version string o integer Versión de la plantilla de implementación.
description string Descripción de la plantilla de implementación.
display_name string Nombre para mostrar de la plantilla de implementación. Lo usan las superficies de interfaz de usuario (como el portal de Foundry) para presentar una etiqueta fácil a los consumidores cuando eligen una plantilla de implementación.
tags object Diccionario de etiquetas para la plantilla de implementación.
type string Tipo de la plantilla de implementación.
deployment_template_type string Required. Tipo de plantilla de implementación. "Administrado" es el único valor permitido actualmente.
environment string Required. Entorno que se va a usar para la plantilla de implementación. Este valor debe ser una referencia a un entorno con versiones existente en un registro. Use la azureml://registries/<registry-name>/environments/<environment-name>/versions/<version> sintaxis .

Nota: Los entornos con ámbito de área de trabajo (con azureml:<name>:<version> sintaxis) y las definiciones de entorno insertadas no se admiten para las plantillas de implementación.
environment_variables object Diccionario de pares clave-valor de variable de entorno que se van a establecer para la implementación. Puede acceder a estas variables de entorno desde los scripts de puntuación.
instance_count integer Required. El número de instancias que se usarán para la implementación. Especifique el valor en función de la carga de trabajo que espera.
default_instance_type string Required. Tipo de instancia predeterminado que se va a usar al implementar con esta plantilla.
allowed_instance_types lista de cadenas Los tipos de instancia que los consumidores pueden establecer cuando implementan un modelo que usa esta plantilla. Especifique los tipos de instancia como una lista de cadenas.
model_mount_path string Ruta de acceso para montar el modelo en el contenedor.
scoring_path string Required. Ruta de acceso para el punto de conexión de puntuación.
scoring_port integer Required. Puerto del punto de conexión de puntuación.
liveness_probe object Configuración del sondeo de ejecución para supervisar el estado del contenedor con regularidad. Consulte ProbeSettings para ver el conjunto de propiedades configurables.
readiness_probe object Configuración de sondeo de preparación para validar si el contenedor está listo para atender el tráfico. Consulte ProbeSettings para ver el conjunto de propiedades configurables.
request_settings object Configuración de la solicitud para la implementación. Consulte RequestSettings para ver el conjunto de propiedades configurables.

ProbeSettings

Key Tipo Descripción Valor predeterminado
failure_threshold integer Cuando se produce un error en un sondeo, el sistema intenta failure_threshold tiempos antes de renunciar. Renunciar en el caso de un sondeo de ejecución significa que se reinicia el contenedor. En el caso de un sondeo de preparación, el contenedor se marca como No leído. El valor mínimo es 1. 30
initial_delay integer Número de segundos después de que se haya iniciado el contenedor antes de iniciar el sondeo. El valor mínimo es 1. 10
method string Método HTTP que se va a usar para el sondeo.
path string Ruta de acceso del sondeo.
period integer Frecuencia (en segundos) para realizar el sondeo. 10
port integer Puerto que se va a sondear.
scheme string Esquema que se va a usar para el sondeo (por ejemplo, HTTP o HTTPS).
success_threshold integer El número mínimo de valores correctos consecutivos para que el sondeo se considere correcto después de que se haya producido un error. El valor mínimo es 1. 1
timeout integer Número de segundos después del cual se agota el tiempo de espera del sondeo. El valor mínimo es 1. 2

RequestSettings

Key Tipo Descripción Valor predeterminado
request_timeout_ms integer Tiempo de espera de la solicitud en milisegundos. 5000
max_concurrent_requests_per_instance integer Número máximo de solicitudes simultáneas por instancia permitidas para la implementación. 1

Remarks

Las plantillas de implementación proporcionan una configuración reutilizable para implementar modelos. Definen el entorno, la configuración de infraestructura y las configuraciones de sondeo que se pueden aplicar al crear implementaciones.

Ejemplos

A continuación se muestran ejemplos.

YAML: básico

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template
version: 1
description: Basic deployment template example
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 5001

YAML: con variables de entorno y sondeos

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template
version: 1
description: Deployment template with environment variables and health probes
display_name: My deployment template
deployment_template_type: Managed
environment: azureml://registries/azureml/environments/minimal-ubuntu20.04-py38-cpu-inference/versions/latest
environment_variables:
  MODEL_PATH: /var/azureml-app/model
  SCORING_TIMEOUT: "60"
instance_count: 3
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 8080
liveness_probe:
  initial_delay: 30
  period: 10
  timeout: 2
  success_threshold: 1
  failure_threshold: 3
readiness_probe:
  initial_delay: 10
  period: 5
  timeout: 2
  success_threshold: 1
  failure_threshold: 3
request_settings:
  request_timeout_ms: 10000
  max_concurrent_requests_per_instance: 2

YAML: con tipos de instancia permitidos

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-restricted
version: 1
description: Deployment template with instance type restrictions
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
allowed_instance_types:
  - Standard_DS3_v2
  - Standard_DS4_v2
scoring_path: /score
scoring_port: 5001

YAML: con tipos de instancia permitidos (lista)

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-multi
version: 1
description: Deployment template that allows multiple instance types
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
allowed_instance_types:
  - Standard_DS3_v2
  - Standard_DS4_v2
  - Standard_DS5_v2
scoring_path: /score
scoring_port: 5001

YAML: con la ruta de montaje del modelo

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-custom-mount
version: 1
description: Deployment template with custom model mount path
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 5001
model_mount_path: /var/azureml-app/models

Pasos siguientes