Actualización de puntos de conexión de canalización a SDK v2

Una vez que tenga una canalización en funcionamiento, puede publicarla para que se ejecute con diferentes entradas. Esto se conoce como Canalizaciones publicadas.

¿Qué ha cambiado?

El punto de conexión de Batch propone una manera similar y más eficaz de controlar varios recursos que se ejecutan en una API duradera, por lo que la funcionalidad Canalizaciones publicadas se movió a implementaciones de componentes de canalización en puntos de conexión por lotes.

Los puntos de conexión por lotes desacoplan la interfaz (punto de conexión) de la implementación real (implementación) y permiten al usuario decidir qué implementación sirve para la implementación predeterminada del punto de conexión. Las implementaciones de componentes de canalización en puntos de conexión por lotes permiten a los usuarios implementar componentes de canalización en lugar de canalizaciones, lo que mejora el uso de recursos reutilizables para esas organizaciones que buscan simplificar su práctica de MLOps.

En la tabla siguiente se muestra una comparación de cada uno de los conceptos:

Concepto SDK v1 SDK v2
Punto de conexión de REST de la canalización para la invocación Punto de conexión de canalización Punto de conexión por lotes
Versión específica de la canalización en el punto de conexión Canalización publicada Implementación de componentes de canalización
Argumentos de canalización en la invocación Parámetro Pipeline Entradas de trabajo
Trabajo generado a partir de una canalización publicada Trabajo de canalización Trabajo por lotes

Para obtener información sobre cómo crear la primera implementación de componentes de canalización, consulte Implementación de canalizaciones en puntos de conexión por lotes.

Mover a puntos de conexión por lotes

Use las instrucciones siguientes para obtener información sobre cómo mover de SDK v1 a SDK v2 mediante los conceptos de puntos de conexión por lotes.

Publicar una canalización

Compare cómo ha cambiado la publicación de una canalización de v1 a v2:

  1. En primer lugar, es necesario obtener la canalización que queremos publicar:

    pipeline1 = Pipeline(workspace=ws, steps=[step1, step2])
    
  2. Podemos publicar la canalización de la siguiente manera:

    from azureml.pipeline.core import PipelineEndpoint
    
    endpoint_name = "PipelineEndpointTest"
    pipeline_endpoint = PipelineEndpoint.publish(
        workspace=ws, 
        name=endpoint_name,
        pipeline=pipeline, 
        description="A hello world endpoint for component deployments"
    )
    

Envío de un trabajo a un punto de conexión de canalización

Para llamar a la versión predeterminada de la canalización, puede usar:

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name="PipelineEndpointTest")
run_id = pipeline_endpoint.submit("PipelineEndpointExperiment")

También puede enviar un trabajo a una versión específica:

run_id = pipeline_endpoint.submit(endpoint_name, pipeline_version="0")

Obtención de todas las canalizaciones implementadas

all_pipelines = PublishedPipeline.get_all(ws)

Mediante la API de REST

Puede crear trabajos a partir de los puntos de conexión mediante la API de REST de la dirección URL de invocación. Consulte los ejemplos siguientes para ver cómo ha cambiado la invocación de v1 a v2.

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name=endpoint_name)
rest_endpoint = pipeline_endpoint.endpoint

response = requests.post(
    rest_endpoint, 
    headers=aad_token, 
    json={
        "ExperimentName": "PipelineEndpointExperiment",
        "RunSource": "API",
        "ParameterAssignments": {"argument1": "united", "argument2":45}
    }
)

Pasos siguientes